[FFmpeg-devel] [PATCH] pthread_frame: uninit the hwaccel of each frame thread

Lynne dev at lynne.ee
Wed Jun 14 19:39:42 EEST 2023


Jun 13, 2023, 04:11 by dev at lynne.ee:

> The issue is that with a threadsafe hwaccel and multiple enabled
> frame threads, hwaccel->uninit() is never called.
> Previously, the function was guaranteed to never have any threads
> with hwaccel contexts, so it never bothered to uninit it.
>
> Patch attached.
>
> ---
> diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
> index 28335231fd..bdc1718ab3 100644
> --- a/libavcodec/pthread_frame.c
> +++ b/libavcodec/pthread_frame.c
> @@ -751,6 +751,8 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)
>              if (codec->close && p->thread_init != UNINITIALIZED)
>                  codec->close(ctx);
>  
> +            ff_hwaccel_uninit(ctx);
> +
>              if (ctx->priv_data) {
>                  if (codec->p.priv_class)
>                      av_opt_free(ctx->priv_data);
> -- 
>

Ping. Tested it, haven't had issues with this.


More information about the ffmpeg-devel mailing list