Am 23.07.2014 17:16 schrieb "Marc-Antoine Arnaud" < arnaud.marcanto...@gmail.com>: > > --- > libavcodec/mpeg12enc.c | 2 +- > libavcodec/mpegvideo_enc.c | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c > index f87286a..84d9508 100644 > --- a/libavcodec/mpeg12enc.c > +++ b/libavcodec/mpeg12enc.c > @@ -424,7 +424,7 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) > if (s->progressive_sequence) > put_bits(&s->pb, 1, 0); /* no repeat */ > else > - put_bits(&s->pb, 1, s->current_picture_ptr->f->top_field_first); > + put_bits(&s->pb, 1, s->top_field_first); > /* XXX: optimize the generation of this flag with entropy measures */ > s->frame_pred_frame_dct = s->progressive_sequence; > > diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c > index fa4840e..ddc3d7e 100644 > --- a/libavcodec/mpegvideo_enc.c > +++ b/libavcodec/mpegvideo_enc.c > @@ -311,6 +311,7 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx) > s->rtp_mode = !!avctx->rtp_payload_size; > s->intra_dc_precision = avctx->intra_dc_precision; > s->user_specified_pts = AV_NOPTS_VALUE; > + s->top_field_first = (s->avctx->field_order == AV_FIELD_TT); > > if (s->gop_size <= 1) { > s->intra_only = 1;
This is a per-frame property, the current code seems correct. - Hendrik _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel