[PATCH 4/5] add new essence container uls and wrapping methods
storyparts
storyparts
Thu Apr 15 12:05:09 CEST 2010
---
libavformat/mxfdec.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 54 insertions(+), 3 deletions(-)
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 1cd15ac..b3a88e6 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -137,6 +137,14 @@ typedef struct {
enum MXFWrappingScheme {
Frame,
Clip,
+ Custom,
+ CustomStripe,
+ CustomPES,
+ CustomFixedAudioSize,
+ CustomSplice,
+ CustomClosedGOP,
+ CustomSlave,
+ CustomUnconstrained,
};
typedef struct {
@@ -662,17 +670,60 @@ static void *mxf_resolve_strong_ref(MXFContext *mxf, UID *strong_ref, enum MXFMe
static const MXFContainerUL mxf_essence_container_uls[] = {
// video essence container uls
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x01 }, 16, CODEC_ID_MPEG2VIDEO, Frame }, /* MPEG-ES Frame wrapped */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x02 }, 16, CODEC_ID_MPEG2VIDEO, Clip }, /* Clip-wrapped MPEG-ES VideoStream-0 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x03 }, 16, CODEC_ID_MPEG2VIDEO, CustomStripe }, /* CustomStripe-wrapped MPEG-ES VideoStream-0 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x04 }, 16, CODEC_ID_MPEG2VIDEO, CustomPES }, /* CustomPES-wrapped MPEG-ES VideoStream-0 SID */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x05 }, 16, CODEC_ID_MPEG2VIDEO, CustomFixedAudioSize }, /* CustomFixedAudioSize-wrapped MPEG-ES VideoStream-0 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x06 }, 16, CODEC_ID_MPEG2VIDEO, CustomSplice }, /* CustomSplice-wrapped MPEG-ES VideoStream-0 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x07 }, 16, CODEC_ID_MPEG2VIDEO, CustomClosedGOP }, /* CustomClosedGOP-wrapped MPEG-ES VideoStream-0 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x08 }, 16, CODEC_ID_MPEG2VIDEO, CustomSlave }, /* CustomSlave-wrapped MPEG-ES VideoStream-0 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x7F }, 16, CODEC_ID_MPEG2VIDEO, CustomUnconstrained }, /* CustomUnconstrained-wrapped MPEG-ES VideoStream-0 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x01 }, 16, CODEC_ID_MPEG2VIDEO, Frame }, /* Frame-wrapped MPEG-ES VideoStream-1 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x02 }, 16, CODEC_ID_MPEG2VIDEO, Clip }, /* Clip-wrapped MPEG-ES VideoStream-1 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x03 }, 16, CODEC_ID_MPEG2VIDEO, CustomStripe }, /* CustomStripe-wrapped MPEG-ES VideoStream-1 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x04 }, 16, CODEC_ID_MPEG2VIDEO, CustomPES }, /* CustomPES-wrapped MPEG-ES VideoStream-1 SID */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x05 }, 16, CODEC_ID_MPEG2VIDEO, CustomFixedAudioSize }, /* CustomFixedAudioSize-wrapped MPEG-ES VideoStream-1 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x06 }, 16, CODEC_ID_MPEG2VIDEO, CustomSplice }, /* CustomSplice-wrapped MPEG-ES VideoStream-1 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x07 }, 16, CODEC_ID_MPEG2VIDEO, CustomClosedGOP }, /* CustomClosedGOP-wrapped MPEG-ES VideoStream-1 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x08 }, 16, CODEC_ID_MPEG2VIDEO, CustomSlave }, /* CustomSlave-wrapped MPEG-ES VideoStream-1 */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x7F }, 16, CODEC_ID_MPEG2VIDEO, CustomUnconstrained }, /* CustomUnconstrained-wrapped MPEG-ES VideoStream-1 */
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0xe0,0x02 }, 16, CODEC_ID_MPEG2VIDEO, Clip }, /* MPEG-ES Clip wrapped, 0xe0 MPV stream id */
- { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x04,0x61,0x07 }, 16, CODEC_ID_MPEG2VIDEO, Clip }, /* MPEG-ES Custom wrapped, 0x61 ??? stream id */
- { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x41,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* DV 625 25mbps */
- { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x3F,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* DV IEC 625 25mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x02,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped IEC-DV 625x50I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x02,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped IEC-DV 625x50I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x03,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped IEC-DV 525x59.94I 25Mbps SMPTE-322M */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x03,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped IEC-DV 525x59.94I 25Mbps SMPTE-322M */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x04,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped IEC-DV 625x50I 25Mbps SMPTE-322M */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x04,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped IEC-DV 625x50I 25Mbps SMPTE-322M */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x3F,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped IEC-DV UndefinedSource 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x3F,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped IEC-DV UndefinedSource 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x40,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 525x59.94I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x40,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped DV-based 525x59.94I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x41,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 625x50I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x41,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped DV-based 625x50I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x41,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 625x50I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x41,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped DV-based 625x50I 25Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x51,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 625x50I 50Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x51,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped DV-based 625x50I 50Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x60,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 1080x59.94I 100Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x60,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped DV-based 1080x59.94I 100Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x61,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 1080x50I 100Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x61,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped DV-based 1080x50I 100Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x62,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 720x59.94P 100Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x62,0x02 }, 16, CODEC_ID_DVVIDEO, Clip }, /* Clip-wrapped DV-based 720x59.94P 100Mbps */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x63,0x01 }, 16, CODEC_ID_DVVIDEO, Frame }, /* Frame-wrapped DV-based 720x50P 100Mbps */
+
// sound essence container uls
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x06,0x01,0x00 }, 16, CODEC_ID_PCM_S16LE, Frame }, /* BWF Frame wrapped */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x06,0x02,0x00 }, 16, CODEC_ID_PCM_S16LE, Clip }, /* Clip-wrapped Broadcast Wave audio data */
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x06,0x03,0x00 }, 16, CODEC_ID_PCM_S16LE, Frame }, /* AES Frame wrapped */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x06,0x04,0x00 }, 16, CODEC_ID_PCM_S16LE, Clip }, /* Clip-wrapped AES3 audio data */
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x40,0x01 }, 16, CODEC_ID_MP2, Frame }, /* MPEG-ES Frame wrapped, 0x40 ??? stream id */
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0xc0,0x01 }, 16, CODEC_ID_MP2, Frame }, /* MPEG-ES Frame wrapped, 0xc0 MPA stream id */
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0xc0,0x02 }, 16, CODEC_ID_MP2, Clip }, /* MPEG-ES Clip wrapped, 0xc0 MPA stream id */
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x01,0x01 }, 14, CODEC_ID_PCM_S16LE, Frame }, /* D-10 Mapping 50Mbps PAL Extended Template */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x0D,0x01,0x03,0x01,0x02,0x0A,0x01,0x00 }, 16, CODEC_ID_PCM_ALAW, Frame }, /* Frame-wrapped A-law Audio */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x0D,0x01,0x03,0x01,0x02,0x0A,0x02,0x00 }, 16, CODEC_ID_PCM_ALAW, Clip }, /* Clip-wrapped A-law Audio */
+ { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x0D,0x01,0x03,0x01,0x02,0x0A,0x03,0x00 }, 16, CODEC_ID_PCM_ALAW, Custom }, /* Custom-wrapped A-law Audio */
{ { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, 16, CODEC_ID_NONE, Frame },
};
--
1.6.6.1
--------------000300090005060804010403
Content-Type: text/x-patch;
name="0005-extend-MXFIndexTableSegment.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="0005-extend-MXFIndexTableSegment.patch"
More information about the ffmpeg-devel
mailing list