[FFmpeg-devel] [PATCH 1/6] avcodec/apng: Remove threading support

Paul B Mahol onemda at gmail.com
Tue Jun 2 19:31:07 CEST 2015


Dana 2. 6. 2015. 17:49 osoba "Donny Yang" <work at kota.moe> napisala je:
>
> Each frame depends on the previous frame any way, and it will
> cause bugs with frame disposal
>
> Signed-off-by: Donny Yang <work at kota.moe>
> ---
>  libavcodec/pngdec.c | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
> index 2512799..2ea3e8b 100644
> --- a/libavcodec/pngdec.c
> +++ b/libavcodec/pngdec.c
> @@ -1224,17 +1224,10 @@ static int update_thread_context(AVCodecContext
*dst, const AVCodecContext *src)
>      if (dst == src)
>          return 0;
>
> -    pdst->frame_id = psrc->frame_id;
> -
>      ff_thread_release_buffer(dst, &pdst->picture);
>      if (psrc->picture.f->data[0] &&
>          (ret = ff_thread_ref_frame(&pdst->picture, &psrc->picture)) < 0)
>          return ret;
> -    if (CONFIG_APNG_DECODER && dst->codec_id == AV_CODEC_ID_APNG) {
> -        ff_thread_release_buffer(dst, &pdst->last_picture);
> -        if (psrc->last_picture.f->data[0])
> -            return ff_thread_ref_frame(&pdst->last_picture,
&psrc->last_picture);
> -    }
>
>      return 0;
>  }
> @@ -1294,9 +1287,7 @@ AVCodec ff_apng_decoder = {
>      .init           = png_dec_init,
>      .close          = png_dec_end,
>      .decode         = decode_frame_apng,
> -    .init_thread_copy = ONLY_IF_THREADS_ENABLED(png_dec_init),
> -    .update_thread_context =
ONLY_IF_THREADS_ENABLED(update_thread_context),
> -    .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_FRAME_THREADS /*|
CODEC_CAP_DRAW_HORIZ_BAND*/,
> +    .capabilities   = CODEC_CAP_DR1 /*| CODEC_CAP_DRAW_HORIZ_BAND*/,
>  };
>  #endif
>
> --
> 2.4.0
>

Hmm, have you checked it is really broken now?

_______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list