[FFmpeg-devel] [PATCH 01/10] avcodec/mpeg12dec: Don't set write-only variable

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Jan 8 15:08:07 EET 2022


Andreas Rheinhardt:
> MpegEncContext.picture_number is write-only for MPEG-1/2 decoding.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavcodec/mpeg12dec.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
> index 35dfc74fe7..6ad9fb245c 100644
> --- a/libavcodec/mpeg12dec.c
> +++ b/libavcodec/mpeg12dec.c
> @@ -1066,7 +1066,6 @@ static av_cold int mpeg_decode_init(AVCodecContext *avctx)
>  
>      s2->chroma_format              = 1;
>      s->mpeg_enc_ctx_allocated      = 0;
> -    s->mpeg_enc_ctx.picture_number = 0;
>      s->repeat_field                = 0;
>      avctx->color_range             = AVCOL_RANGE_MPEG;
>      return 0;
> @@ -1092,9 +1091,6 @@ static int mpeg_decode_update_thread_context(AVCodecContext *avctx,
>      if (!ctx->mpeg_enc_ctx_allocated)
>          memcpy(s + 1, s1 + 1, sizeof(Mpeg1Context) - sizeof(MpegEncContext));
>  
> -    if (!(s->pict_type == AV_PICTURE_TYPE_B || s->low_delay))
> -        s->picture_number++;
> -
>      return 0;
>  }
>  #endif
> @@ -2072,10 +2068,7 @@ static int slice_end(AVCodecContext *avctx, AVFrame *pict)
>              ff_print_debug_info(s, s->current_picture_ptr, pict);
>              ff_mpv_export_qp_table(s, pict, s->current_picture_ptr, FF_QSCALE_TYPE_MPEG2);
>          } else {
> -            if (avctx->active_thread_type & FF_THREAD_FRAME)
> -                s->picture_number++;
>              /* latency of 1 frame for I- and P-frames */
> -            /* XXX: use another variable than picture_number */
>              if (s->last_picture_ptr) {
>                  int ret = av_frame_ref(pict, s->last_picture_ptr->f);
>                  if (ret < 0)
> 

Will apply this patchset tomorrow unless there are objections.

- Andreas


More information about the ffmpeg-devel mailing list