]> granicus.if.org Git - libmatroska/commitdiff
add colour-related elements from latest specdata.xml
authorMoritz Bunkus <moritz@bunkus.org>
Sun, 24 Apr 2016 20:32:12 +0000 (22:32 +0200)
committerMoritz Bunkus <moritz@bunkus.org>
Sun, 24 Apr 2016 20:32:39 +0000 (22:32 +0200)
ChangeLog
matroska/KaxSemantic.h
src/KaxSemantic.cpp

index 3f34d22190c1918e0e5c4851286164165242f482..b9c46cc0814650e5252cd4c6eb22bddf76bd1d51 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-04-24  Moritz Bunkus  <moritz@bunkus.org>
+
+        * KaxSemantic: add new colour-related elements.
+
 2016-04-01  Steve Lhomme  <slhomme@matroska.org>
 
         * KaxSemantic: add the new FieldOrder element.
index a4923f79b787c2d3cff2e5136b74f33cc1cca506..61035b892a2d134ce355c9d89f294fbd6740fb47 100644 (file)
@@ -396,6 +396,83 @@ DECLARE_MKX_FLOAT(KaxVideoFrameRate)
 public:
   filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
 };
+
+DECLARE_MKX_MASTER(KaxVideoColour)
+};
+
+
+DECLARE_MKX_UINTEGER(KaxVideoColourMatrix)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoBitsPerChannel)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoChromaSubsampHorz)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoChromaSubsampVert)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoCbSubsampHorz)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoCbSubsampVert)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoChromaSitHorz)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoChromaSitVert)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoColourRange)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoColourTransferCharacter)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoColourPrimaries)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoColourMaxCLL)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoColourMaxFALL)
+};
+
+DECLARE_MKX_MASTER(KaxVideoColourMasterMeta)
+};
+
+
+DECLARE_MKX_FLOAT(KaxVideoRChromaX)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoRChromaY)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoGChromaX)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoGChromaY)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoBChromaX)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoBChromaY)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoWhitePointChromaX)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoWhitePointChromaY)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoLuminanceMax)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoLuminanceMin)
+};
 #endif
 
 DECLARE_MKX_MASTER(KaxTrackAudio)
index 80d64ca65a995488974de7866d182cc902788839..bb242c2eb882bcd62185b1e8b55f08c1868e7565 100644 (file)
@@ -355,6 +355,7 @@ DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourSpace)
 #if MATROSKA_VERSION >= 2
 DEFINE_SEMANTIC_ITEM(false, true, KaxVideoGamma) // not supported
 DEFINE_SEMANTIC_ITEM(false, true, KaxVideoFrameRate) // not supported
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColour)
 #endif // MATROSKA_VERSION
 DEFINE_END_SEMANTIC(KaxTrackVideo)
 
@@ -380,6 +381,63 @@ DEFINE_MKX_BINARY (KaxVideoColourSpace, 0x2EB524, 3, KaxTrackVideo, "VideoColour
 #if MATROSKA_VERSION >= 2
 DEFINE_MKX_FLOAT(KaxVideoGamma, 0x2FB523, 3, KaxTrackVideo, "VideoGamma");
 DEFINE_MKX_FLOAT(KaxVideoFrameRate, 0x2383E3, 3, KaxTrackVideo, "VideoFrameRate");
+
+DEFINE_START_SEMANTIC(KaxVideoColour)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourMatrix)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoBitsPerChannel)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoChromaSubsampHorz)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoChromaSubsampVert)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoCbSubsampHorz)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoCbSubsampVert)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoChromaSitHorz)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoChromaSitVert)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourRange)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourTransferCharacter)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourPrimaries)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourMaxCLL)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourMaxFALL)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourMasterMeta)
+DEFINE_END_SEMANTIC(KaxVideoColour)
+
+DEFINE_MKX_MASTER(KaxVideoColour, 0x55B0, 2, KaxTrackVideo, "VideoColour");
+DEFINE_MKX_UINTEGER_DEF(KaxVideoColourMatrix, 0x55B1, 2, KaxVideoColour, "VideoColourMatrix", 2);
+DEFINE_MKX_UINTEGER_DEF(KaxVideoBitsPerChannel, 0x55B2, 2, KaxVideoColour, "VideoBitsPerChannel", 0);
+DEFINE_MKX_UINTEGER(KaxVideoChromaSubsampHorz, 0x55B3, 2, KaxVideoColour, "VideoChromaSubsampHorz");
+DEFINE_MKX_UINTEGER(KaxVideoChromaSubsampVert, 0x55B4, 2, KaxVideoColour, "VideoChromaSubsampVert");
+DEFINE_MKX_UINTEGER(KaxVideoCbSubsampHorz, 0x55B5, 2, KaxVideoColour, "VideoCbSubsampHorz");
+DEFINE_MKX_UINTEGER(KaxVideoCbSubsampVert, 0x55B6, 2, KaxVideoColour, "VideoCbSubsampVert");
+DEFINE_MKX_UINTEGER_DEF(KaxVideoChromaSitHorz, 0x55B7, 2, KaxVideoColour, "VideoChromaSitHorz", 0);
+DEFINE_MKX_UINTEGER_DEF(KaxVideoChromaSitVert, 0x55B8, 2, KaxVideoColour, "VideoChromaSitVert", 0);
+DEFINE_MKX_UINTEGER_DEF(KaxVideoColourRange, 0x55B9, 2, KaxVideoColour, "VideoColourRange", 0);
+DEFINE_MKX_UINTEGER_DEF(KaxVideoColourTransferCharacter, 0x55BA, 2, KaxVideoColour, "VideoColourTransferCharacter", 2);
+DEFINE_MKX_UINTEGER_DEF(KaxVideoColourPrimaries, 0x55BB, 2, KaxVideoColour, "VideoColourPrimaries", 2);
+DEFINE_MKX_UINTEGER(KaxVideoColourMaxCLL, 0x55BC, 2, KaxVideoColour, "VideoColourMaxCLL");
+DEFINE_MKX_UINTEGER(KaxVideoColourMaxFALL, 0x55BD, 2, KaxVideoColour, "VideoColourMaxFALL");
+
+DEFINE_START_SEMANTIC(KaxVideoColourMasterMeta)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoRChromaX)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoRChromaY)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoGChromaX)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoGChromaY)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoBChromaX)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoBChromaY)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoWhitePointChromaX)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoWhitePointChromaY)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoLuminanceMax)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoLuminanceMin)
+DEFINE_END_SEMANTIC(KaxVideoColourMasterMeta)
+
+DEFINE_MKX_MASTER(KaxVideoColourMasterMeta, 0x55D0, 2, KaxVideoColour, "VideoColourMasterMeta");
+DEFINE_MKX_FLOAT(KaxVideoRChromaX, 0x55D1, 2, KaxVideoColourMasterMeta, "VideoRChromaX");
+DEFINE_MKX_FLOAT(KaxVideoRChromaY, 0x55D2, 2, KaxVideoColourMasterMeta, "VideoRChromaY");
+DEFINE_MKX_FLOAT(KaxVideoGChromaX, 0x55D3, 2, KaxVideoColourMasterMeta, "VideoGChromaX");
+DEFINE_MKX_FLOAT(KaxVideoGChromaY, 0x55D4, 2, KaxVideoColourMasterMeta, "VideoGChromaY");
+DEFINE_MKX_FLOAT(KaxVideoBChromaX, 0x55D5, 2, KaxVideoColourMasterMeta, "VideoBChromaX");
+DEFINE_MKX_FLOAT(KaxVideoBChromaY, 0x55D6, 2, KaxVideoColourMasterMeta, "VideoBChromaY");
+DEFINE_MKX_FLOAT(KaxVideoWhitePointChromaX, 0x55D7, 2, KaxVideoColourMasterMeta, "VideoWhitePointChromaX");
+DEFINE_MKX_FLOAT(KaxVideoWhitePointChromaY, 0x55D8, 2, KaxVideoColourMasterMeta, "VideoWhitePointChromaY");
+DEFINE_MKX_FLOAT(KaxVideoLuminanceMax, 0x55D9, 2, KaxVideoColourMasterMeta, "VideoLuminanceMax");
+DEFINE_MKX_FLOAT(KaxVideoLuminanceMin, 0x55DA, 2, KaxVideoColourMasterMeta, "VideoLuminanceMin");
 #endif
 
 DEFINE_START_SEMANTIC(KaxTrackAudio)