On Sat, Jul 5, 2014 at 5:20 AM, Anton Khirnov <[email protected]> wrote: > 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. > --- > libavformat/yuv4mpegenc.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > 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; > + }
This would mark a AV_FIELD_TB and a AV_FIELD_BT context as progressive, no? -- Vittorio _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
