]> granicus.if.org Git - libmatroska/commitdiff
libmatroska: add KaxTrackOperation and related elements for combined stereo/3D tracks...
authorSteve Lhomme <slhomme@matroska.org>
Sun, 5 Sep 2010 09:27:51 +0000 (09:27 +0000)
committerSteve Lhomme <slhomme@matroska.org>
Sun, 5 Sep 2010 09:27:51 +0000 (09:27 +0000)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@545 a6f86f6d-0131-4f8e-9e7b-e335508773d5

ChangeLog
matroska/KaxTracks.h
src/KaxTracks.cpp

index 8f6652ccf6228c9c7b65d1e7fd3c14bb40da35f2..f7e1e5c02775fddb4d5df8cf454140e30459905e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,7 +5,7 @@ New 1.1.0 version:
     - remove all references to the old/outdated/previous tag system
     - add the possibility for a DataBuffer class to use its own internal memory
     - KaxCues::AddBlockGroup() was removed as it's broken beyond repair
-    - add KaxTrackDependency and related elements for combined stereo/3D tracks
+    - add KaxTrackOperation and related elements for combined stereo/3D tracks or joined virtual tracks
 
 2010-06-04 robux4/mosu
 New 1.0.0 version:
index a7a4b8f27f055dc0f2e18942dee04a3e0ccabca9..30223b168ba4be5abedc94af85d714cb908df77d 100644 (file)
@@ -77,19 +77,25 @@ DECLARE_MKX_MASTER(KaxTrackEntry)
 };
 
 #if MATROSKA_VERSION >= 2
-DECLARE_MKX_MASTER(KaxTrackDependency)
+DECLARE_MKX_MASTER(KaxTrackOperation)
 };
 
-DECLARE_MKX_UINTEGER(KaxTrackDependencyType)
+DECLARE_MKX_MASTER(KaxTrackCombinePlanes)
 };
 
-DECLARE_MKX_MASTER(KaxTrackDependencyItem)
+DECLARE_MKX_MASTER(KaxTrackPlane)
 };
 
-DECLARE_MKX_UINTEGER(KaxTrackDependencyUID)
+DECLARE_MKX_UINTEGER(KaxTrackPlaneUID)
 };
 
-DECLARE_MKX_UINTEGER(KaxTrackDependencyStereoPos)
+DECLARE_MKX_UINTEGER(KaxTrackPlaneType)
+};
+
+DECLARE_MKX_MASTER(KaxTrackJoinBlocks)
+};
+
+DECLARE_MKX_UINTEGER(KaxTrackJoinUID)
 };
 #endif
 
index 81b77d5b8107d844d72fda38fb98fb21c59b009a..7da64e6452806e37c043f0a5b1da4fd686e3c080 100644 (file)
@@ -46,9 +46,6 @@ START_LIBMATROSKA_NAMESPACE
 
 DEFINE_START_SEMANTIC(KaxTracks)
 DEFINE_SEMANTIC_ITEM(true, false, KaxTrackEntry)
-#if MATROSKA_VERSION >= 2
-DEFINE_SEMANTIC_ITEM(false, false, KaxTrackDependency)
-#endif
 DEFINE_END_SEMANTIC(KaxTracks)
 
 DEFINE_START_SEMANTIC(KaxTrackEntry)
@@ -83,27 +80,40 @@ DEFINE_SEMANTIC_ITEM(false, false, KaxTrackTranslate)
 DEFINE_SEMANTIC_ITEM(false, true, KaxTrackAudio)
 DEFINE_SEMANTIC_ITEM(false, true, KaxTrackVideo)
 DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncodings)
+#if MATROSKA_VERSION >= 2
+DEFINE_SEMANTIC_ITEM(false, true, KaxTrackOperation)
+#endif
 DEFINE_END_SEMANTIC(KaxTrackEntry)
 
 DEFINE_MKX_MASTER     (KaxTracks, 0x1654AE6B, 4, KaxSegment, "Tracks");
 DEFINE_MKX_MASTER_CONS(KaxTrackEntry,   0xAE, 1, KaxTracks, "TrackEntry");
 
 #if MATROSKA_VERSION >= 2
-DEFINE_START_SEMANTIC(KaxTrackDependency)
-DEFINE_SEMANTIC_ITEM(true, true, KaxTrackDependencyType)
-DEFINE_SEMANTIC_ITEM(true, false, KaxTrackDependencyItem)
-DEFINE_END_SEMANTIC(KaxTrackDependency)
+DEFINE_START_SEMANTIC(KaxTrackOperation)
+DEFINE_SEMANTIC_ITEM(false, true, KaxTrackCombinePlanes)
+DEFINE_SEMANTIC_ITEM(false, true, KaxTrackJoinBlocks)
+DEFINE_END_SEMANTIC(KaxTrackOperation)
+
+DEFINE_START_SEMANTIC(KaxTrackCombinePlanes)
+DEFINE_SEMANTIC_ITEM(true, false, KaxTrackPlane)
+DEFINE_END_SEMANTIC(KaxTrackCombinePlanes)
+
+DEFINE_START_SEMANTIC(KaxTrackPlane)
+DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneUID)
+DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneType)
+DEFINE_END_SEMANTIC(KaxTrackPlane)
 
-DEFINE_START_SEMANTIC(KaxTrackDependencyItem)
-DEFINE_SEMANTIC_ITEM(true, true, KaxTrackDependencyUID)
-DEFINE_SEMANTIC_ITEM(false, true, KaxTrackDependencyStereoPos)
-DEFINE_END_SEMANTIC(KaxTrackDependencyItem)
+DEFINE_START_SEMANTIC(KaxTrackJoinBlocks)
+DEFINE_SEMANTIC_ITEM(true, false, KaxTrackJoinUID)
+DEFINE_END_SEMANTIC(KaxTrackJoinBlocks)
 
-DEFINE_MKX_MASTER  (KaxTrackDependency,          0xE2, 1, KaxTracks, "TrackDependency");
-DEFINE_MKX_UINTEGER(KaxTrackDependencyType,      0xE3, 1, KaxTrackDependency, "TrackDependencyType");
-DEFINE_MKX_MASTER  (KaxTrackDependencyItem,      0xE4, 1, KaxTrackDependency, "TrackDependencyItem");
-DEFINE_MKX_UINTEGER(KaxTrackDependencyUID,       0xE5, 1, KaxTrackDependencyItem, "TrackDependencyUID");
-DEFINE_MKX_UINTEGER(KaxTrackDependencyStereoPos, 0xE9, 1, KaxTrackDependencyItem, "TrackDependencyStereoPos");
+DEFINE_MKX_MASTER  (KaxTrackOperation,     0xE2, 1, KaxTracks, "TrackOperation");
+DEFINE_MKX_MASTER  (KaxTrackCombinePlanes, 0xE3, 1, KaxTrackOperation, "TrackCombinePlanes");
+DEFINE_MKX_MASTER  (KaxTrackPlane,         0xE4, 1, KaxTrackCombinePlanes, "TrackPlane");
+DEFINE_MKX_UINTEGER(KaxTrackPlaneUID,      0xE5, 1, KaxTrackPlane, "TrackPlaneUID");
+DEFINE_MKX_UINTEGER(KaxTrackPlaneType,     0xE6, 1, KaxTrackPlane, "TrackPlaneType");
+DEFINE_MKX_MASTER  (KaxTrackJoinBlocks,    0xE9, 1, KaxTrackOperation, "TrackJoinBlocks");
+DEFINE_MKX_UINTEGER(KaxTrackJoinUID,       0xED, 1, KaxTrackJoinBlocks, "TrackJoinUID");
 #endif
 
 KaxTrackEntry::KaxTrackEntry(EBML_EXTRA_DEF)