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
This commit is contained in:
Steve Lhomme 2010-09-05 09:27:51 +00:00
parent 4aa2a17bab
commit f1349f9639
3 changed files with 38 additions and 22 deletions

View File

@ -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:

View 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

View 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(KaxTrackDependencyItem)
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackDependencyUID)
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackDependencyStereoPos)
DEFINE_END_SEMANTIC(KaxTrackDependencyItem)
DEFINE_START_SEMANTIC(KaxTrackCombinePlanes)
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackPlane)
DEFINE_END_SEMANTIC(KaxTrackCombinePlanes)
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_START_SEMANTIC(KaxTrackPlane)
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneUID)
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneType)
DEFINE_END_SEMANTIC(KaxTrackPlane)
DEFINE_START_SEMANTIC(KaxTrackJoinBlocks)
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackJoinUID)
DEFINE_END_SEMANTIC(KaxTrackJoinBlocks)
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)