From: Anton Khirnov Date: Sat, 5 Jul 2014 06:44:00 +0000 (+0000) Subject: yuv4mpegenc: do not access AVCodecContext.coded_frame X-Git-Tag: v11_alpha1~223 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=650d384048ed42579cc6d67bf32a94b468c0b6cb;p=platform%2Fupstream%2Flibav.git yuv4mpegenc: do not access AVCodecContext.coded_frame Its contents are meaningful only if the stream codec context is the one actually used for encoding, which is often not the case (and is discouraged). Use AVCodecContext.field_order instead. --- diff --git a/libavformat/yuv4mpegenc.c b/libavformat/yuv4mpegenc.c index abe967f..2caa364 100644 --- a/libavformat/yuv4mpegenc.c +++ b/libavformat/yuv4mpegenc.c @@ -48,9 +48,11 @@ static int yuv4_generate_header(AVFormatContext *s, char* buf) if (aspectn == 0 && aspectd == 1) aspectd = 0; // 0:0 means unknown - inter = 'p'; /* progressive is the default */ - if (st->codec->coded_frame && st->codec->coded_frame->interlaced_frame) - inter = st->codec->coded_frame->top_field_first ? 't' : 'b'; + switch (st->codec->field_order) { + case AV_FIELD_TT: inter = 't'; break; + case AV_FIELD_BB: inter = 'b'; break; + default: inter = 'p'; break; + } switch (st->codec->pix_fmt) { case AV_PIX_FMT_GRAY8: