]> granicus.if.org Git - libmatroska/commitdiff
add 360°/VR elements
authorSteve Lhomme <robux4@gmail.com>
Mon, 5 Dec 2016 13:22:45 +0000 (14:22 +0100)
committerSteve Lhomme <slhomme@matroska.org>
Mon, 5 Dec 2016 15:43:53 +0000 (16:43 +0100)
manually edited until the new XML Schema format is processed correctly

configure.ac
matroska/KaxSemantic.h
matroska/KaxVersion.h
src/KaxSemantic.cpp

index 913aee57580e9512fc75ac2ed51f531576beda9d..17e17bf287724496fa3c484dd22f7d14d1382bfe 100644 (file)
@@ -1,4 +1,4 @@
-AC_INIT([libmatroska], [1.4.5])
+AC_INIT([libmatroska], [1.4.6])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([m4])
index 61035b892a2d134ce355c9d89f294fbd6740fb47..344b74fc64ecee453a865a677ed28b7f214e007b 100644 (file)
@@ -816,6 +816,25 @@ DECLARE_MKX_UNISTRING(KaxTagString)
 DECLARE_MKX_BINARY (KaxTagBinary)
 };
 
+
+DECLARE_MKX_MASTER(KaxVideoProjection)
+};
+
+DECLARE_MKX_UINTEGER(KaxVideoProjectionType)
+};
+
+DECLARE_MKX_BINARY(KaxVideoProjectionPrivate)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoProjectionPoseYaw)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoProjectionPosePitch)
+};
+
+DECLARE_MKX_FLOAT(KaxVideoProjectionPoseRoll)
+};
+
 END_LIBMATROSKA_NAMESPACE
 
 #endif // LIBMATROSKA_SEMANTIC_H
index 13160e8d553a5792644fdc1b244d7fe5432a82dd..e04770daa38edd0db2ef11fa130e90798604873f 100644 (file)
@@ -40,7 +40,7 @@
 
 START_LIBMATROSKA_NAMESPACE
 
-#define LIBMATROSKA_VERSION 0x010405
+#define LIBMATROSKA_VERSION 0x010406
 
 extern const std::string KaxCodeVersion;
 extern const std::string KaxCodeDate;
index bb242c2eb882bcd62185b1e8b55f08c1868e7565..4c9d94a2cf89e2dff889d72c211c450c114c5f1f 100644 (file)
@@ -356,6 +356,8 @@ DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourSpace)
 DEFINE_SEMANTIC_ITEM(false, true, KaxVideoGamma) // not supported
 DEFINE_SEMANTIC_ITEM(false, true, KaxVideoFrameRate) // not supported
 DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColour)
+
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoProjection)
 #endif // MATROSKA_VERSION
 DEFINE_END_SEMANTIC(KaxTrackVideo)
 
@@ -438,6 +440,21 @@ DEFINE_MKX_FLOAT(KaxVideoWhitePointChromaX, 0x55D7, 2, KaxVideoColourMasterMeta,
 DEFINE_MKX_FLOAT(KaxVideoWhitePointChromaY, 0x55D8, 2, KaxVideoColourMasterMeta, "VideoWhitePointChromaY");
 DEFINE_MKX_FLOAT(KaxVideoLuminanceMax, 0x55D9, 2, KaxVideoColourMasterMeta, "VideoLuminanceMax");
 DEFINE_MKX_FLOAT(KaxVideoLuminanceMin, 0x55DA, 2, KaxVideoColourMasterMeta, "VideoLuminanceMin");
+
+DEFINE_START_SEMANTIC(KaxVideoProjection)
+DEFINE_SEMANTIC_ITEM(true, true, KaxVideoProjectionType)
+DEFINE_SEMANTIC_ITEM(false, true, KaxVideoProjectionPrivate)
+DEFINE_SEMANTIC_ITEM(true, true, KaxVideoProjectionPoseYaw)
+DEFINE_SEMANTIC_ITEM(true, true, KaxVideoProjectionPosePitch)
+DEFINE_SEMANTIC_ITEM(true, true, KaxVideoProjectionPoseRoll)
+DEFINE_END_SEMANTIC(KaxVideoProjection)
+
+DEFINE_MKX_MASTER(KaxVideoProjection, 0x7670, 2, KaxTrackVideo, "Projection");
+DEFINE_MKX_UINTEGER_DEF(KaxVideoProjectionType, 0x7671, 2, KaxVideoProjection, "ProjectionType", 0);
+DEFINE_MKX_BINARY(KaxVideoProjectionPrivate, 0x7672, 2, KaxVideoProjection, "ProjectionPrivate");
+DEFINE_MKX_FLOAT_DEF(KaxVideoProjectionPoseYaw, 0x7673, 2, KaxVideoProjection, "ProjectionPoseYaw", 0);
+DEFINE_MKX_FLOAT_DEF(KaxVideoProjectionPosePitch, 0x7674, 2, KaxVideoProjection, "ProjectionPosePitch", 0);
+DEFINE_MKX_FLOAT_DEF(KaxVideoProjectionPoseRoll, 0x7675, 2, KaxVideoProjection, "ProjectionPoseRoll", 0);
 #endif
 
 DEFINE_START_SEMANTIC(KaxTrackAudio)