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@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".