#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 MXFCodecUL * | mxf_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 IS_KLV_KEY | ( | x, | |||
| y | ) | (!memcmp(x, y, sizeof(y))) |
Definition at line 240 of file mxfdec.c.
Referenced by mxf_decrypt_triplet(), mxf_parse_structural_metadata(), mxf_probe(), mxf_read_cryptographic_context(), mxf_read_generic_descriptor(), mxf_read_header(), and mxf_read_packet_old().
| typedef int MXFMetadataReadFunc(void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset) |
| enum MXFOP |
| enum MXFPartitionType |
| enum MXFWrappingScheme |
| static int is_pcm | ( | enum CodecID | codec_id | ) | [static] |
| 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] |
| 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] |
| 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] |
| static int mxf_get_d10_aes3_packet | ( | AVIOContext * | pb, | |
| AVStream * | st, | |||
| AVPacket * | pkt, | |||
| int64_t | length | |||
| ) | [static] |
| static int mxf_get_sorted_table_segments | ( | MXFContext * | mxf, | |
| int * | nb_sorted_segments, | |||
| MXFIndexTableSegment *** | sorted_segments | |||
| ) | [static] |
| 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 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.
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.
Definition at line 1574 of file mxfdec.c.
Referenced by mxf_read_header().
| static int mxf_parse_structural_metadata | ( | MXFContext * | mxf | ) | [static] |
| static int mxf_probe | ( | AVProbeData * | p | ) | [static] |
| static int mxf_read_close | ( | AVFormatContext * | s | ) | [static] |
| static int mxf_read_content_storage | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_cryptographic_context | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_generic_descriptor | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_header | ( | AVFormatContext * | s, | |
| AVFormatParameters * | ap | |||
| ) | [static] |
| static int mxf_read_index_entry_array | ( | AVIOContext * | pb, | |
| MXFIndexTableSegment * | segment | |||
| ) | [static] |
| static int mxf_read_index_table_segment | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_local_tags | ( | MXFContext * | mxf, | |
| KLVPacket * | klv, | |||
| MXFMetadataReadFunc * | read_child, | |||
| int | ctx_size, | |||
| enum MXFMetadataSetType | type | |||
| ) | [static] |
| static int mxf_read_material_package | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_packet | ( | AVFormatContext * | s, | |
| AVPacket * | pkt | |||
| ) | [static] |
| static int mxf_read_packet_old | ( | AVFormatContext * | s, | |
| AVPacket * | pkt | |||
| ) | [static] |
| static int mxf_read_partition_pack | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static void mxf_read_pixel_layout | ( | AVIOContext * | pb, | |
| MXFDescriptor * | descriptor | |||
| ) | [static] |
| static int mxf_read_primer_pack | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_seek | ( | AVFormatContext * | s, | |
| int | stream_index, | |||
| int64_t | sample_time, | |||
| int | flags | |||
| ) | [static] |
| static int mxf_read_sequence | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_source_clip | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_source_package | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static int mxf_read_sync | ( | AVIOContext * | pb, | |
| const uint8_t * | key, | |||
| unsigned | size | |||
| ) | [static] |
| static int mxf_read_track | ( | void * | arg, | |
| AVIOContext * | pb, | |||
| int | tag, | |||
| int | size, | |||
| UID | uid, | |||
| int64_t | klv_offset | |||
| ) | [static] |
| static void* mxf_resolve_strong_ref | ( | MXFContext * | mxf, | |
| UID * | strong_ref, | |||
| enum MXFMetadataSetType | type | |||
| ) | [static] |
| static int mxf_seek_to_previous_partition | ( | MXFContext * | mxf | ) | [static] |
Seeks to the previous partition, if possible.
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] |
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,
}
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] |
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_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] |
Definition at line 230 of file mxfdec.c.
Referenced by mxf_decrypt_triplet(), mxf_get_stream_index(), mxf_read_header(), and mxf_read_packet_old().
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_klv_key[] = { 0x06,0x0e,0x2b,0x34 } [static] |
const MXFMetadataReadTableEntry mxf_metadata_read_table[] [static] |
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 },
}
const MXFCodecUL mxf_picture_essence_container_uls[] [static] |
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 },
}
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_sound_essence_container_uls[] [static] |
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 },
}
const uint8_t mxf_system_item_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x03,0x01,0x04 } [static] |
1.5.8