Commit ebfd8bba authored by Steve Lhomme's avatar Steve Lhomme

spec: add the bogus 0x53B9 StereoMode that was used in the past

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/foundation_src@696 a6f86f6d-0131-4f8e-9e7b-e335508773d5
parent c27acc1b
......@@ -128,6 +128,7 @@ extern const ebml_context MATROSKA_ContextTrackTranslate;
extern const ebml_context MATROSKA_ContextFlagInterlaced;
extern const ebml_context MATROSKA_ContextStereoMode;
extern const ebml_context MATROSKA_ContextOldStereoMode;
extern const ebml_context MATROSKA_ContextPixelWidth;
extern const ebml_context MATROSKA_ContextPixelHeight;
extern const ebml_context MATROSKA_ContextPixelCropBottom;
......
......@@ -217,6 +217,7 @@ const ebml_semantic EBML_SemanticTrackTranslate[] = {
const ebml_context MATROSKA_ContextTrackTranslate = {0x6624, EBML_MASTER_CLASS, 0, 0, "TrackTranslate", EBML_SemanticTrackTranslate, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextFlagInterlaced = {0x9A, EBML_BOOLEAN_CLASS, 1, (intptr_t)0, "FlagInterlaced", NULL, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextStereoMode = {0x53B8, EBML_INTEGER_CLASS, 1, (intptr_t)0, "StereoMode", NULL, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextOldStereoMode = {0x53B9, EBML_INTEGER_CLASS, 0, 0, "OldStereoMode", NULL, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextPixelWidth = {0xB0, EBML_INTEGER_CLASS, 0, 0, "PixelWidth", NULL, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextPixelHeight = {0xBA, EBML_INTEGER_CLASS, 0, 0, "PixelHeight", NULL, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextPixelCropBottom = {0x54AA, EBML_INTEGER_CLASS, 1, (intptr_t)0, "PixelCropBottom", NULL, EBML_SemanticGlobals, NULL};
......@@ -234,6 +235,7 @@ const ebml_context MATROSKA_ContextFrameRate = {0x2383E3, EBML_FLOAT_CLASS, 0, 0
const ebml_semantic EBML_SemanticVideo[] = {
{1, 1, &MATROSKA_ContextFlagInterlaced, PROFILE_MATROSKA_V1|PROFILE_DIVX},
{0, 1, &MATROSKA_ContextStereoMode, PROFILE_MATROSKA_V1|PROFILE_MATROSKA_V2|PROFILE_DIVX},
{0, 1, &MATROSKA_ContextOldStereoMode, PROFILE_MATROSKA_V1|PROFILE_MATROSKA_V2|PROFILE_MATROSKA_V3|PROFILE_DIVX|PROFILE_WEBM},
{1, 1, &MATROSKA_ContextPixelWidth, 0},
{1, 1, &MATROSKA_ContextPixelHeight, 0},
{0, 1, &MATROSKA_ContextPixelCropBottom, 0},
......
......@@ -343,12 +343,12 @@ META_CLASS(SIZE,sizeof(SpecElement))
META_END(NODE_CLASS)
static void OutputCHeader(textwriter *CFile, const tchar_t *Name, bool_t WithInclude)
static void OutputCHeader(textwriter *CFile, bool_t WithInclude)
{
TextWrite(CFile, T("/*\n"));
TextWrite(CFile, T(" * DO NOT EDIT, GENERATED WITH DATA2LIB2\n"));
TextWrite(CFile, T(" *\n"));
TextPrintf(CFile, T(" * $Id$\n"), Name);
TextPrintf(CFile, T(" * $Id $\n"));
TextWrite(CFile, T(" * Copyright (c) 2008-2011, Matroska (non-profit organisation)\n"));
TextWrite(CFile, T(" * All rights reserved.\n"));
TextWrite(CFile, T(" *\n"));
......@@ -416,7 +416,7 @@ int main(void)
Extras.CurrLevel = -1;
CFile.Stream = OutputC;
OutputCHeader(&CFile, T("matroska_sem.c"), 1);
OutputCHeader(&CFile, 1);
for (element=ARRAYBEGIN(Elements,SpecElement*); element!=ARRAYEND(Elements,SpecElement*);++element) {
if ((element+1) == ARRAYEND(Elements,SpecElement*))
......@@ -433,7 +433,7 @@ int main(void)
Extras.CurrLevel = -1;
CFile.Stream = OutputH;
OutputCHeader(&CFile, T("matroska_sem.h"), 0);
OutputCHeader(&CFile, 0);
TextWrite(&CFile, T("#ifndef MATROSKA_SEMANTIC_H\n"));
TextWrite(&CFile, T("#define MATROSKA_SEMANTIC_H\n\n"));
......
......@@ -104,6 +104,7 @@
<element name="Video" level="3" id="0xE0" type="master" minver="1">Video settings.</element>
<element name="FlagInterlaced" level="4" id="0x9A" type="uinteger" mandatory="1" minver="2" webm="1" default="0" range="0-1">Set if the video is interlaced. (1 bit)</element>
<element name="StereoMode" level="4" id="0x53B8" type="uinteger" minver="3" webm="1" default="0">Stereo-3D video mode (0: mono, 1: side by side (left eye is first), 2: top-bottom (right eye is first), 3: top-bottom (left eye is first), 4: checkboard (right is first), 5: checkboard (left is first), 6: row interleaved (right is first), 7: row interleaved (left is first), 8: column interleaved (right is first), 9: column interleaved (left is first), 10: anaglyph (cyan/red), 11: side by side (right eye is first), 12: anaglyph (green/magenta)) . There are some more details on <a href="http://www.matroska.org/technical/specs/notes.html#3D">3D support in the Specification Notes</a>.</element>
<element name="OldStereoMode" level="4" id="0x53B9" type="uinteger" maxver="0" webm="0" divx="0">Bogus StereoMode value used in old versions of libmatroska. DO NOT USE. (0: mono, 1: right eye, 2: left eye, 3: both eyes).</element>
<element name="PixelWidth" level="4" id="0xB0" type="uinteger" mandatory="1" minver="1" range="not 0">Width of the encoded video frames in pixels.</element>
<element name="PixelHeight" level="4" id="0xBA" type="uinteger" mandatory="1" minver="1" range="not 0">Height of the encoded video frames in pixels.</element>
<element name="PixelCropBottom" level="4" id="0x54AA" type="uinteger" minver="1" default="0">The number of video pixels to remove at the bottom of the image (for HDTV content).</element>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment