From 750a3df357a23aa44f25c78bc7a2dccd1c8e74a9 Mon Sep 17 00:00:00 2001 From: Steve Lhomme Date: Mon, 5 Dec 2016 14:22:45 +0100 Subject: [PATCH] =?utf8?q?add=20360=C2=B0/VR=20elements?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit manually edited until the new XML Schema format is processed correctly --- configure.ac | 2 +- matroska/KaxSemantic.h | 19 +++++++++++++++++++ matroska/KaxVersion.h | 2 +- src/KaxSemantic.cpp | 17 +++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 913aee5..17e17bf 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) diff --git a/matroska/KaxSemantic.h b/matroska/KaxSemantic.h index 61035b8..344b74f 100644 --- a/matroska/KaxSemantic.h +++ b/matroska/KaxSemantic.h @@ -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 diff --git a/matroska/KaxVersion.h b/matroska/KaxVersion.h index 13160e8..e04770d 100644 --- a/matroska/KaxVersion.h +++ b/matroska/KaxVersion.h @@ -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; diff --git a/src/KaxSemantic.cpp b/src/KaxSemantic.cpp index bb242c2..4c9d94a 100644 --- a/src/KaxSemantic.cpp +++ b/src/KaxSemantic.cpp @@ -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) -- 2.40.0