FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
mxfenc.c File Reference
#include <inttypes.h>
#include <time.h>
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/random_seed.h"
#include "libavutil/timecode.h"
#include "libavutil/avassert.h"
#include "libavutil/mastering_display_metadata.h"
#include "libavutil/pixdesc.h"
#include "libavutil/time_internal.h"
#include "libavcodec/defs.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/golomb.h"
#include "libavcodec/h264.h"
#include "libavcodec/jpeg2000.h"
#include "libavcodec/packet_internal.h"
#include "libavcodec/rangecoder.h"
#include "libavcodec/startcode.h"
#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
#include "avc.h"
#include "nal.h"
#include "mux.h"
#include "mxf.h"
#include "config.h"
#include "version.h"

Go to the source code of this file.

Data Structures

struct  MXFIndexEntry
 
struct  j2k_info_t
 
struct  MXFStreamContext
 
struct  MXFContainerEssenceEntry
 
struct  MXFPackage
 
struct  MXFContext
 

Macros

#define IS_D10(s)   ((s)->oformat == &ff_mxf_d10_muxer.p)
 
#define IS_OPATOM(s)   ((s)->oformat == &ff_mxf_opatom_muxer.p)
 
#define EDIT_UNITS_PER_BODY   250
 
#define KAG_SIZE   512
 
#define MXF_NUM_TAGS   FF_ARRAY_ELEMS(mxf_local_tag_batch)
 
#define DESCRIPTOR_COUNT(essence_container_count)   (essence_container_count > 1 ? essence_container_count + 1 : essence_container_count)
 
#define PLATFORM_IDENT   "Lavf " AV_STRINGIFY((OS_NAME))
 
#define FFV1_CONTEXT_SIZE   32
 
#define MXF_COMMON_OPTIONS
 

Enumerations

enum  ULIndex {
  INDEX_MPEG2 = 0, INDEX_AES3, INDEX_WAV, INDEX_D10_VIDEO,
  INDEX_D10_AUDIO, INDEX_DV, INDEX_DNXHD, INDEX_JPEG2000,
  INDEX_H264, INDEX_S436M, INDEX_PRORES, INDEX_FFV1
}
 

Functions

static void mxf_write_wav_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_aes3_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_mpegvideo_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_h264_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_ffv1_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_cdci_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_generic_sound_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_s436m_anc_desc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_uuid (AVIOContext *pb, enum MXFMetadataSetType type, int value)
 
static void mxf_write_umid (AVFormatContext *s, int type)
 
static void mxf_write_refs_count (AVIOContext *pb, int ref_count)
 
static int klv_ber_length (uint64_t len)
 
static int klv_encode_ber_length (AVIOContext *pb, uint64_t len)
 
static void klv_encode_ber4_length (AVIOContext *pb, int len)
 
static void klv_encode_ber9_length (AVIOContext *pb, uint64_t len)
 
static int mxf_get_essence_container_ul_index (enum AVCodecID id)
 
static const MXFLocalTagPairmxf_lookup_local_tag (int tag)
 
static void mxf_mark_tag_unused (MXFContext *mxf, int tag)
 
static void mxf_write_primer_pack (AVFormatContext *s)
 
static void mxf_write_local_tag (AVFormatContext *s, int size, int tag)
 
static void mxf_write_metadata_key (AVIOContext *pb, unsigned int value)
 
static const MXFCodecULmxf_get_codec_ul_by_id (const MXFCodecUL *uls, int id)
 
static void mxf_write_essence_container_refs (AVFormatContext *s)
 
static void mxf_write_preface (AVFormatContext *s)
 
static uint64_t mxf_utf16len (const char *utf8_str)
 
static int mxf_utf16_local_tag_length (const char *utf8_str)
 
static void mxf_write_local_tag_utf16 (AVFormatContext *s, int tag, const char *value)
 
static void store_version (AVFormatContext *s)
 
static void mxf_write_identification (AVFormatContext *s)
 
static void mxf_write_content_storage (AVFormatContext *s, MXFPackage *packages, int package_count)
 
static void mxf_write_track (AVFormatContext *s, AVStream *st, MXFPackage *package)
 
static void mxf_write_common_fields (AVFormatContext *s, AVStream *st)
 
static void mxf_write_sequence (AVFormatContext *s, AVStream *st, MXFPackage *package)
 
static void mxf_write_timecode_component (AVFormatContext *s, AVStream *st, MXFPackage *package)
 
static void mxf_write_structural_component (AVFormatContext *s, AVStream *st, MXFPackage *package)
 
static void mxf_write_tape_descriptor (AVFormatContext *s)
 
static void mxf_write_multi_descriptor (AVFormatContext *s)
 
static int64_t mxf_write_generic_desc (AVFormatContext *s, AVStream *st, const UID key)
 
static uint16_t rescale_mastering_chroma (AVRational q)
 
static uint32_t rescale_mastering_luma (AVRational q)
 
static int64_t mxf_write_cdci_common (AVFormatContext *s, AVStream *st, const UID key)
 
static void mxf_update_klv_size (AVIOContext *pb, int64_t pos)
 
static void mxf_write_avc_subdesc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_jpeg2000_subdesc (AVFormatContext *s, AVStream *st)
 
static void mxf_write_ffv1_subdesc (AVFormatContext *s, AVStream *st)
 
static int64_t mxf_write_generic_sound_common (AVFormatContext *s, AVStream *st, const UID key)
 
static int64_t mxf_write_wav_common (AVFormatContext *s, AVStream *st, const UID key)
 
static int mxf_write_tagged_value (AVFormatContext *s, const char *name, const char *value)
 
static int mxf_write_user_comments (AVFormatContext *s, const AVDictionary *m)
 
static void mxf_write_package (AVFormatContext *s, MXFPackage *package)
 
static int mxf_write_essence_container_data (AVFormatContext *s)
 
static int mxf_write_header_metadata_sets (AVFormatContext *s)
 
static unsigned klv_fill_size (uint64_t size)
 
static void mxf_write_index_table_segment (AVFormatContext *s)
 
static void mxf_write_klv_fill (AVFormatContext *s)
 
static int mxf_write_partition (AVFormatContext *s, int bodysid, int indexsid, const uint8_t *key, int write_metadata)
 
static int mxf_parse_prores_frame (AVFormatContext *s, AVStream *st, AVPacket *pkt)
 
static int mxf_parse_dnxhd_frame (AVFormatContext *s, AVStream *st, AVPacket *pkt)
 
static int mxf_parse_dv_frame (AVFormatContext *s, AVStream *st, AVPacket *pkt)
 
static int mxf_parse_h264_frame (AVFormatContext *s, AVStream *st, AVPacket *pkt, MXFIndexEntry *e)
 
static int get_ffv1_unsigned_symbol (RangeCoder *c, uint8_t *state)
 
static int mxf_parse_ffv1_frame (AVFormatContext *s, AVStream *st, AVPacket *pkt)
 
static int mxf_parse_jpeg2000_frame (AVFormatContext *s, AVStream *st, AVPacket *pkt)
 
static const UIDmxf_get_mpeg2_codec_ul (AVCodecParameters *par)
 
static int mxf_parse_mpeg2_frame (AVFormatContext *s, AVStream *st, AVPacket *pkt, MXFIndexEntry *e)
 
static uint64_t mxf_parse_timestamp (int64_t timestamp64)
 
static void mxf_gen_umid (AVFormatContext *s)
 
static int mxf_init_timecode (AVFormatContext *s, AVStream *st, AVRational tbc)
 
static enum AVChromaLocation choose_chroma_location (AVFormatContext *s, AVStream *st)
 
static int mxf_init (AVFormatContext *s)
 
static void mxf_write_system_item (AVFormatContext *s)
 
static void mxf_write_d10_audio_packet (AVFormatContext *s, AVStream *st, AVPacket *pkt)
 
static int mxf_write_opatom_body_partition (AVFormatContext *s)
 
static int mxf_write_opatom_packet (AVFormatContext *s, AVPacket *pkt, MXFIndexEntry *ie)
 
static void mxf_compute_edit_unit_byte_count (AVFormatContext *s)
 
static int mxf_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static void mxf_write_random_index_pack (AVFormatContext *s)
 
static int mxf_write_footer (AVFormatContext *s)
 
static void mxf_deinit (AVFormatContext *s)
 
static int mxf_interleave_get_packet (AVFormatContext *s, AVPacket *out, int flush)
 
static int mxf_compare_timestamps (AVFormatContext *s, const AVPacket *next, const AVPacket *pkt)
 
static int mxf_interleave (AVFormatContext *s, AVPacket *pkt, int flush, int has_packet)
 
static int mxf_check_bitstream (AVFormatContext *s, AVStream *st, const AVPacket *pkt)
 

Variables

const FFOutputFormat ff_mxf_d10_muxer
 
const FFOutputFormat ff_mxf_opatom_muxer
 
struct {
   enum AVCodecID   id
 
   enum ULIndex   index
 
mxf_essence_mappings []
 
static const MXFContainerEssenceEntry mxf_essence_container_uls []
 
static const UID mxf_d10_codec_uls []
 
static const UID mxf_d10_container_uls []
 
static const UID mxf_ffv1_codec_uls []
 
static const uint8_t product_uid [] = { 0xAD,0xAB,0x44,0x24,0x2f,0x25,0x4d,0xc7,0x92,0xff,0x29,0xbd,0x00,0x0c,0x00,0x02}
 
static const uint8_t uuid_base [] = { 0xAD,0xAB,0x44,0x24,0x2f,0x25,0x4d,0xc7,0x92,0xff }
 
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 More...
 
static const uint8_t opatom_ul [] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x02,0x01,0x10,0x03,0x00,0x00 }
 
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 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,0x02,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 More...
 
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 https://smpte-ra.org/sites/default/files/Labels.xml. More...
 
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_s436m_anc_descriptor_key = { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x5c,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_rgba_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x29,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_avc_subdescriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x6E,0x00 }
 
static const UID mxf_ffv1_subdescriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x81,0x03 }
 
static const UID mxf_jpeg2000_subdescriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x5A,0x00}
 
static const uint8_t mxf_indirect_value_utf16le [] = { 0x4c,0x00,0x02,0x10,0x01,0x00,0x00,0x00,0x00,0x06,0x0e,0x2b,0x34,0x01,0x04,0x01,0x01 }
 
struct {
   int   profile
 
   UID   codec_ul
 
mxf_prores_codec_uls []
 
struct {
   uint16_t   cid
 
   uint8_t   interlaced
 
   UID   codec_ul
 
mxf_dnxhd_codec_uls []
 
struct {
   const UID   container_ul
 
   const UID   codec_ul
 
mxf_dv_uls []
 
struct {
   UID   uid
 
   int   frame_size
 
   uint8_t   profile
 
   uint8_t   interlaced
 
   int8_t   intra_only
 
mxf_h264_codec_uls []
 
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 mxf_options []
 
static const AVClass mxf_muxer_class
 
static const AVOption d10_options []
 
static const AVClass mxf_d10_muxer_class
 
static const AVOption opatom_options []
 
static const AVClass mxf_opatom_muxer_class
 
const FFOutputFormat ff_mxf_muxer
 

Macro Definition Documentation

◆ IS_D10

#define IS_D10 (   s)    ((s)->oformat == &ff_mxf_d10_muxer.p)

Definition at line 72 of file mxfenc.c.

◆ IS_OPATOM

#define IS_OPATOM (   s)    ((s)->oformat == &ff_mxf_opatom_muxer.p)

Definition at line 73 of file mxfenc.c.

◆ EDIT_UNITS_PER_BODY

#define EDIT_UNITS_PER_BODY   250

Definition at line 75 of file mxfenc.c.

◆ KAG_SIZE

#define KAG_SIZE   512

Definition at line 76 of file mxfenc.c.

◆ MXF_NUM_TAGS

#define MXF_NUM_TAGS   FF_ARRAY_ELEMS(mxf_local_tag_batch)

Definition at line 451 of file mxfenc.c.

◆ DESCRIPTOR_COUNT

#define DESCRIPTOR_COUNT (   essence_container_count)    (essence_container_count > 1 ? essence_container_count + 1 : essence_container_count)

Definition at line 700 of file mxfenc.c.

◆ PLATFORM_IDENT

#define PLATFORM_IDENT   "Lavf " AV_STRINGIFY((OS_NAME))

Definition at line 851 of file mxfenc.c.

◆ FFV1_CONTEXT_SIZE

#define FFV1_CONTEXT_SIZE   32

Definition at line 2595 of file mxfenc.c.

◆ MXF_COMMON_OPTIONS

#define MXF_COMMON_OPTIONS
Value:
{ "signal_standard", "Force/set Signal Standard",\
offsetof(MXFContext, signal_standard), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\
{ "bt601", "ITU-R BT.601 and BT.656, also SMPTE 125M (525 and 625 line interlaced)",\
0, AV_OPT_TYPE_CONST, {.i64 = 1}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\
{ "bt1358", "ITU-R BT.1358 and ITU-R BT.799-3, also SMPTE 293M (525 and 625 line progressive)",\
0, AV_OPT_TYPE_CONST, {.i64 = 2}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\
{ "smpte347m", "SMPTE 347M (540 Mbps mappings)",\
0, AV_OPT_TYPE_CONST, {.i64 = 3}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\
{ "smpte274m", "SMPTE 274M (1125 line)",\
0, AV_OPT_TYPE_CONST, {.i64 = 4}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\
{ "smpte296m", "SMPTE 296M (750 line progressive)",\
0, AV_OPT_TYPE_CONST, {.i64 = 5}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\
{ "smpte349m", "SMPTE 349M (1485 Mbps mappings)",\
0, AV_OPT_TYPE_CONST, {.i64 = 6}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\
{ "smpte428", "SMPTE 428-1 DCDM",\
0, AV_OPT_TYPE_CONST, {.i64 = 7}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},

Definition at line 3568 of file mxfenc.c.

Enumeration Type Documentation

◆ ULIndex

enum ULIndex
Enumerator
INDEX_MPEG2 
INDEX_AES3 
INDEX_WAV 
INDEX_D10_VIDEO 
INDEX_D10_AUDIO 
INDEX_DV 
INDEX_DNXHD 
INDEX_JPEG2000 
INDEX_H264 
INDEX_S436M 
INDEX_PRORES 
INDEX_FFV1 

Definition at line 142 of file mxfenc.c.

Function Documentation

◆ mxf_write_wav_desc()

static void mxf_write_wav_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1722 of file mxfenc.c.

◆ mxf_write_aes3_desc()

static void mxf_write_aes3_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1728 of file mxfenc.c.

◆ mxf_write_mpegvideo_desc()

static void mxf_write_mpegvideo_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1620 of file mxfenc.c.

Referenced by mxf_write_h264_desc().

◆ mxf_write_h264_desc()

static void mxf_write_h264_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1561 of file mxfenc.c.

◆ mxf_write_ffv1_desc()

static void mxf_write_ffv1_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1602 of file mxfenc.c.

◆ mxf_write_cdci_desc()

static void mxf_write_cdci_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1548 of file mxfenc.c.

◆ mxf_write_generic_sound_desc()

static void mxf_write_generic_sound_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1734 of file mxfenc.c.

◆ mxf_write_s436m_anc_desc()

static void mxf_write_s436m_anc_desc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1614 of file mxfenc.c.

◆ mxf_write_uuid()

static void mxf_write_uuid ( AVIOContext pb,
enum MXFMetadataSetType  type,
int  value 
)
static

◆ mxf_write_umid()

static void mxf_write_umid ( AVFormatContext s,
int  type 
)
static

◆ mxf_write_refs_count()

static void mxf_write_refs_count ( AVIOContext pb,
int  ref_count 
)
static

◆ klv_ber_length()

static int klv_ber_length ( uint64_t  len)
static

Definition at line 509 of file mxfenc.c.

Referenced by klv_encode_ber_length().

◆ klv_encode_ber_length()

static int klv_encode_ber_length ( AVIOContext pb,
uint64_t  len 
)
static

◆ klv_encode_ber4_length()

static void klv_encode_ber4_length ( AVIOContext pb,
int  len 
)
static

◆ klv_encode_ber9_length()

static void klv_encode_ber9_length ( AVIOContext pb,
uint64_t  len 
)
static

Definition at line 543 of file mxfenc.c.

Referenced by mxf_write_opatom_body_partition().

◆ mxf_get_essence_container_ul_index()

static int mxf_get_essence_container_ul_index ( enum AVCodecID  id)
static

Definition at line 552 of file mxfenc.c.

Referenced by mxf_init().

◆ mxf_lookup_local_tag()

static const MXFLocalTagPair* mxf_lookup_local_tag ( int  tag)
static

Definition at line 561 of file mxfenc.c.

Referenced by mxf_mark_tag_unused(), and mxf_write_local_tag().

◆ mxf_mark_tag_unused()

static void mxf_mark_tag_unused ( MXFContext mxf,
int  tag 
)
static

Definition at line 574 of file mxfenc.c.

Referenced by mxf_write_primer_pack().

◆ mxf_write_primer_pack()

static void mxf_write_primer_pack ( AVFormatContext s)
static

Definition at line 580 of file mxfenc.c.

Referenced by mxf_write_partition().

◆ mxf_write_local_tag()

static void mxf_write_local_tag ( AVFormatContext s,
int  size,
int  tag 
)
static

◆ mxf_write_metadata_key()

static void mxf_write_metadata_key ( AVIOContext pb,
unsigned int  value 
)
static

◆ mxf_get_codec_ul_by_id()

static const MXFCodecUL* mxf_get_codec_ul_by_id ( const MXFCodecUL uls,
int  id 
)
static

Definition at line 689 of file mxfenc.c.

Referenced by mxf_write_cdci_common(), and mxf_write_common_fields().

◆ mxf_write_essence_container_refs()

static void mxf_write_essence_container_refs ( AVFormatContext s)
static

Definition at line 703 of file mxfenc.c.

Referenced by mxf_write_partition(), and mxf_write_preface().

◆ mxf_write_preface()

static void mxf_write_preface ( AVFormatContext s)
static

Definition at line 725 of file mxfenc.c.

Referenced by mxf_write_header_metadata_sets().

◆ mxf_utf16len()

static uint64_t mxf_utf16len ( const char *  utf8_str)
static

Definition at line 780 of file mxfenc.c.

Referenced by mxf_utf16_local_tag_length(), and mxf_write_local_tag_utf16().

◆ mxf_utf16_local_tag_length()

static int mxf_utf16_local_tag_length ( const char *  utf8_str)
static

Definition at line 802 of file mxfenc.c.

Referenced by mxf_write_identification(), mxf_write_package(), and mxf_write_tagged_value().

◆ mxf_write_local_tag_utf16()

static void mxf_write_local_tag_utf16 ( AVFormatContext s,
int  tag,
const char *  value 
)
static

Definition at line 821 of file mxfenc.c.

Referenced by mxf_write_identification(), mxf_write_package(), and mxf_write_tagged_value().

◆ store_version()

static void store_version ( AVFormatContext s)
static

Definition at line 835 of file mxfenc.c.

Referenced by mxf_write_identification().

◆ mxf_write_identification()

static void mxf_write_identification ( AVFormatContext s)
static

Definition at line 852 of file mxfenc.c.

Referenced by mxf_write_header_metadata_sets().

◆ mxf_write_content_storage()

static void mxf_write_content_storage ( AVFormatContext s,
MXFPackage packages,
int  package_count 
)
static

Definition at line 905 of file mxfenc.c.

Referenced by mxf_write_header_metadata_sets().

◆ mxf_write_track()

static void mxf_write_track ( AVFormatContext s,
AVStream st,
MXFPackage package 
)
static

Definition at line 932 of file mxfenc.c.

Referenced by mxf_write_package().

◆ mxf_write_common_fields()

static void mxf_write_common_fields ( AVFormatContext s,
AVStream st 
)
static

◆ mxf_write_sequence()

static void mxf_write_sequence ( AVFormatContext s,
AVStream st,
MXFPackage package 
)
static

Definition at line 1004 of file mxfenc.c.

Referenced by mxf_write_package().

◆ mxf_write_timecode_component()

static void mxf_write_timecode_component ( AVFormatContext s,
AVStream st,
MXFPackage package 
)
static

Definition at line 1031 of file mxfenc.c.

Referenced by mxf_write_package().

◆ mxf_write_structural_component()

static void mxf_write_structural_component ( AVFormatContext s,
AVStream st,
MXFPackage package 
)
static

Definition at line 1058 of file mxfenc.c.

Referenced by mxf_write_package().

◆ mxf_write_tape_descriptor()

static void mxf_write_tape_descriptor ( AVFormatContext s)
static

Definition at line 1093 of file mxfenc.c.

Referenced by mxf_write_package().

◆ mxf_write_multi_descriptor()

static void mxf_write_multi_descriptor ( AVFormatContext s)
static

Definition at line 1106 of file mxfenc.c.

Referenced by mxf_write_package().

◆ mxf_write_generic_desc()

static int64_t mxf_write_generic_desc ( AVFormatContext s,
AVStream st,
const UID  key 
)
static

◆ rescale_mastering_chroma()

static uint16_t rescale_mastering_chroma ( AVRational  q)
inlinestatic

Definition at line 1193 of file mxfenc.c.

Referenced by mxf_write_cdci_common().

◆ rescale_mastering_luma()

static uint32_t rescale_mastering_luma ( AVRational  q)
inlinestatic

Definition at line 1198 of file mxfenc.c.

Referenced by mxf_write_cdci_common().

◆ mxf_write_cdci_common()

static int64_t mxf_write_cdci_common ( AVFormatContext s,
AVStream st,
const UID  key 
)
static

◆ mxf_update_klv_size()

static void mxf_update_klv_size ( AVIOContext pb,
int64_t  pos 
)
static

◆ mxf_write_avc_subdesc()

static void mxf_write_avc_subdesc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1462 of file mxfenc.c.

Referenced by mxf_write_cdci_desc(), and mxf_write_h264_desc().

◆ mxf_write_jpeg2000_subdesc()

static void mxf_write_jpeg2000_subdesc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1486 of file mxfenc.c.

Referenced by mxf_write_cdci_desc().

◆ mxf_write_ffv1_subdesc()

static void mxf_write_ffv1_subdesc ( AVFormatContext s,
AVStream st 
)
static

Definition at line 1573 of file mxfenc.c.

Referenced by mxf_write_ffv1_desc().

◆ mxf_write_generic_sound_common()

static int64_t mxf_write_generic_sound_common ( AVFormatContext s,
AVStream st,
const UID  key 
)
static

Definition at line 1658 of file mxfenc.c.

Referenced by mxf_write_generic_sound_desc(), and mxf_write_wav_common().

◆ mxf_write_wav_common()

static int64_t mxf_write_wav_common ( AVFormatContext s,
AVStream st,
const UID  key 
)
static

Definition at line 1707 of file mxfenc.c.

Referenced by mxf_write_aes3_desc(), and mxf_write_wav_desc().

◆ mxf_write_tagged_value()

static int mxf_write_tagged_value ( AVFormatContext s,
const char *  name,
const char *  value 
)
static

Definition at line 1742 of file mxfenc.c.

Referenced by mxf_write_user_comments().

◆ mxf_write_user_comments()

static int mxf_write_user_comments ( AVFormatContext s,
const AVDictionary m 
)
static

Definition at line 1771 of file mxfenc.c.

Referenced by mxf_write_package().

◆ mxf_write_package()

static void mxf_write_package ( AVFormatContext s,
MXFPackage package 
)
static

Definition at line 1789 of file mxfenc.c.

Referenced by mxf_write_header_metadata_sets().

◆ mxf_write_essence_container_data()

static int mxf_write_essence_container_data ( AVFormatContext s)
static

Definition at line 1889 of file mxfenc.c.

Referenced by mxf_write_header_metadata_sets().

◆ mxf_write_header_metadata_sets()

static int mxf_write_header_metadata_sets ( AVFormatContext s)
static

Definition at line 1911 of file mxfenc.c.

Referenced by mxf_write_partition().

◆ klv_fill_size()

static unsigned klv_fill_size ( uint64_t  size)
static

◆ mxf_write_index_table_segment()

static void mxf_write_index_table_segment ( AVFormatContext s)
static

Definition at line 1969 of file mxfenc.c.

Referenced by mxf_write_footer(), and mxf_write_packet().

◆ mxf_write_klv_fill()

static void mxf_write_klv_fill ( AVFormatContext s)
static

◆ mxf_write_partition()

static int mxf_write_partition ( AVFormatContext s,
int  bodysid,
int  indexsid,
const uint8_t *  key,
int  write_metadata 
)
static

◆ mxf_parse_prores_frame()

static int mxf_parse_prores_frame ( AVFormatContext s,
AVStream st,
AVPacket pkt 
)
static

Definition at line 2244 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_parse_dnxhd_frame()

static int mxf_parse_dnxhd_frame ( AVFormatContext s,
AVStream st,
AVPacket pkt 
)
static

Definition at line 2295 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_parse_dv_frame()

static int mxf_parse_dv_frame ( AVFormatContext s,
AVStream st,
AVPacket pkt 
)
static

Definition at line 2366 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_parse_h264_frame()

static int mxf_parse_h264_frame ( AVFormatContext s,
AVStream st,
AVPacket pkt,
MXFIndexEntry e 
)
static

Definition at line 2459 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ get_ffv1_unsigned_symbol()

static int get_ffv1_unsigned_symbol ( RangeCoder c,
uint8_t *  state 
)
inlinestatic

Definition at line 2574 of file mxfenc.c.

Referenced by mxf_parse_ffv1_frame().

◆ mxf_parse_ffv1_frame()

static int mxf_parse_ffv1_frame ( AVFormatContext s,
AVStream st,
AVPacket pkt 
)
static

Definition at line 2596 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_parse_jpeg2000_frame()

static int mxf_parse_jpeg2000_frame ( AVFormatContext s,
AVStream st,
AVPacket pkt 
)
static

Definition at line 2642 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_get_mpeg2_codec_ul()

static const UID* mxf_get_mpeg2_codec_ul ( AVCodecParameters par)
static

Definition at line 2708 of file mxfenc.c.

Referenced by mxf_parse_mpeg2_frame().

◆ mxf_parse_mpeg2_frame()

static int mxf_parse_mpeg2_frame ( AVFormatContext s,
AVStream st,
AVPacket pkt,
MXFIndexEntry e 
)
static

Definition at line 2728 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_parse_timestamp()

static uint64_t mxf_parse_timestamp ( int64_t  timestamp64)
static

Definition at line 2796 of file mxfenc.c.

Referenced by mxf_init().

◆ mxf_gen_umid()

static void mxf_gen_umid ( AVFormatContext s)
static

Definition at line 2812 of file mxfenc.c.

Referenced by mxf_init().

◆ mxf_init_timecode()

static int mxf_init_timecode ( AVFormatContext s,
AVStream st,
AVRational  tbc 
)
static

Definition at line 2824 of file mxfenc.c.

Referenced by mxf_init().

◆ choose_chroma_location()

static enum AVChromaLocation choose_chroma_location ( AVFormatContext s,
AVStream st 
)
static

Definition at line 2848 of file mxfenc.c.

Referenced by mxf_init().

◆ mxf_init()

static int mxf_init ( AVFormatContext s)
static

Definition at line 2877 of file mxfenc.c.

◆ mxf_write_system_item()

static void mxf_write_system_item ( AVFormatContext s)
static

Definition at line 3108 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_write_d10_audio_packet()

static void mxf_write_d10_audio_packet ( AVFormatContext s,
AVStream st,
AVPacket pkt 
)
static

Definition at line 3157 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_write_opatom_body_partition()

static int mxf_write_opatom_body_partition ( AVFormatContext s)
static

Definition at line 3189 of file mxfenc.c.

Referenced by mxf_write_footer(), and mxf_write_opatom_packet().

◆ mxf_write_opatom_packet()

static int mxf_write_opatom_packet ( AVFormatContext s,
AVPacket pkt,
MXFIndexEntry ie 
)
static

Definition at line 3210 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_compute_edit_unit_byte_count()

static void mxf_compute_edit_unit_byte_count ( AVFormatContext s)
static

Definition at line 3239 of file mxfenc.c.

Referenced by mxf_write_packet().

◆ mxf_write_packet()

static int mxf_write_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 3260 of file mxfenc.c.

◆ mxf_write_random_index_pack()

static void mxf_write_random_index_pack ( AVFormatContext s)
static

Definition at line 3391 of file mxfenc.c.

Referenced by mxf_write_footer().

◆ mxf_write_footer()

static int mxf_write_footer ( AVFormatContext s)
static

Definition at line 3418 of file mxfenc.c.

◆ mxf_deinit()

static void mxf_deinit ( AVFormatContext s)
static

Definition at line 3475 of file mxfenc.c.

◆ mxf_interleave_get_packet()

static int mxf_interleave_get_packet ( AVFormatContext s,
AVPacket out,
int  flush 
)
static

Definition at line 3484 of file mxfenc.c.

Referenced by mxf_interleave().

◆ mxf_compare_timestamps()

static int mxf_compare_timestamps ( AVFormatContext s,
const AVPacket next,
const AVPacket pkt 
)
static

Definition at line 3535 of file mxfenc.c.

Referenced by mxf_interleave().

◆ mxf_interleave()

static int mxf_interleave ( AVFormatContext s,
AVPacket pkt,
int  flush,
int  has_packet 
)
static

Definition at line 3545 of file mxfenc.c.

◆ mxf_check_bitstream()

static int mxf_check_bitstream ( AVFormatContext s,
AVStream st,
const AVPacket pkt 
)
static

Definition at line 3558 of file mxfenc.c.

Variable Documentation

◆ ff_mxf_d10_muxer

const FFOutputFormat ff_mxf_d10_muxer
Initial value:
= {
.p.name = "mxf_d10",
.p.long_name = NULL_IF_CONFIG_SMALL("MXF (Material eXchange Format) D-10 Mapping"),
.p.mime_type = "application/mxf",
.priv_data_size = sizeof(MXFContext),
.p.audio_codec = AV_CODEC_ID_PCM_S16LE,
.p.video_codec = AV_CODEC_ID_MPEG2VIDEO,
.init = mxf_init,
.write_packet = mxf_write_packet,
.write_trailer = mxf_write_footer,
.deinit = mxf_deinit,
.p.flags = AVFMT_NOTIMESTAMPS,
.interleave_packet = mxf_interleave,
.p.priv_class = &mxf_d10_muxer_class,
}

Definition at line 3652 of file mxfenc.c.

◆ ff_mxf_opatom_muxer

const FFOutputFormat ff_mxf_opatom_muxer
Initial value:
= {
.p.name = "mxf_opatom",
.p.long_name = NULL_IF_CONFIG_SMALL("MXF (Material eXchange Format) Operational Pattern Atom"),
.p.mime_type = "application/mxf",
.p.extensions = "mxf",
.priv_data_size = sizeof(MXFContext),
.p.audio_codec = AV_CODEC_ID_PCM_S16LE,
.p.video_codec = AV_CODEC_ID_DNXHD,
.init = mxf_init,
.write_packet = mxf_write_packet,
.write_trailer = mxf_write_footer,
.deinit = mxf_deinit,
.p.flags = AVFMT_NOTIMESTAMPS,
.interleave_packet = mxf_interleave,
.p.priv_class = &mxf_opatom_muxer_class,
.check_bitstream = mxf_check_bitstream,
}

Definition at line 3668 of file mxfenc.c.

◆ id

enum AVCodecID id

Definition at line 158 of file mxfenc.c.

◆ index

enum ULIndex index

Definition at line 159 of file mxfenc.c.

◆ mxf_essence_mappings

const { ... } mxf_essence_mappings[]

◆ mxf_essence_container_uls

const MXFContainerEssenceEntry mxf_essence_container_uls[]
static

Definition at line 182 of file mxfenc.c.

Referenced by mxf_init(), and mxf_write_package().

◆ mxf_d10_codec_uls

const UID mxf_d10_codec_uls[]
static
Initial value:
= {
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x01,0x02,0x01,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x01,0x02,0x01,0x02 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x01,0x02,0x01,0x03 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x01,0x02,0x01,0x04 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x01,0x02,0x01,0x05 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x01,0x02,0x01,0x06 },
}

Definition at line 246 of file mxfenc.c.

Referenced by mxf_init().

◆ mxf_d10_container_uls

const UID mxf_d10_container_uls[]
static
Initial value:
= {
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x01,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x02,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x03,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x04,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x05,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x01,0x06,0x01 },
}

Definition at line 255 of file mxfenc.c.

Referenced by mxf_init().

◆ mxf_ffv1_codec_uls

const UID mxf_ffv1_codec_uls[]
static
Initial value:
= {
{ 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0D,0x04,0x01,0x02,0x02,0x03,0x09,0x01,0x00 },
{ 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0D,0x04,0x01,0x02,0x02,0x03,0x09,0x02,0x00 },
{ 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0D,0x04,0x01,0x02,0x02,0x03,0x09,0x03,0x00 },
{ 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0D,0x04,0x01,0x02,0x02,0x03,0x09,0x04,0x00 },
{ 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0D,0x04,0x01,0x02,0x02,0x03,0x09,0x05,0x00 },
}

Definition at line 265 of file mxfenc.c.

Referenced by mxf_parse_ffv1_frame().

◆ product_uid

const uint8_t product_uid[] = { 0xAD,0xAB,0x44,0x24,0x2f,0x25,0x4d,0xc7,0x92,0xff,0x29,0xbd,0x00,0x0c,0x00,0x02}
static

Definition at line 273 of file mxfenc.c.

Referenced by mxf_write_identification().

◆ uuid_base

const uint8_t uuid_base[] = { 0xAD,0xAB,0x44,0x24,0x2f,0x25,0x4d,0xc7,0x92,0xff }
static

Definition at line 274 of file mxfenc.c.

Referenced by mxf_write_uuid().

◆ umid_ul

const uint8_t umid_ul[] = { 0x06,0x0A,0x2B,0x34,0x01,0x01,0x01,0x05,0x01,0x01,0x0D,0x00,0x13 }
static

Definition at line 275 of file mxfenc.c.

Referenced by mxf_write_umid().

◆ op1a_ul

const uint8_t op1a_ul[] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x01,0x09,0x00 }
static

complete key for operation pattern, partitions, and primer pack

Definition at line 280 of file mxfenc.c.

Referenced by mxf_write_partition(), and mxf_write_preface().

◆ opatom_ul

const uint8_t opatom_ul[] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x02,0x0D,0x01,0x02,0x01,0x10,0x03,0x00,0x00 }
static

Definition at line 281 of file mxfenc.c.

Referenced by mxf_write_partition(), and mxf_write_preface().

◆ footer_partition_key

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

Definition at line 282 of file mxfenc.c.

Referenced by mxf_write_footer(), and mxf_write_partition().

◆ primer_pack_key

const uint8_t primer_pack_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x05,0x01,0x00 }
static

Definition at line 283 of file mxfenc.c.

Referenced by mxf_write_primer_pack().

◆ index_table_segment_key

const uint8_t index_table_segment_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x10,0x01,0x00 }
static

Definition at line 284 of file mxfenc.c.

Referenced by mxf_write_index_table_segment().

◆ header_open_partition_key

const uint8_t header_open_partition_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x02,0x01,0x00 }
static

Definition at line 285 of file mxfenc.c.

Referenced by mxf_write_opatom_packet(), and mxf_write_packet().

◆ header_closed_partition_key

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

Definition at line 286 of file mxfenc.c.

Referenced by mxf_write_footer().

◆ klv_fill_key

const uint8_t klv_fill_key[] = { 0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x03,0x01,0x02,0x10,0x01,0x00,0x00,0x00 }
static

Definition at line 287 of file mxfenc.c.

Referenced by mxf_write_klv_fill().

◆ body_partition_key

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

◆ header_metadata_key

const uint8_t header_metadata_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01 }
static

partial key for header metadata

Definition at line 293 of file mxfenc.c.

Referenced by mxf_write_metadata_key().

◆ multiple_desc_ul

const uint8_t multiple_desc_ul[] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x0D,0x01,0x03,0x01,0x02,0x7F,0x01,0x00 }
static

◆ mxf_local_tag_batch

const MXFLocalTagPair mxf_local_tag_batch[]
static

◆ smpte_12m_timecode_track_data_ul

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

Definition at line 978 of file mxfenc.c.

Referenced by mxf_write_common_fields().

◆ mxf_s436m_anc_descriptor_key

const UID mxf_s436m_anc_descriptor_key = { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x5c,0x00 }
static

Definition at line 1181 of file mxfenc.c.

Referenced by mxf_write_s436m_anc_desc().

◆ mxf_mpegvideo_descriptor_key

const UID mxf_mpegvideo_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x51,0x00 }
static

Definition at line 1182 of file mxfenc.c.

Referenced by mxf_write_mpegvideo_desc().

◆ mxf_wav_descriptor_key

const UID mxf_wav_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x48,0x00 }
static

Definition at line 1183 of file mxfenc.c.

Referenced by mxf_write_wav_desc().

◆ mxf_aes3_descriptor_key

const UID mxf_aes3_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x47,0x00 }
static

Definition at line 1184 of file mxfenc.c.

Referenced by mxf_write_aes3_desc().

◆ mxf_cdci_descriptor_key

const UID mxf_cdci_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x28,0x00 }
static

Definition at line 1185 of file mxfenc.c.

Referenced by mxf_write_cdci_desc(), mxf_write_ffv1_desc(), and mxf_write_h264_desc().

◆ mxf_rgba_descriptor_key

const UID mxf_rgba_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x29,0x00 }
static

Definition at line 1186 of file mxfenc.c.

Referenced by mxf_write_cdci_common(), and mxf_write_ffv1_desc().

◆ mxf_generic_sound_descriptor_key

const UID mxf_generic_sound_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x42,0x00 }
static

Definition at line 1187 of file mxfenc.c.

Referenced by mxf_write_generic_sound_desc().

◆ mxf_avc_subdescriptor_key

const UID mxf_avc_subdescriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x6E,0x00 }
static

Definition at line 1189 of file mxfenc.c.

Referenced by mxf_write_avc_subdesc().

◆ mxf_ffv1_subdescriptor_key

const UID mxf_ffv1_subdescriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x81,0x03 }
static

Definition at line 1190 of file mxfenc.c.

Referenced by mxf_write_ffv1_subdesc().

◆ mxf_jpeg2000_subdescriptor_key

const UID mxf_jpeg2000_subdescriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0D,0x01,0x01,0x01,0x01,0x01,0x5A,0x00}
static

Definition at line 1191 of file mxfenc.c.

Referenced by mxf_write_jpeg2000_subdesc().

◆ mxf_indirect_value_utf16le

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

Definition at line 1740 of file mxfenc.c.

Referenced by mxf_write_tagged_value().

◆ profile

uint8_t profile

Definition at line 2233 of file mxfenc.c.

Referenced by amf_encode_init_av1(), amf_encode_init_h264(), amf_encode_init_hevc(), aribcaption_init(), av_get_profile_name(), avcodec_profile_name(), avcodec_string(), color_config(), d3d12va_encode_hevc_init_sequence_params(), d3d12va_encode_set_profile(), dca_parse_params(), decode_profile_tier_level(), dv_revise_cnos(), ff_AMediaCodecList_getCodecNameByType(), ff_decklink_set_configs(), ff_dovi_rpu_generate(), ff_dovi_rpu_parse(), ff_h264_get_profile(), ff_h265_get_profile(), ff_h265_guess_level(), ff_icc_profile_attach(), ff_icc_profile_detect_transfer(), ff_icc_profile_read_primaries(), ff_icc_profile_sanitize(), ff_isom_get_vpcc_features(), ff_mpeg4_decode_picture_header(), ff_vaapi_parse_hevc_rext_scc_profile(), ff_vdpau_common_init(), ff_vk_decode_init(), ff_vk_h264_profile_to_av(), ff_vk_h264_profile_to_vk(), ff_vk_h265_profile_to_av(), ff_vk_h265_profile_to_vk(), ff_vk_update_thread_context(), ffat_get_format_id(), frame_tag(), get_cm_codec_type(), get_profile_font_size(), get_vt_h264_profile_level(), get_vt_hevc_profile_level(), hq_decode_frame(), iccdetect_filter_frame(), init_profile(), libaribb24_generate_ass_header(), libaribb24_init(), main(), mediacodec_dec_get_video_codec(), mf_encv_output_adjust(), mov_write_dvc1_structs(), mpeg4_decode_profile_level(), mxf_parse_h264_frame(), mxf_parse_prores_frame(), parse(), parse_avs2_seq_header(), parse_avs3_nal_units(), parse_bitstream(), parse_high_res_grid(), print_profile(), show_stream(), v4l2_h264_profile_from_ff(), v4l2_mpeg4_profile_from_ff(), vaapi_encode_profile_entrypoint(), vc1_probe(), vdpau_av1_init(), vdpau_h264_init(), vdpau_hevc_init(), vdpau_hevc_parse_rext_profile(), vdpau_mpeg4_init(), vdpau_vc1_init(), vdpau_vp9_init(), vp7_decode_frame_header(), vp9_metadata_update_fragment(), vp9_superframe_filter(), vp9_superframe_split_filter(), vulkan_setup_profile(), and write_codec_attr().

◆ codec_ul

const UID codec_ul

◆ mxf_prores_codec_uls

const { ... } mxf_prores_codec_uls[]
Initial value:
= {
{ AV_PROFILE_PRORES_PROXY, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x03,0x06,0x01,0x00 } },
{ AV_PROFILE_PRORES_LT, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x03,0x06,0x02,0x00 } },
{ AV_PROFILE_PRORES_STANDARD, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x03,0x06,0x03,0x00 } },
{ AV_PROFILE_PRORES_HQ, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x03,0x06,0x04,0x00 } },
{ AV_PROFILE_PRORES_4444, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x03,0x06,0x05,0x00 } },
{ AV_PROFILE_PRORES_XQ, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x03,0x06,0x06,0x00 } },
}

Referenced by mxf_parse_prores_frame().

◆ cid

uint16_t cid

◆ interlaced

uint8_t interlaced

◆ mxf_dnxhd_codec_uls

const { ... } mxf_dnxhd_codec_uls[]
Initial value:
= {
{ 1235, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x01,0x00,0x00 } },
{ 1237, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x03,0x00,0x00 } },
{ 1238, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x04,0x00,0x00 } },
{ 1241, 1, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x07,0x00,0x00 } },
{ 1242, 1, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x08,0x00,0x00 } },
{ 1243, 1, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x09,0x00,0x00 } },
{ 1244, 1, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x0a,0x00,0x00 } },
{ 1250, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x10,0x00,0x00 } },
{ 1251, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x11,0x00,0x00 } },
{ 1252, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x12,0x00,0x00 } },
{ 1253, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x13,0x00,0x00 } },
{ 1256, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x16,0x00,0x00 } },
{ 1258, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x18,0x00,0x00 } },
{ 1259, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x19,0x00,0x00 } },
{ 1260, 1, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x1a,0x00,0x00 } },
{ 1270, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x24,0x00,0x00 } },
{ 1271, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x25,0x00,0x00 } },
{ 1272, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x26,0x00,0x00 } },
{ 1273, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x27,0x00,0x00 } },
{ 1274, 0, { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x71,0x28,0x00,0x00 } },
}

Referenced by mxf_parse_dnxhd_frame().

◆ container_ul

const UID container_ul

Definition at line 2341 of file mxfenc.c.

Referenced by mxf_parse_structural_metadata().

◆ mxf_dv_uls

const { ... } mxf_dv_uls[]
Initial value:
= {
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x01,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x01,0x01,0x00 } },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x02,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x01,0x02,0x00 } },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x40,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x01,0x00 }, },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x41,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x02,0x00 }, },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x50,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x03,0x00 }, },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x51,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x04,0x00 }, },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x60,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x05,0x00 }, },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x61,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x06,0x00 }, },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x62,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x07,0x00 }, },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x63,0x01 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x08,0x00 }, },
}

Referenced by mxf_parse_dv_frame().

◆ uid

UID uid

◆ frame_size

int frame_size
Examples
transcode_aac.c.

Definition at line 2429 of file mxfenc.c.

Referenced by aac_encode_frame(), ac3_eac3_probe(), add_samples_to_fifo(), aic_decode_header(), alac_entropy_coder(), alac_linear_predictor(), amr_handle_packet(), apply_filter(), av_buffersink_set_frame_size(), avpriv_mpegaudio_decode_header(), bitpacked_decode_yuv422p10(), build_frame_code(), caf_write_header(), celt_gauge_psy_weight(), codec2_mode_bit_rate(), codec2_read_packet(), compute_frame_duration(), compute_muxer_pkt_fields(), convert_samples(), dca_parse_params(), dcadec_decode_frame(), decode_frame(), decode_packet(), dfa_read_packet(), dvvideo_decode_frame(), enable_pcr_generation_for_stream(), encode_frame(), escape124_decode_frame(), ff_celt_decode_frame(), ff_dv_frame_profile(), ff_mpa_decode_header(), ff_opus_psy_postencode_update(), ff_psy_preprocess(), ff_put_wav_header(), ff_rtp_send_h261(), ff_rtp_send_vc2hq(), ff_sipr_decode_frame_16k(), ff_vbv_update(), find_expected_header(), flic_decode_frame_15_16BPP(), flic_decode_frame_1BPP(), flic_decode_frame_24BPP(), flic_decode_frame_8BPP(), g723_1_decode_frame(), g723_1_encode_frame(), g723_1_parse(), generate_raw_frame(), get_audio_frame_duration(), get_max_frame_size(), guess_pkt_duration(), init_converted_samples(), init_output_frame(), libopus_encode_init(), lmlm4_read_packet(), load_encode_and_write(), main(), move_audio(), mp3_read_header(), mp3lame_encode_frame(), mpegaudio_parse(), mxf_parse_h264_frame(), mxf_write_d10_audio_packet(), new_stream_subtitle(), new_stream_video(), on2avc_decode_frame(), opus_duration(), opus_encode_frame(), pcm_bluray_encode_init(), pcm_dvd_encode_init(), prores_encode_frame(), qdm2_decode(), qoa_decode_frame(), raw_decode(), read_in_data(), read_packet(), return_stored_frame(), rm_write_header(), rpl_read_packet(), rtp_send_ilbc(), rv10_write_header(), s302m_decode_frame(), s302m_parse_frame_header(), samples_per_packet(), speex_decode_stereo(), store_packet(), str_probe(), str_read_packet(), swf_write_video(), vc1t_read_packet(), vorbis_encode_frame(), vp9_superframe_split_filter(), wavpack_decode_frame(), xan_wc3_copy_pixel_run(), xan_wc3_output_pixel_run(), and xmv_fetch_video_packet().

◆ intra_only

int8_t intra_only

◆ mxf_h264_codec_uls

const { ... } mxf_h264_codec_uls[]
Initial value:
= {
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x31,0x11,0x01 }, 0, 66, 0, -1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x31,0x20,0x01 }, 0, 77, 0, -1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x31,0x30,0x01 }, 0, 88, 0, -1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x31,0x40,0x01 }, 0, 100, 0, -1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x31,0x50,0x01 }, 0, 110, 0, 0 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x31,0x60,0x01 }, 0, 122, 0, 0 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x31,0x70,0x01 }, 0, 244, 0, 0 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x20,0x01 }, 0, 110, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x01 }, 232960, 110, 1, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x02 }, 281088, 110, 1, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x03 }, 232960, 110, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x04 }, 281088, 110, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x08 }, 116736, 110, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x09 }, 140800, 110, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x30,0x01 }, 0, 122, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x01 }, 472576, 122, 1, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x02 }, 568832, 122, 1, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x03 }, 472576, 122, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x04 }, 568832, 122, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x08 }, 236544, 122, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x09 }, 284672, 122, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x01,0x32,0x40,0x01 }, 0, 244, 0, 1 },
{{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0d,0x04,0x01,0x02,0x02,0x01,0x32,0x50,0x01 }, 0, 44, 0, -1 },
}

Referenced by mxf_parse_h264_frame().

◆ mxf_mpeg2_codec_uls

const UID mxf_mpeg2_codec_uls[]
static
Initial value:
= {
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x01,0x10,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x01,0x11,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x02,0x02,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x02,0x03,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x03,0x02,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x03,0x03,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x04,0x02,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x04,0x03,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x05,0x02,0x00 },
{ 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x05,0x03,0x00 },
}

Definition at line 2695 of file mxfenc.c.

Referenced by mxf_get_mpeg2_codec_ul().

◆ system_metadata_pack_key

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

Definition at line 3105 of file mxfenc.c.

Referenced by mxf_write_system_item().

◆ system_metadata_package_set_key

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

Definition at line 3106 of file mxfenc.c.

Referenced by mxf_write_system_item().

◆ mxf_options

const AVOption mxf_options[]
static
Initial value:
= {
{ "store_user_comments", "",
0x42, AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},
{ NULL },
}

Definition at line 3588 of file mxfenc.c.

◆ mxf_muxer_class

const AVClass mxf_muxer_class
static
Initial value:
= {
.class_name = "MXF muxer",
.item_name = av_default_item_name,
.option = mxf_options,
}

Definition at line 3595 of file mxfenc.c.

◆ d10_options

const AVOption d10_options[]
static
Initial value:
= {
{ "d10_channelcount", "Force/set channelcount in generic sound essence descriptor",
0x42, AV_OPT_TYPE_INT, {.i64 = -1}, -1, 8, AV_OPT_FLAG_ENCODING_PARAM},
{ "store_user_comments", "",
0x42, AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},
{ NULL },
}

Definition at line 3602 of file mxfenc.c.

◆ mxf_d10_muxer_class

const AVClass mxf_d10_muxer_class
static
Initial value:
= {
.class_name = "MXF-D10 muxer",
.item_name = av_default_item_name,
.option = d10_options,
}

Definition at line 3611 of file mxfenc.c.

◆ opatom_options

const AVOption opatom_options[]
static
Initial value:
= {
{ "mxf_audio_edit_rate", "Audio edit rate for timecode",
0x42, AV_OPT_TYPE_RATIONAL, {.dbl=25}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM },
{ "store_user_comments", "",
0x42, AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},
{ NULL },
}

Definition at line 3618 of file mxfenc.c.

◆ mxf_opatom_muxer_class

const AVClass mxf_opatom_muxer_class
static
Initial value:
= {
.class_name = "MXF-OPAtom muxer",
.item_name = av_default_item_name,
.option = opatom_options,
}

Definition at line 3627 of file mxfenc.c.

◆ ff_mxf_muxer

const FFOutputFormat ff_mxf_muxer
Initial value:
= {
.p.name = "mxf",
.p.long_name = NULL_IF_CONFIG_SMALL("MXF (Material eXchange Format)"),
.p.mime_type = "application/mxf",
.p.extensions = "mxf",
.priv_data_size = sizeof(MXFContext),
.p.audio_codec = AV_CODEC_ID_PCM_S16LE,
.p.video_codec = AV_CODEC_ID_MPEG2VIDEO,
.init = mxf_init,
.write_packet = mxf_write_packet,
.write_trailer = mxf_write_footer,
.deinit = mxf_deinit,
.p.flags = AVFMT_NOTIMESTAMPS,
.interleave_packet = mxf_interleave,
.p.priv_class = &mxf_muxer_class,
.check_bitstream = mxf_check_bitstream,
}

Definition at line 3634 of file mxfenc.c.

AV_CODEC_ID_PCM_S16LE
@ AV_CODEC_ID_PCM_S16LE
Definition: codec_id.h:334
d10_options
static const AVOption d10_options[]
Definition: mxfenc.c:3602
INDEX_H264
@ INDEX_H264
Definition: mxfenc.c:151
AVFMT_NOTIMESTAMPS
#define AVFMT_NOTIMESTAMPS
Format does not need / have any timestamps.
Definition: avformat.h:479
MXF_COMMON_OPTIONS
#define MXF_COMMON_OPTIONS
Definition: mxfenc.c:3568
AV_OPT_TYPE_RATIONAL
@ AV_OPT_TYPE_RATIONAL
Underlying C type is AVRational.
Definition: opt.h:280
mxf_muxer_class
static const AVClass mxf_muxer_class
Definition: mxfenc.c:3595
MXFContext
Definition: mxfdec.c:301
INDEX_MPEG2
@ INDEX_MPEG2
Definition: mxfenc.c:143
AV_PROFILE_PRORES_STANDARD
#define AV_PROFILE_PRORES_STANDARD
Definition: defs.h:183
INDEX_DNXHD
@ INDEX_DNXHD
Definition: mxfenc.c:149
INDEX_JPEG2000
@ INDEX_JPEG2000
Definition: mxfenc.c:150
AV_PROFILE_PRORES_HQ
#define AV_PROFILE_PRORES_HQ
Definition: defs.h:184
mxf_write_footer
static int mxf_write_footer(AVFormatContext *s)
Definition: mxfenc.c:3418
mxf_check_bitstream
static int mxf_check_bitstream(AVFormatContext *s, AVStream *st, const AVPacket *pkt)
Definition: mxfenc.c:3558
mxf_d10_muxer_class
static const AVClass mxf_d10_muxer_class
Definition: mxfenc.c:3611
INDEX_DV
@ INDEX_DV
Definition: mxfenc.c:148
AV_CODEC_ID_H264
@ AV_CODEC_ID_H264
Definition: codec_id.h:79
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:237
mxf_init
static int mxf_init(AVFormatContext *s)
Definition: mxfenc.c:2877
AV_OPT_FLAG_ENCODING_PARAM
#define AV_OPT_FLAG_ENCODING_PARAM
A generic parameter which can be set by the user for muxing or encoding.
Definition: opt.h:352
AV_PROFILE_PRORES_LT
#define AV_PROFILE_PRORES_LT
Definition: defs.h:182
mxf_deinit
static void mxf_deinit(AVFormatContext *s)
Definition: mxfenc.c:3475
INDEX_FFV1
@ INDEX_FFV1
Definition: mxfenc.c:154
AV_CODEC_ID_FFV1
@ AV_CODEC_ID_FFV1
Definition: codec_id.h:85
AV_CODEC_ID_PCM_S24LE
@ AV_CODEC_ID_PCM_S24LE
Definition: codec_id.h:346
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:94
mxf_write_packet
static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt)
Definition: mxfenc.c:3260
INDEX_AES3
@ INDEX_AES3
Definition: mxfenc.c:144
AV_PROFILE_PRORES_4444
#define AV_PROFILE_PRORES_4444
Definition: defs.h:185
mxf_opatom_muxer_class
static const AVClass mxf_opatom_muxer_class
Definition: mxfenc.c:3627
AV_PROFILE_PRORES_PROXY
#define AV_PROFILE_PRORES_PROXY
Definition: defs.h:181
opatom_options
static const AVOption opatom_options[]
Definition: mxfenc.c:3618
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
AV_CODEC_ID_DVVIDEO
@ AV_CODEC_ID_DVVIDEO
Definition: codec_id.h:76
AV_CODEC_ID_JPEG2000
@ AV_CODEC_ID_JPEG2000
Definition: codec_id.h:140
mxf_interleave
static int mxf_interleave(AVFormatContext *s, AVPacket *pkt, int flush, int has_packet)
Definition: mxfenc.c:3545
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition: opt.h:259
INDEX_PRORES
@ INDEX_PRORES
Definition: mxfenc.c:153
mxf_options
static const AVOption mxf_options[]
Definition: mxfenc.c:3588
AV_OPT_TYPE_BOOL
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
Definition: opt.h:327
AV_PROFILE_PRORES_XQ
#define AV_PROFILE_PRORES_XQ
Definition: defs.h:186
AV_CODEC_ID_MPEG2VIDEO
@ AV_CODEC_ID_MPEG2VIDEO
preferred ID for MPEG-1/2 video decoding
Definition: codec_id.h:54
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
Definition: opt.h:299
AV_CODEC_ID_DNXHD
@ AV_CODEC_ID_DNXHD
Definition: codec_id.h:151
AV_CODEC_ID_PRORES
@ AV_CODEC_ID_PRORES
Definition: codec_id.h:200