[vlc-devel] [PATCH 3/4] contrib: matroska: add 360° elements until libmatroska 1.4.6 is released

Steve Lhomme robux4 at videolabs.io
Tue Dec 6 10:13:26 CET 2016


---
 contrib/src/matroska/VR-elements.patch | 107 +++++++++++++++++++++++++++++++++
 contrib/src/matroska/rules.mak         |   1 +
 2 files changed, 108 insertions(+)
 create mode 100644 contrib/src/matroska/VR-elements.patch

diff --git a/contrib/src/matroska/VR-elements.patch b/contrib/src/matroska/VR-elements.patch
new file mode 100644
index 0000000..bfc44a2
--- /dev/null
+++ b/contrib/src/matroska/VR-elements.patch
@@ -0,0 +1,107 @@
+From 750a3df357a23aa44f25c78bc7a2dccd1c8e74a9 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at gmail.com>
+Date: Mon, 5 Dec 2016 14:22:45 +0100
+Subject: [PATCH] =?UTF-8?q?add=20360=C2=B0/VR=20elements?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+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.10.1.windows.1
+
diff --git a/contrib/src/matroska/rules.mak b/contrib/src/matroska/rules.mak
index 63069f4..24c64f7 100644
--- a/contrib/src/matroska/rules.mak
+++ b/contrib/src/matroska/rules.mak
@@ -13,6 +13,7 @@ $(TARBALLS)/libmatroska-$(MATROSKA_VERSION).tar.bz2:
 
 libmatroska: libmatroska-$(MATROSKA_VERSION).tar.bz2 .sum-matroska
 	$(UNPACK)
+	$(APPLY) $(SRC)/matroska/VR-elements.patch
 	$(call pkg_static,"libmatroska.pc.in")
 	$(MOVE)
 
-- 
2.10.1



More information about the vlc-devel mailing list