libavformat/mxfdec.c File Reference

#include "libavutil/aes.h"
#include "libavutil/mathematics.h"
#include "libavcodec/bytestream.h"
#include "avformat.h"
#include "internal.h"
#include "mxf.h"

Go to the source code of this file.

Data Structures

struct  MXFPartition
struct  MXFCryptoContext
struct  MXFStructuralComponent
struct  MXFSequence
struct  MXFTrack
struct  MXFDescriptor
struct  MXFIndexTableSegment
struct  MXFPackage
struct  MXFMetadataSet
struct  MXFIndexTable
struct  MXFContext
struct  MXFMetadataReadTableEntry

Defines

#define IS_KLV_KEY(x, y)   (!memcmp(x, y, sizeof(y)))

Typedefs

typedef int MXFMetadataReadFunc (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)

Enumerations

enum  MXFPartitionType { Header, BodyPartition, Footer }
enum  MXFOP {
  OP1a = 1, OP1b, OP1c, OP2a,
  OP2b, OP2c, OP3a, OP3b,
  OP3c, OPAtom, OPSONYOpt
}
enum  MXFWrappingScheme { Frame, Clip }

Functions

static int64_t klv_decode_ber_length (AVIOContext *pb)
static int mxf_read_sync (AVIOContext *pb, const uint8_t *key, unsigned size)
static int klv_read_packet (KLVPacket *klv, AVIOContext *pb)
static int mxf_get_stream_index (AVFormatContext *s, KLVPacket *klv)
static int mxf_get_d10_aes3_packet (AVIOContext *pb, AVStream *st, AVPacket *pkt, int64_t length)
static int mxf_decrypt_triplet (AVFormatContext *s, AVPacket *pkt, KLVPacket *klv)
static int mxf_read_primer_pack (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_partition_pack (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_add_metadata_set (MXFContext *mxf, void *metadata_set)
static int mxf_read_cryptographic_context (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_content_storage (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_source_clip (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_material_package (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_track (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_sequence (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_source_package (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_read_index_entry_array (AVIOContext *pb, MXFIndexTableSegment *segment)
static int mxf_read_index_table_segment (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static void mxf_read_pixel_layout (AVIOContext *pb, MXFDescriptor *descriptor)
static int mxf_read_generic_descriptor (void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)
static int mxf_match_uid (const UID key, const UID uid, int len)
static const MXFCodecULmxf_get_codec_ul (const MXFCodecUL *uls, UID *uid)
static void * mxf_resolve_strong_ref (MXFContext *mxf, UID *strong_ref, enum MXFMetadataSetType type)
static int mxf_get_sorted_table_segments (MXFContext *mxf, int *nb_sorted_segments, MXFIndexTableSegment ***sorted_segments)
static int mxf_absolute_bodysid_offset (MXFContext *mxf, int body_sid, int64_t offset, int64_t *offset_out)
 Computes the absolute file offset of the given essence container offset.
static int64_t mxf_essence_container_end (MXFContext *mxf, int body_sid)
 Returns the end position of the essence container with given BodySID, or zero if unknown.
static int mxf_edit_unit_absolute_offset (MXFContext *mxf, MXFIndexTable *index_table, int64_t edit_unit, int64_t *edit_unit_out, int64_t *offset_out, int nag)
static int mxf_compute_ptses_fake_index (MXFContext *mxf, MXFIndexTable *index_table)
static int mxf_compute_index_tables (MXFContext *mxf)
 Sorts and collects index table segments into index tables.
static int mxf_parse_structural_metadata (MXFContext *mxf)
static int mxf_read_local_tags (MXFContext *mxf, KLVPacket *klv, MXFMetadataReadFunc *read_child, int ctx_size, enum MXFMetadataSetType type)
static int mxf_seek_to_previous_partition (MXFContext *mxf)
 Seeks to the previous partition, if possible.
static int mxf_parse_handle_essence (MXFContext *mxf)
 Called when essence is encountered.
static int mxf_parse_handle_partition_or_eof (MXFContext *mxf)
 Called when the next partition or EOF is encountered.
static void mxf_compute_essence_containers (MXFContext *mxf)
 Figures out the proper offset and length of the essence container in each partition.
static int64_t round_to_kag (int64_t position, int kag_size)
static int is_pcm (enum CodecID codec_id)
static void mxf_handle_small_eubc (AVFormatContext *s)
 Deals with the case where for some audio atoms EditUnitByteCount is very small (2, 4.
static int mxf_read_header (AVFormatContext *s, AVFormatParameters *ap)
static void mxf_packet_timestamps (MXFContext *mxf, AVPacket *pkt)
 Computes DTS and PTS for the given video packet based on its offset.
static int mxf_read_packet_old (AVFormatContext *s, AVPacket *pkt)
static int mxf_read_packet (AVFormatContext *s, AVPacket *pkt)
static int mxf_read_close (AVFormatContext *s)
static int mxf_probe (AVProbeData *p)
static int mxf_read_seek (AVFormatContext *s, int stream_index, int64_t sample_time, int flags)

Variables

static const uint8_t mxf_header_partition_pack_key [] = { 0x06,0x0e,0x2b,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x02 }
static const uint8_t mxf_essence_element_key [] = { 0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0d,0x01,0x03,0x01 }
static const uint8_t mxf_avid_essence_element_key [] = { 0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0e,0x04,0x03,0x01 }
static const uint8_t mxf_system_item_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x03,0x01,0x04 }
static const uint8_t mxf_klv_key [] = { 0x06,0x0e,0x2b,0x34 }
static const uint8_t mxf_crypto_source_container_ul [] = { 0x06,0x0e,0x2b,0x34,0x01,0x01,0x01,0x09,0x06,0x01,0x01,0x02,0x02,0x00,0x00,0x00 }
static const uint8_t mxf_encrypted_triplet_key [] = { 0x06,0x0e,0x2b,0x34,0x02,0x04,0x01,0x07,0x0d,0x01,0x03,0x01,0x02,0x7e,0x01,0x00 }
static const uint8_t mxf_encrypted_essence_container [] = { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x07,0x0d,0x01,0x03,0x01,0x02,0x0b,0x01,0x00 }
static const uint8_t mxf_sony_mpeg4_extradata [] = { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x01,0x0e,0x06,0x06,0x02,0x02,0x01,0x00,0x00 }
static const MXFCodecUL mxf_picture_essence_container_uls []
static const MXFCodecUL mxf_sound_essence_container_uls []
static const
MXFMetadataReadTableEntry 
mxf_metadata_read_table []
AVInputFormat ff_mxf_demuxer


Define Documentation

#define IS_KLV_KEY ( x,
 )     (!memcmp(x, y, sizeof(y)))


Typedef Documentation

typedef int MXFMetadataReadFunc(void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset)

Definition at line 219 of file mxfdec.c.


Enumeration Type Documentation

enum MXFOP

Enumerator:
OP1a 
OP1b 
OP1c 
OP2a 
OP2b 
OP2c 
OP3a 
OP3b 
OP3c 
OPAtom 
OPSONYOpt 

Definition at line 61 of file mxfdec.c.

Enumerator:
Header 
BodyPartition 
Footer 

Definition at line 55 of file mxfdec.c.

Enumerator:
Frame 
Clip 

Definition at line 213 of file mxfdec.c.


Function Documentation

static int is_pcm ( enum CodecID  codec_id  )  [static]

Definition at line 1619 of file mxfdec.c.

Referenced by mxf_handle_small_eubc().

static int64_t klv_decode_ber_length ( AVIOContext pb  )  [static]

Definition at line 242 of file mxfdec.c.

Referenced by klv_read_packet(), and mxf_decrypt_triplet().

static int klv_read_packet ( KLVPacket klv,
AVIOContext pb 
) [static]

Definition at line 270 of file mxfdec.c.

Referenced by mxf_read_header(), and mxf_read_packet_old().

static int mxf_absolute_bodysid_offset ( MXFContext mxf,
int  body_sid,
int64_t  offset,
int64_t *  offset_out 
) [static]

Computes the absolute file offset of the given essence container offset.

Definition at line 943 of file mxfdec.c.

Referenced by mxf_edit_unit_absolute_offset().

static int mxf_add_metadata_set ( MXFContext mxf,
void *  metadata_set 
) [static]

Definition at line 534 of file mxfdec.c.

Referenced by mxf_read_local_tags().

static void mxf_compute_essence_containers ( MXFContext mxf  )  [static]

Figures out the proper offset and length of the essence container in each partition.

Definition at line 1582 of file mxfdec.c.

Referenced by mxf_read_header().

static int mxf_compute_index_tables ( MXFContext mxf  )  [static]

Sorts and collects index table segments into index tables.

Also computes PTSes if possible.

Definition at line 1145 of file mxfdec.c.

Referenced by mxf_read_header().

static int mxf_compute_ptses_fake_index ( MXFContext mxf,
MXFIndexTable index_table 
) [static]

We have this:

x TemporalOffset 0: 0 1: 1 2: 1 3: -2 4: 1 5: 1 6: -2

We want to transform it into this:

x DTS PTS 0: -1 0 1: 0 3 2: 1 1 3: 2 2 4: 3 6 5: 4 4 6: 5 5

We do this by bucket sorting x by x+TemporalOffset[x] into mxf->ptses, then settings mxf->first_dts = -max(TemporalOffset[x]). The latter makes DTS <= PTS.

Definition at line 1040 of file mxfdec.c.

Referenced by mxf_compute_index_tables().

static int mxf_decrypt_triplet ( AVFormatContext s,
AVPacket pkt,
KLVPacket klv 
) [static]

Definition at line 324 of file mxfdec.c.

Referenced by mxf_read_packet_old().

static int mxf_edit_unit_absolute_offset ( MXFContext mxf,
MXFIndexTable index_table,
int64_t  edit_unit,
int64_t *  edit_unit_out,
int64_t *  offset_out,
int  nag 
) [static]

Definition at line 992 of file mxfdec.c.

Referenced by mxf_packet_timestamps(), mxf_read_packet(), and mxf_read_seek().

static int64_t mxf_essence_container_end ( MXFContext mxf,
int  body_sid 
) [static]

Returns the end position of the essence container with given BodySID, or zero if unknown.

Definition at line 971 of file mxfdec.c.

Referenced by mxf_read_packet().

static const MXFCodecUL* mxf_get_codec_ul ( const MXFCodecUL uls,
UID uid 
) [static]

Definition at line 842 of file mxfdec.c.

Referenced by mxf_parse_structural_metadata().

static int mxf_get_d10_aes3_packet ( AVIOContext pb,
AVStream st,
AVPacket pkt,
int64_t  length 
) [static]

Definition at line 296 of file mxfdec.c.

Referenced by mxf_read_packet_old().

static int mxf_get_sorted_table_segments ( MXFContext mxf,
int *  nb_sorted_segments,
MXFIndexTableSegment ***  sorted_segments 
) [static]

Definition at line 882 of file mxfdec.c.

Referenced by mxf_compute_index_tables().

static int mxf_get_stream_index ( AVFormatContext s,
KLVPacket klv 
) [static]

Definition at line 281 of file mxfdec.c.

Referenced by mxf_decrypt_triplet(), and mxf_read_packet_old().

static void mxf_handle_small_eubc ( AVFormatContext s  )  [static]

Deals with the case where for some audio atoms EditUnitByteCount is very small (2, 4.

.). In those cases we should read more than one sample per call to mxf_read_packet().

Definition at line 1629 of file mxfdec.c.

Referenced by mxf_read_header().

static int mxf_match_uid ( const UID  key,
const UID  uid,
int  len 
) [static]

Definition at line 832 of file mxfdec.c.

Referenced by mxf_get_codec_ul().

static void mxf_packet_timestamps ( MXFContext mxf,
AVPacket pkt 
) [static]

Computes DTS and PTS for the given video packet based on its offset.

Definition at line 1795 of file mxfdec.c.

Referenced by mxf_read_packet_old().

static int mxf_parse_handle_essence ( MXFContext mxf  )  [static]

Called when essence is encountered.

Returns:
<= 0 if we should stop parsing, > 0 if we should keep going

Definition at line 1533 of file mxfdec.c.

Referenced by mxf_read_header().

static int mxf_parse_handle_partition_or_eof ( MXFContext mxf  )  [static]

Called when the next partition or EOF is encountered.

Returns:
<= 0 if we should stop parsing, > 0 if we should keep going

Definition at line 1574 of file mxfdec.c.

Referenced by mxf_read_header().

static int mxf_parse_structural_metadata ( MXFContext mxf  )  [static]

Definition at line 1231 of file mxfdec.c.

Referenced by mxf_read_header().

static int mxf_probe ( AVProbeData p  )  [static]

Definition at line 1987 of file mxfdec.c.

static int mxf_read_close ( AVFormatContext s  )  [static]

Definition at line 1938 of file mxfdec.c.

static int mxf_read_content_storage ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 558 of file mxfdec.c.

static int mxf_read_cryptographic_context ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 548 of file mxfdec.c.

static int mxf_read_generic_descriptor ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 765 of file mxfdec.c.

static int mxf_read_header ( AVFormatContext s,
AVFormatParameters ap 
) [static]

Definition at line 1651 of file mxfdec.c.

static int mxf_read_index_entry_array ( AVIOContext pb,
MXFIndexTableSegment segment 
) [static]

Definition at line 687 of file mxfdec.c.

Referenced by mxf_read_index_table_segment().

static int mxf_read_index_table_segment ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 709 of file mxfdec.c.

static int mxf_read_local_tags ( MXFContext mxf,
KLVPacket klv,
MXFMetadataReadFunc read_child,
int  ctx_size,
enum MXFMetadataSetType  type 
) [static]

Definition at line 1459 of file mxfdec.c.

Referenced by mxf_read_header().

static int mxf_read_material_package ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 598 of file mxfdec.c.

static int mxf_read_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 1882 of file mxfdec.c.

static int mxf_read_packet_old ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 1830 of file mxfdec.c.

Referenced by mxf_read_packet().

static int mxf_read_partition_pack ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 408 of file mxfdec.c.

static void mxf_read_pixel_layout ( AVIOContext pb,
MXFDescriptor descriptor 
) [static]

Definition at line 746 of file mxfdec.c.

Referenced by mxf_read_generic_descriptor().

static int mxf_read_primer_pack ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 387 of file mxfdec.c.

static int mxf_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  sample_time,
int  flags 
) [static]

Definition at line 2005 of file mxfdec.c.

static int mxf_read_sequence ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 637 of file mxfdec.c.

static int mxf_read_source_clip ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 576 of file mxfdec.c.

static int mxf_read_source_package ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 661 of file mxfdec.c.

static int mxf_read_sync ( AVIOContext pb,
const uint8_t *  key,
unsigned  size 
) [static]

Definition at line 257 of file mxfdec.c.

Referenced by klv_read_packet(), and mxf_read_header().

static int mxf_read_track ( void *  arg,
AVIOContext pb,
int  tag,
int  size,
UID  uid,
int64_t  klv_offset 
) [static]

Definition at line 616 of file mxfdec.c.

static void* mxf_resolve_strong_ref ( MXFContext mxf,
UID strong_ref,
enum MXFMetadataSetType  type 
) [static]

Definition at line 852 of file mxfdec.c.

Referenced by mxf_parse_structural_metadata().

static int mxf_seek_to_previous_partition ( MXFContext mxf  )  [static]

Seeks to the previous partition, if possible.

Returns:
<= 0 if we should stop parsing, > 0 if we should keep going

Definition at line 1512 of file mxfdec.c.

Referenced by mxf_parse_handle_essence(), and mxf_parse_handle_partition_or_eof().

static int64_t round_to_kag ( int64_t  position,
int  kag_size 
) [static]

Definition at line 1611 of file mxfdec.c.

Referenced by mxf_read_header().


Variable Documentation

Initial value:

 {
    .name           = "mxf",
    .long_name      = NULL_IF_CONFIG_SMALL("Material eXchange Format"),
    .priv_data_size = sizeof(MXFContext),
    .read_probe     = mxf_probe,
    .read_header    = mxf_read_header,
    .read_packet    = mxf_read_packet,
    .read_close     = mxf_read_close,
    .read_seek      = mxf_read_seek,
}

Definition at line 2051 of file mxfdec.c.

const uint8_t mxf_avid_essence_element_key[] = { 0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0e,0x04,0x03,0x01 } [static]

Definition at line 231 of file mxfdec.c.

Referenced by mxf_read_header(), and mxf_read_packet_old().

const uint8_t mxf_crypto_source_container_ul[] = { 0x06,0x0e,0x2b,0x34,0x01,0x01,0x01,0x09,0x06,0x01,0x01,0x02,0x02,0x00,0x00,0x00 } [static]

Definition at line 235 of file mxfdec.c.

Referenced by mxf_read_cryptographic_context().

const uint8_t mxf_encrypted_essence_container[] = { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x07,0x0d,0x01,0x03,0x01,0x02,0x0b,0x01,0x00 } [static]

Definition at line 237 of file mxfdec.c.

Referenced by mxf_parse_structural_metadata().

const uint8_t mxf_encrypted_triplet_key[] = { 0x06,0x0e,0x2b,0x34,0x02,0x04,0x01,0x07,0x0d,0x01,0x03,0x01,0x02,0x7e,0x01,0x00 } [static]

Definition at line 236 of file mxfdec.c.

Referenced by mxf_read_header(), and mxf_read_packet_old().

const uint8_t mxf_essence_element_key[] = { 0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0d,0x01,0x03,0x01 } [static]

const uint8_t mxf_header_partition_pack_key[] = { 0x06,0x0e,0x2b,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x02 } [static]

Definition at line 229 of file mxfdec.c.

Referenced by mxf_probe(), and mxf_read_header().

const uint8_t mxf_klv_key[] = { 0x06,0x0e,0x2b,0x34 } [static]

Definition at line 233 of file mxfdec.c.

Referenced by klv_read_packet().

Initial value:

 {
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x05,0x01,0x00 }, mxf_read_primer_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x02,0x01,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x02,0x02,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x02,0x03,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x02,0x04,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x03,0x01,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x03,0x02,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x03,0x03,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x03,0x04,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x04,0x02,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x04,0x04,0x00 }, mxf_read_partition_pack },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x18,0x00 }, mxf_read_content_storage, 0, AnyType },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x37,0x00 }, mxf_read_source_package, sizeof(MXFPackage), SourcePackage },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x36,0x00 }, mxf_read_material_package, sizeof(MXFPackage), MaterialPackage },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x0F,0x00 }, mxf_read_sequence, sizeof(MXFSequence), Sequence },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x11,0x00 }, mxf_read_source_clip, sizeof(MXFStructuralComponent), SourceClip },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x44,0x00 }, mxf_read_generic_descriptor, sizeof(MXFDescriptor), MultipleDescriptor },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x42,0x00 }, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x28,0x00 }, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x29,0x00 }, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x51,0x00 }, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x48,0x00 }, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x47,0x00 }, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x3A,0x00 }, mxf_read_track, sizeof(MXFTrack), Track }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x3B,0x00 }, mxf_read_track, sizeof(MXFTrack), Track }, 
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x04,0x01,0x02,0x02,0x00,0x00 }, mxf_read_cryptographic_context, sizeof(MXFCryptoContext), CryptoContext },
    { { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x10,0x01,0x00 }, mxf_read_index_table_segment, sizeof(MXFIndexTableSegment), IndexTableSegment },
    { { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, NULL, 0, AnyType },
}

Definition at line 1428 of file mxfdec.c.

Initial value:

 {
    
    { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x60,0x01 }, 14, CODEC_ID_MPEG2VIDEO }, 
    { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x41,0x01 }, 14,    CODEC_ID_DVVIDEO }, 
    { { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },  0,      CODEC_ID_NONE },
}

Definition at line 867 of file mxfdec.c.

const uint8_t mxf_sony_mpeg4_extradata[] = { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x01,0x0e,0x06,0x06,0x02,0x02,0x01,0x00,0x00 } [static]

Definition at line 238 of file mxfdec.c.

Referenced by mxf_read_generic_descriptor().

Initial value:

 {
    
    { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x06,0x01,0x00 }, 14, CODEC_ID_PCM_S16LE }, 
    { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x03,0x01,0x02,0x04,0x40,0x01 }, 14,       CODEC_ID_MP2 }, 
    { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x01,0x01 }, 14, CODEC_ID_PCM_S16LE }, 
    { { 0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0xFF,0x4B,0x46,0x41,0x41,0x00,0x0D,0x4D,0x4F }, 14, CODEC_ID_PCM_S16LE }, 
    { { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },  0,      CODEC_ID_NONE },
}

Definition at line 873 of file mxfdec.c.

const uint8_t mxf_system_item_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x03,0x01,0x04 } [static]

Definition at line 232 of file mxfdec.c.

Referenced by mxf_read_header().


Generated on Fri Oct 26 02:46:13 2012 for FFmpeg by  doxygen 1.5.8