Commit 490a0a30 authored by Steve Lhomme's avatar Steve Lhomme

libmatroska2: add the new TrackDependency elements for combined 3D tracks

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/foundation_src@479 a6f86f6d-0131-4f8e-9e7b-e335508773d5
parent 619969d5
......@@ -449,8 +449,27 @@ const ebml_semantic EBML_SemanticTrackEntry[] = {
};
const ebml_context MATROSKA_ContextTrackEntry = {0xAE, EBML_MASTER_CLASS, 0, 0, "TrackEntry", EBML_SemanticTrackEntry, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextTrackDependencyUID = {0xE5, EBML_INTEGER_CLASS, 0, 0, "TrackDependencyUID", NULL, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextTrackDependencyStereoPos = {0xE9, EBML_INTEGER_CLASS, 0, 0, "TrackDependencyStereoPos", NULL, EBML_SemanticGlobals, NULL};
const ebml_semantic EBML_SemanticTrackDependencyItem[] = {
{1, 1, &MATROSKA_ContextTrackDependencyUID ,PROFILE_MATROSKA_V1|PROFILE_DIVX_V1|PROFILE_WEBM_V1|PROFILE_WEBM_V2},
{0, 1, &MATROSKA_ContextTrackDependencyStereoPos ,PROFILE_MATROSKA_V1|PROFILE_DIVX_V1|PROFILE_WEBM_V1|PROFILE_WEBM_V2},
{0, 0, NULL ,0} // end of the table
};
const ebml_context MATROSKA_ContextTrackDependencyItem = {0xE4, EBML_MASTER_CLASS, 0, 0, "TrackDependencyItem", EBML_SemanticTrackDependencyItem, EBML_SemanticGlobals, NULL};
const ebml_context MATROSKA_ContextTrackDependencyType = {0xE3, EBML_INTEGER_CLASS, 0, 0, "TrackDependencyType", NULL, EBML_SemanticGlobals, NULL};
const ebml_semantic EBML_SemanticTrackDependency[] = {
{1, 1, &MATROSKA_ContextTrackDependencyType ,PROFILE_MATROSKA_V1|PROFILE_DIVX_V1|PROFILE_WEBM_V1|PROFILE_WEBM_V2},
{1, 0, &MATROSKA_ContextTrackDependencyItem ,PROFILE_MATROSKA_V1|PROFILE_DIVX_V1|PROFILE_WEBM_V1|PROFILE_WEBM_V2},
{0, 0, NULL ,0} // end of the table
};
const ebml_context MATROSKA_ContextTrackDependency = {0xE2, EBML_MASTER_CLASS, 0, 0, "TrackDependency", EBML_SemanticTrackDependency, EBML_SemanticGlobals, NULL};
const ebml_semantic EBML_SemanticTracks[] = {
{1, 0, &MATROSKA_ContextTrackEntry ,0},
{1, 0, &MATROSKA_ContextTrackEntry ,0},
{0, 0, &MATROSKA_ContextTrackDependency ,PROFILE_MATROSKA_V1|PROFILE_DIVX_V1|PROFILE_WEBM_V1|PROFILE_WEBM_V2},
{0, 0, NULL ,0} // end of the table
};
const ebml_context MATROSKA_ContextTracks = {0x1654AE6B, EBML_MASTER_CLASS, 0, 0, "Tracks", EBML_SemanticTracks, EBML_SemanticGlobals, NULL};
......
......@@ -34,9 +34,9 @@
/*!
* \todo discards tracks that has the same UID
* \todo remuxing: turn a BlockGroup into a SimpleBlock in v2 profiles and when it makes sense (duration = default track duration) (optimize mode)
* \todo error when an unknown codec (for the profile) is found (option to turn into a warning) (loose mode)
* \todo compute the segment duration based on audio (when it's not set)
* \todo remuxing: turn a BlockGroup into a SimpleBlock in v2 profiles and when it makes sense (duration = default track duration) (optimize mode)
* \todo remuxing: repack audio frames using lacing (no longer than the matching video frame ?) (optimize mode)
* \todo compute the track default duration (when it's not set or not optimal) (optimize mode)
* \todo add a batch mode to treat more than one file at once
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment