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

Reply via email to