FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
mxf.c File Reference
#include "libavutil/common.h"
#include "mxf.h"

Go to the source code of this file.

Functions

int ff_mxf_decode_pixel_layout (const char pixel_layout[16], enum AVPixelFormat *pix_fmt)
 
const MXFSamplesPerFrameff_mxf_get_samples_per_frame (AVFormatContext *s, AVRational time_base)
 
int ff_mxf_get_content_package_rate (AVRational time_base)
 

Variables

const MXFCodecUL ff_mxf_data_definition_uls []
 SMPTE RP224 http://www.smpte-ra.org/mdd/index.html. More...
 
const MXFCodecUL ff_mxf_codec_uls []
 
const MXFCodecUL ff_mxf_pixel_format_uls []
 
const MXFCodecUL ff_mxf_codec_tag_uls []
 
struct {
   enum AVPixelFormat   pix_fmt
 
   const char   data [16]
 
ff_mxf_pixel_layouts []
 
static const int num_pixel_layouts = FF_ARRAY_ELEMS(ff_mxf_pixel_layouts)
 
static const MXFSamplesPerFrame mxf_spf []
 
static const AVRational mxf_time_base []
 
static const int mxf_content_package_rates []
 

Function Documentation

int ff_mxf_decode_pixel_layout ( const char  pixel_layout[16],
enum AVPixelFormat pix_fmt 
)

Definition at line 120 of file mxf.c.

Referenced by mxf_read_pixel_layout().

const MXFSamplesPerFrame* ff_mxf_get_samples_per_frame ( AVFormatContext s,
AVRational  time_base 
)

Definition at line 155 of file mxf.c.

Referenced by mxf_compute_sample_count(), and mxf_write_header().

int ff_mxf_get_content_package_rate ( AVRational  time_base)

Definition at line 180 of file mxf.c.

Referenced by mxf_write_header().

Variable Documentation

const MXFCodecUL ff_mxf_data_definition_uls[]
Initial value:
= {
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x01,0x03,0x02,0x02,0x01,0x00,0x00,0x00 }, 13, AVMEDIA_TYPE_VIDEO },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x01,0x03,0x02,0x02,0x02,0x00,0x00,0x00 }, 13, AVMEDIA_TYPE_AUDIO },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x01,0x03,0x02,0x02,0x03,0x00,0x00,0x00 }, 13, AVMEDIA_TYPE_DATA },
{ { 0x80,0x7D,0x00,0x60,0x08,0x14,0x3E,0x6F,0x6F,0x3C,0x8C,0xE1,0x6C,0xEF,0x11,0xD2 }, 16, AVMEDIA_TYPE_VIDEO },
{ { 0x80,0x7D,0x00,0x60,0x08,0x14,0x3E,0x6F,0x78,0xE1,0xEB,0xE1,0x6C,0xEF,0x11,0xD2 }, 16, AVMEDIA_TYPE_AUDIO },
{ { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, 0, AVMEDIA_TYPE_DATA },
}
Opaque data information usually continuous.
Definition: avutil.h:203

SMPTE RP224 http://www.smpte-ra.org/mdd/index.html.

Definition at line 28 of file mxf.c.

Referenced by mxf_add_metadata_stream(), mxf_get_data_definition_ul(), and mxf_parse_structural_metadata().

const MXFCodecUL ff_mxf_codec_uls[]

Definition at line 37 of file mxf.c.

Referenced by mxf_parse_structural_metadata().

const MXFCodecUL ff_mxf_pixel_format_uls[]
Initial value:
= {
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0A,0x04,0x01,0x02,0x01,0x01,0x02,0x01,0x01 }, 16, AV_PIX_FMT_UYVY422 },
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0A,0x04,0x01,0x02,0x01,0x01,0x02,0x01,0x02 }, 16, AV_PIX_FMT_YUYV422 },
{ { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, 0, AV_PIX_FMT_NONE },
}
packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
Definition: pixfmt.h:81
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
Definition: pixfmt.h:67

Definition at line 78 of file mxf.c.

Referenced by mxf_parse_structural_metadata().

const MXFCodecUL ff_mxf_codec_tag_uls[]
Initial value:
= {
{ { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0E,0x04,0x03,0x01,0x01,0x03,0x01,0x00 }, 15, MKTAG('A', 'V', 'u', 'p') },
{ { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, 0, 0 },
}
#define MKTAG(a, b, c, d)
Definition: common.h:366

Definition at line 84 of file mxf.c.

Referenced by mxf_parse_structural_metadata().

enum AVPixelFormat pix_fmt

Definition at line 90 of file mxf.c.

const char data[16]

Definition at line 91 of file mxf.c.

const { ... } ff_mxf_pixel_layouts[]
Initial value:
= {
{AV_PIX_FMT_ABGR, {'A', 8, 'B', 8, 'G', 8, 'R', 8 }},
{AV_PIX_FMT_ARGB, {'A', 8, 'R', 8, 'G', 8, 'B', 8 }},
{AV_PIX_FMT_BGR24, {'B', 8, 'G', 8, 'R', 8 }},
{AV_PIX_FMT_BGRA, {'B', 8, 'G', 8, 'R', 8, 'A', 8 }},
{AV_PIX_FMT_RGB24, {'R', 8, 'G', 8, 'B', 8 }},
{AV_PIX_FMT_RGB444BE,{'F', 4, 'R', 4, 'G', 4, 'B', 4 }},
{AV_PIX_FMT_RGB48BE, {'R', 8, 'r', 8, 'G', 8, 'g', 8, 'B', 8, 'b', 8 }},
{AV_PIX_FMT_RGB48BE, {'R', 16, 'G', 16, 'B', 16 }},
{AV_PIX_FMT_RGB48LE, {'r', 8, 'R', 8, 'g', 8, 'G', 8, 'b', 8, 'B', 8 }},
{AV_PIX_FMT_RGB555BE,{'F', 1, 'R', 5, 'G', 5, 'B', 5 }},
{AV_PIX_FMT_RGB565BE,{'R', 5, 'G', 6, 'B', 5 }},
{AV_PIX_FMT_RGBA, {'R', 8, 'G', 8, 'B', 8, 'A', 8 }},
{AV_PIX_FMT_PAL8, {'P', 8 }},
{AV_PIX_FMT_GRAY8, {'A', 8 }},
}
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition: pixfmt.h:68
packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), big-endian, X=unused/undefined
Definition: pixfmt.h:140
8 bits with AV_PIX_FMT_RGB32 palette
Definition: pixfmt.h:77
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as lit...
Definition: pixfmt.h:103
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
Definition: pixfmt.h:105
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
Definition: pixfmt.h:94
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
Definition: pixfmt.h:95
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
Definition: pixfmt.h:92
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition: pixfmt.h:93
packed RGB 8:8:8, 24bpp, BGRBGR...
Definition: pixfmt.h:69
packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined
Definition: pixfmt.h:107
Y , 8bpp.
Definition: pixfmt.h:74
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
Definition: pixfmt.h:102

Referenced by ff_mxf_decode_pixel_layout().

const int num_pixel_layouts = FF_ARRAY_ELEMS(ff_mxf_pixel_layouts)
static

Definition at line 118 of file mxf.c.

Referenced by ff_mxf_decode_pixel_layout().

const MXFSamplesPerFrame mxf_spf[]
static
Initial value:
= {
{ { 1001, 24000 }, { 2002, 0, 0, 0, 0, 0 } },
{ { 1, 24}, { 2000, 0, 0, 0, 0, 0 } },
{ { 1001, 30000 }, { 1602, 1601, 1602, 1601, 1602, 0 } },
{ { 1001, 60000 }, { 801, 801, 800, 801, 801, 0 } },
{ { 1, 25 }, { 1920, 0, 0, 0, 0, 0 } },
{ { 1, 50 }, { 960, 0, 0, 0, 0, 0 } },
{ { 1, 60 }, { 800, 0, 0, 0, 0, 0 } },
}

Definition at line 134 of file mxf.c.

const AVRational mxf_time_base[]
static
Initial value:
= {
{ 1001, 24000 },
{ 1, 24},
{ 1001, 30000 },
{ 1001, 60000 },
{ 1, 25 },
{ 1, 50 },
{ 1, 60 },
{ 0, 0}
}

Definition at line 144 of file mxf.c.

const int mxf_content_package_rates[]
static
Initial value:
= {
3, 2, 7, 13, 4, 10, 12,
}

Definition at line 176 of file mxf.c.

Referenced by ff_mxf_get_content_package_rate().