diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-05-16 20:02:01 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-18 10:52:40 +0200 |
commit | e32d832a82112a7cd4eb277001579c26993f29b8 (patch) | |
tree | 21da110378601e1bac480c3e2c04c70352420aa8 /libavformat/mxfenc.c | |
parent | 58afb3128bc650dbc22ae0a8d167be24d8863dfe (diff) | |
download | ffmpeg-e32d832a82112a7cd4eb277001579c26993f29b8.tar.gz |
avformat/mxfenc: Set horizontal chroma subsample value from pixel format if available
Reviewed-by: tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/mxfenc.c')
-rw-r--r-- | libavformat/mxfenc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index 14449c9f19..659c34fa73 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -79,6 +79,7 @@ typedef struct MXFStreamContext { int interlaced; ///< whether picture is interlaced int field_dominance; ///< tff=1, bff=2 int component_depth; + int h_chroma_sub_sample; int temporal_reordering; AVRational aspect_ratio; ///< display aspect ratio int closed_gop; ///< gop is closed, used in mpeg-2 frame parsing @@ -1027,7 +1028,7 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke // horizontal subsampling mxf_write_local_tag(pb, 4, 0x3302); - avio_wb32(pb, 2); + avio_wb32(pb, sc->h_chroma_sub_sample); // frame layout mxf_write_local_tag(pb, 1, 0x320C); @@ -2035,9 +2036,11 @@ static int mxf_write_header(AVFormatContext *s) AVRational rate, tbc = st->time_base; // Default component depth to 8 sc->component_depth = 8; + sc->h_chroma_sub_sample = 2; if (pix_desc) { - sc->component_depth = pix_desc->comp[0].depth_minus1 + 1; + sc->component_depth = pix_desc->comp[0].depth_minus1 + 1; + sc->h_chroma_sub_sample = 1 << pix_desc->log2_chroma_w; } mxf->timecode_base = (tbc.den + tbc.num/2) / tbc.num; |