| 
    FFmpeg
    
   | 
 
#include <inttypes.h>#include <math.h>#include <time.h>#include "libavutil/opt.h"#include "libavutil/random_seed.h"#include "libavutil/timecode.h"#include "libavutil/avassert.h"#include "libavcodec/bytestream.h"#include "libavcodec/dnxhddata.h"#include "audiointerleave.h"#include "avformat.h"#include "avio_internal.h"#include "internal.h"#include "mxf.h"#include "config.h"Go to the source code of this file.
Data Structures | |
| struct | MXFLocalTagPair | 
| struct | MXFIndexEntry | 
| struct | MXFStreamContext | 
| struct | MXFContainerEssenceEntry | 
| struct | MXFContext | 
Macros | |
| #define | EDIT_UNITS_PER_BODY 250 | 
| #define | KAG_SIZE 512 | 
| #define | DESCRIPTOR_COUNT(essence_container_count) (essence_container_count > 1 ? essence_container_count + 1 : essence_container_count) | 
Variables | |
| AVOutputFormat | ff_mxf_d10_muxer | 
| struct { | |
| enum AVCodecID id | |
| int index | |
| } | mxf_essence_mappings [] | 
| static const  MXFContainerEssenceEntry  | mxf_essence_container_uls [] | 
| static const uint8_t | uuid_base [] = { 0xAD,0xAB,0x44,0x24,0x2f,0x25,0x4d,0xc7,0x92,0xff,0x29,0xbd } | 
| static const uint8_t | umid_ul [] = { 0x06,0x0A,0x2B,0x34,0x01,0x01,0x01,0x05,0x01,0x01,0x0D,0x00,0x13 } | 
| static const uint8_t | op1a_ul [] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x01,0x09,0x00 } | 
| complete key for operation pattern, partitions, and primer pack   | |
| static const uint8_t | footer_partition_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x04,0x04,0x00 } | 
| static const uint8_t | primer_pack_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x05,0x01,0x00 } | 
| static const uint8_t | index_table_segment_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x10,0x01,0x00 } | 
| static const uint8_t | random_index_pack_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x11,0x01,0x00 } | 
| static const uint8_t | header_open_partition_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x02,0x01,0x00 } | 
| static const uint8_t | header_closed_partition_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x02,0x04,0x00 } | 
| static const uint8_t | klv_fill_key [] = { 0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x03,0x01,0x02,0x10,0x01,0x00,0x00,0x00 } | 
| static const uint8_t | body_partition_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x03,0x04,0x00 } | 
| static const uint8_t | header_metadata_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01 } | 
| partial key for header metadata   | |
| static const uint8_t | multiple_desc_ul [] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x0D,0x01,0x03,0x01,0x02,0x7F,0x01,0x00 } | 
| static const MXFLocalTagPair | mxf_local_tag_batch [] | 
| SMPTE RP210 http://www.smpte-ra.org/mdd/index.html.   | |
| static const uint8_t | smpte_12m_timecode_track_data_ul [] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x01,0x03,0x02,0x01,0x01,0x00,0x00,0x00 } | 
| static const UID | mxf_mpegvideo_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x51,0x00 } | 
| static const UID | mxf_wav_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x48,0x00 } | 
| static const UID | mxf_aes3_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x47,0x00 } | 
| static const UID | mxf_cdci_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x28,0x00 } | 
| static const UID | mxf_generic_sound_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x42,0x00 } | 
| static const UID | mxf_mpeg2_codec_uls [] | 
| static const uint8_t | system_metadata_pack_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x03,0x01,0x04,0x01,0x01,0x00 } | 
| static const uint8_t | system_metadata_package_set_key [] = { 0x06,0x0E,0x2B,0x34,0x02,0x43,0x01,0x01,0x0D,0x01,0x03,0x01,0x04,0x01,0x02,0x01 } | 
| static const AVOption | d10_options [] | 
| static const AVClass | mxf_d10_muxer_class | 
| AVOutputFormat | ff_mxf_muxer | 
| #define EDIT_UNITS_PER_BODY 250 | 
Definition at line 52 of file mxfenc.c.
Referenced by mxf_write_packet().
| #define KAG_SIZE 512 | 
Definition at line 53 of file mxfenc.c.
Referenced by klv_fill_size(), mxf_parse_dnxhd_frame(), mxf_parse_dv_frame(), mxf_write_d10_video_packet(), mxf_write_header(), mxf_write_index_table_segment(), mxf_write_klv_fill(), mxf_write_packet(), and mxf_write_partition().
| #define DESCRIPTOR_COUNT | ( | essence_container_count | ) | (essence_container_count > 1 ? essence_container_count + 1 : essence_container_count) | 
Definition at line 535 of file mxfenc.c.
Referenced by mxf_write_essence_container_refs(), mxf_write_partition(), and mxf_write_preface().
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
Definition at line 413 of file mxfenc.c.
Referenced by mxf_write_content_storage(), mxf_write_essence_container_data(), mxf_write_generic_desc(), mxf_write_identification(), mxf_write_index_table_segment(), mxf_write_multi_descriptor(), mxf_write_package(), mxf_write_preface(), mxf_write_sequence(), mxf_write_structural_component(), mxf_write_timecode_component(), and mxf_write_track().
      
  | 
  static | 
Definition at line 420 of file mxfenc.c.
Referenced by mxf_write_essence_container_data(), mxf_write_package(), mxf_write_structural_component(), and mxf_write_system_item().
      
  | 
  static | 
Definition at line 429 of file mxfenc.c.
Referenced by mxf_write_content_storage(), mxf_write_essence_container_refs(), mxf_write_multi_descriptor(), mxf_write_package(), mxf_write_preface(), and mxf_write_sequence().
      
  | 
  static | 
Definition at line 435 of file mxfenc.c.
Referenced by mxf_write_partition().
      
  | 
  static | 
Definition at line 443 of file mxfenc.c.
Referenced by mxf_write_content_storage(), mxf_write_essence_container_data(), mxf_write_identification(), mxf_write_index_table_segment(), mxf_write_multi_descriptor(), mxf_write_package(), mxf_write_partition(), mxf_write_preface(), mxf_write_primer_pack(), mxf_write_random_index_pack(), mxf_write_sequence(), mxf_write_structural_component(), mxf_write_timecode_component(), and mxf_write_track().
      
  | 
  static | 
Definition at line 464 of file mxfenc.c.
Referenced by mxf_write_d10_audio_packet(), mxf_write_d10_video_packet(), mxf_write_generic_desc(), mxf_write_klv_fill(), mxf_write_packet(), and mxf_write_system_item().
      
  | 
  static | 
Definition at line 473 of file mxfenc.c.
Referenced by mxf_write_header().
      
  | 
  static | 
Definition at line 482 of file mxfenc.c.
Referenced by mxf_write_partition().
      
  | 
  static | 
Definition at line 501 of file mxfenc.c.
Referenced by mxf_write_cdci_common(), mxf_write_common_fields(), mxf_write_content_storage(), mxf_write_essence_container_data(), mxf_write_generic_desc(), mxf_write_generic_sound_common(), mxf_write_identification(), mxf_write_index_table_segment(), mxf_write_local_tag_utf16(), mxf_write_mpegvideo_desc(), mxf_write_multi_descriptor(), mxf_write_package(), mxf_write_preface(), mxf_write_sequence(), mxf_write_structural_component(), mxf_write_timecode_component(), mxf_write_track(), and mxf_write_wav_common().
      
  | 
  static | 
Definition at line 507 of file mxfenc.c.
Referenced by mxf_write_content_storage(), mxf_write_essence_container_data(), mxf_write_identification(), mxf_write_multi_descriptor(), mxf_write_package(), mxf_write_preface(), mxf_write_sequence(), mxf_write_structural_component(), mxf_write_timecode_component(), and mxf_write_track().
      
  | 
  static | 
Definition at line 513 of file mxfenc.c.
Referenced by mxf_write_footer().
      
  | 
  static | 
Definition at line 523 of file mxfenc.c.
Referenced by mxf_write_common_fields().
      
  | 
  static | 
Definition at line 538 of file mxfenc.c.
Referenced by mxf_write_partition(), and mxf_write_preface().
      
  | 
  static | 
Definition at line 555 of file mxfenc.c.
Referenced by mxf_write_header_metadata_sets().
      
  | 
  static | 
Definition at line 602 of file mxfenc.c.
Referenced by mxf_write_identification().
      
  | 
  static | 
Definition at line 610 of file mxfenc.c.
Referenced by mxf_write_header_metadata_sets().
      
  | 
  static | 
Definition at line 649 of file mxfenc.c.
Referenced by mxf_write_header_metadata_sets().
      
  | 
  static | 
Definition at line 674 of file mxfenc.c.
Referenced by mxf_write_package().
      
  | 
  static | 
Definition at line 715 of file mxfenc.c.
Referenced by mxf_write_sequence(), mxf_write_structural_component(), and mxf_write_timecode_component().
      
  | 
  static | 
Definition at line 734 of file mxfenc.c.
Referenced by mxf_write_package().
      
  | 
  static | 
Definition at line 762 of file mxfenc.c.
Referenced by mxf_write_package().
      
  | 
  static | 
Definition at line 790 of file mxfenc.c.
Referenced by mxf_write_package().
      
  | 
  static | 
Definition at line 826 of file mxfenc.c.
Referenced by mxf_write_package().
      
  | 
  static | 
Definition at line 863 of file mxfenc.c.
Referenced by mxf_write_cdci_common(), and mxf_write_generic_sound_common().
      
  | 
  static | 
Definition at line 892 of file mxfenc.c.
Referenced by mxf_write_cdci_desc(), and mxf_write_mpegvideo_desc().
      
  | 
  static | 
Definition at line 997 of file mxfenc.c.
Referenced by mxf_write_generic_sound_desc(), and mxf_write_wav_common().
      
  | 
  static | 
Definition at line 1035 of file mxfenc.c.
Referenced by mxf_write_aes3_desc(), and mxf_write_wav_desc().
      
  | 
  static | 
Definition at line 1064 of file mxfenc.c.
Referenced by mxf_write_header_metadata_sets().
      
  | 
  static | 
Definition at line 1135 of file mxfenc.c.
Referenced by mxf_write_header_metadata_sets().
      
  | 
  static | 
Definition at line 1157 of file mxfenc.c.
Referenced by mxf_write_partition().
      
  | 
  static | 
Definition at line 1168 of file mxfenc.c.
Referenced by mxf_parse_dnxhd_frame(), mxf_parse_dv_frame(), mxf_write_d10_video_packet(), mxf_write_header(), mxf_write_index_table_segment(), mxf_write_klv_fill(), mxf_write_packet(), and mxf_write_partition().
      
  | 
  static | 
Definition at line 1177 of file mxfenc.c.
Referenced by mxf_write_footer(), and mxf_write_packet().
      
  | 
  static | 
Definition at line 1310 of file mxfenc.c.
Referenced by mxf_write_footer(), mxf_write_packet(), and mxf_write_partition().
      
  | 
  static | 
Definition at line 1322 of file mxfenc.c.
Referenced by mxf_write_footer(), and mxf_write_packet().
      
  | 
  static | 
Definition at line 1419 of file mxfenc.c.
Referenced by mxf_write_packet().
      
  | 
  static | 
Definition at line 1497 of file mxfenc.c.
Referenced by mxf_write_packet().
      
  | 
  static | 
Definition at line 1580 of file mxfenc.c.
Referenced by mxf_parse_mpeg2_frame().
      
  | 
  static | 
Definition at line 1600 of file mxfenc.c.
Referenced by mxf_write_packet().
      
  | 
  static | 
Definition at line 1658 of file mxfenc.c.
Referenced by mxf_write_header().
      
  | 
  static | 
Definition at line 1671 of file mxfenc.c.
Referenced by mxf_write_header().
      
  | 
  static | 
      
  | 
  static | 
Definition at line 1837 of file mxfenc.c.
Referenced by mxf_write_packet().
      
  | 
  static | 
Definition at line 1878 of file mxfenc.c.
Referenced by mxf_write_packet().
      
  | 
  static | 
Definition at line 1907 of file mxfenc.c.
Referenced by mxf_write_packet().
      
  | 
  static | 
      
  | 
  static | 
Definition at line 2031 of file mxfenc.c.
Referenced by mxf_write_footer().
      
  | 
  static | 
      
  | 
  static | 
Definition at line 2106 of file mxfenc.c.
Referenced by mxf_interleave().
      
  | 
  static | 
Definition at line 2161 of file mxfenc.c.
Referenced by mxf_interleave().
      
  | 
  static | 
| AVOutputFormat ff_mxf_d10_muxer | 
| enum AVCodecID id | 
Definition at line 90 of file mxfenc.c.
Referenced by add_tracked_method(), ape_tag_read_field(), asf_read_picture(), av_codec_get_id(), av_get_audio_frame_duration(), av_new_program(), avi_get_ientry(), avi_write_packet(), avpriv_new_chapter(), che_configure(), check_section_show_entries(), config_output(), create_new_audio_stream(), decode_frame(), dxtory_decode_v1_rgb(), ebml_parse(), encode_callback(), eval_expr(), exif_decode_tag(), ff_flac_parse_picture(), ff_get_wav_header(), ff_jpegls_decode_lse(), ff_mjpeg_decode_sos(), ff_mov_read_stsd_entries(), ff_rtsp_tcp_read_packet(), ff_rtsp_tcp_write_packet(), ff_wav_codec_get_id(), ffm_read_data(), filter_frame(), flush_packet(), frame_configure_elements(), get_codec_data(), get_sindex(), lvf_read_header(), lvf_read_packet(), mark_section_show_entries(), matroska_parse_webvtt(), matroska_resync(), mjpeg_decode_app(), mkv_write_vtt_blocks(), mov_codec_id(), mov_read_covr(), parse_object_segment(), parse_palette_segment(), print_section(), put_system_header(), qdm2_parse_subpacket(), read_apic(), remap_deprecated_codec_id(), request_frame(), rso_read_header(), set_codec_from_probe_data(), sol_read_header(), txd_read_packet(), wavpack_decode_block(), webvtt_write_packet(), write_chapter(), and wv_read_block_header().
| struct { ... } mxf_essence_mappings[] | 
Referenced by mxf_get_essence_container_ul_index().
      
  | 
  static | 
      
  | 
  static | 
Definition at line 300 of file mxfenc.c.
Referenced by mxf_write_uuid().
      
  | 
  static | 
Definition at line 301 of file mxfenc.c.
Referenced by mxf_write_umid().
      
  | 
  static | 
complete key for operation pattern, partitions, and primer pack
Definition at line 306 of file mxfenc.c.
Referenced by mxf_write_partition(), and mxf_write_preface().
      
  | 
  static | 
Definition at line 307 of file mxfenc.c.
Referenced by mxf_write_footer(), and mxf_write_partition().
      
  | 
  static | 
Definition at line 308 of file mxfenc.c.
Referenced by mxf_write_primer_pack().
      
  | 
  static | 
Definition at line 309 of file mxfenc.c.
Referenced by mxf_write_index_table_segment().
      
  | 
  static | 
Definition at line 310 of file mxfenc.c.
Referenced by mxf_write_random_index_pack().
      
  | 
  static | 
Definition at line 311 of file mxfenc.c.
Referenced by mxf_write_packet().
      
  | 
  static | 
Definition at line 312 of file mxfenc.c.
Referenced by mxf_write_footer().
      
  | 
  static | 
Definition at line 313 of file mxfenc.c.
Referenced by mxf_write_d10_video_packet(), and mxf_write_klv_fill().
      
  | 
  static | 
Definition at line 314 of file mxfenc.c.
Referenced by mxf_write_packet(), and mxf_write_partition().
      
  | 
  static | 
partial key for header metadata
Definition at line 319 of file mxfenc.c.
Referenced by mxf_write_metadata_key().
      
  | 
  static | 
Definition at line 320 of file mxfenc.c.
Referenced by mxf_write_essence_container_refs(), mxf_write_multi_descriptor(), and mxf_write_system_item().
      
  | 
  static | 
SMPTE RP210 http://www.smpte-ra.org/mdd/index.html.
      
  | 
  static | 
Definition at line 713 of file mxfenc.c.
Referenced by mxf_write_common_fields().
      
  | 
  static | 
Definition at line 886 of file mxfenc.c.
Referenced by mxf_write_mpegvideo_desc().
      
  | 
  static | 
Definition at line 887 of file mxfenc.c.
Referenced by mxf_write_wav_desc().
      
  | 
  static | 
Definition at line 888 of file mxfenc.c.
Referenced by mxf_write_aes3_desc().
      
  | 
  static | 
Definition at line 889 of file mxfenc.c.
Referenced by mxf_write_cdci_desc().
      
  | 
  static | 
Definition at line 890 of file mxfenc.c.
Referenced by mxf_write_generic_sound_desc().
      
  | 
  static | 
Definition at line 1567 of file mxfenc.c.
Referenced by mxf_get_mpeg2_codec_ul().
      
  | 
  static | 
Definition at line 1834 of file mxfenc.c.
Referenced by mxf_write_system_item().
      
  | 
  static | 
Definition at line 1835 of file mxfenc.c.
Referenced by mxf_write_system_item().
      
  | 
  static | 
      
  | 
  static | 
| AVOutputFormat ff_mxf_muxer | 
 1.8.2