From: Steve Lhomme Date: Sun, 5 Sep 2010 09:27:51 +0000 (+0000) Subject: libmatroska: add KaxTrackOperation and related elements for combined stereo/3D tracks... X-Git-Tag: release-1.1.0~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f1349f963948d2da2131650d60fad089a3acb44d;p=libmatroska libmatroska: add KaxTrackOperation and related elements for combined stereo/3D tracks or joined virtual tracks git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@545 a6f86f6d-0131-4f8e-9e7b-e335508773d5 --- diff --git a/ChangeLog b/ChangeLog index 8f6652c..f7e1e5c 100644 --- 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: diff --git a/matroska/KaxTracks.h b/matroska/KaxTracks.h index a7a4b8f..30223b1 100644 --- a/matroska/KaxTracks.h +++ b/matroska/KaxTracks.h @@ -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 diff --git a/src/KaxTracks.cpp b/src/KaxTracks.cpp index 81b77d5..7da64e6 100644 --- a/src/KaxTracks.cpp +++ b/src/KaxTracks.cpp @@ -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)