Commit f69154b2 authored by Marton Balint's avatar Marton Balint

avformat/mxfenc: move content package rates and timebase combinations to a separate struct

Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
parent 27a81469
......@@ -131,25 +131,25 @@ int ff_mxf_decode_pixel_layout(const char pixel_layout[16], enum AVPixelFormat *
return -1;
}
static const AVRational mxf_time_base[] = {
{ 1001, 24000 },
{ 1, 24},
{ 1001, 30000 },
{ 1001, 60000 },
{ 1, 25 },
{ 1, 50 },
{ 1, 60 },
{ 0, 0}
};
static const int mxf_content_package_rates[] = {
3, 2, 7, 13, 4, 10, 12,
/**
* See SMPTE 326M-2000 Section 7.2 Content package rate
* MXFContentPackageRate->rate is bits b5..b0.
*/
static const MXFContentPackageRate mxf_content_package_rates[] = {
{ 2, { 1, 24 } },
{ 3, { 1001, 24000 } },
{ 4, { 1, 25 } },
{ 7, { 1001, 30000 } },
{ 10, { 1, 50 } },
{ 12, { 1, 60 } },
{ 13, { 1001, 60000 } },
{0}
};
int ff_mxf_get_content_package_rate(AVRational time_base)
{
for (int i = 0; mxf_time_base[i].num; i++)
if (!av_cmp_q(time_base, mxf_time_base[i]))
return mxf_content_package_rates[i];
for (int i = 0; mxf_content_package_rates[i].rate; i++)
if (!av_cmp_q(time_base, mxf_content_package_rates[i].tb))
return mxf_content_package_rates[i].rate;
return 0;
}
......@@ -59,6 +59,11 @@ enum MXFFrameLayout {
SegmentedFrame,
};
typedef struct MXFContentPackageRate {
int rate;
AVRational tb;
} MXFContentPackageRate;
typedef struct KLVPacket {
UID key;
int64_t offset;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment