[FFmpeg-devel] [PATCH] avcodec: uninit hwaccel in case of software decoder
Thomas Guillem
thomas at gllm.fr
Fri Dec 6 12:30:47 EET 2024
Ping.
On Fri, Nov 29, 2024, at 11:44, Thomas Guillem via ffmpeg-devel wrote:
> avcodec_get_hw_frames_parameters(), called by the user from get_format,
> is allocating ctx->internal->hwaccel_priv_data. But the hardware
> decoding setup may fail on the user side and it may fallback to software
> decoding. In that case, ctx->internal->hwaccel_priv_data is still
> allocated but not used anymore.
>
> Fixes the following assert:
>
> Assertion p_dst->hwaccel_threadsafe || (!dst->hwaccel &&
> !dst->internal->hwaccel_priv_data) failed at
> src/libavcodec/pthread_frame.c:426
> ---
> libavcodec/decode.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/libavcodec/decode.c b/libavcodec/decode.c
> index d1e10223f2..365fed68e5 100644
> --- a/libavcodec/decode.c
> +++ b/libavcodec/decode.c
> @@ -1346,6 +1346,8 @@ int ff_get_format(AVCodecContext *avctx, const
> enum AVPixelFormat *fmt)
> if (!hw_config) {
> // No config available, so no extra setup required.
> ret = user_choice;
> + // Remove a potential failed hwaccel context
> + ff_hwaccel_uninit(avctx);
> break;
> }
> config = &hw_config->public;
> --
> 2.45.2
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list