This patch is an alternative to the patch "avcodec: add avcodec_reset_hw_frames_parameters():
On Fri, Nov 29, 2024, at 09:34, 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. > --- > libavcodec/pthread_frame.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c > index 1b1b96623f..a4474e4216 100644 > --- a/libavcodec/pthread_frame.c > +++ b/libavcodec/pthread_frame.c > @@ -49,6 +49,7 @@ > #include "libavutil/mem.h" > #include "libavutil/opt.h" > #include "libavutil/thread.h" > +#include "libavutil/pixdesc.h" > > enum { > /// Set when the thread is awaiting a packet. > @@ -413,6 +414,7 @@ FF_ENABLE_DEPRECATION_WARNINGS > if (codec->update_thread_context_for_user) > err = codec->update_thread_context_for_user(dst, src); > } else { > + const AVPixFmtDescriptor *desc; > const PerThreadContext *p_src = src->internal->thread_ctx; > PerThreadContext *p_dst = dst->internal->thread_ctx; > > @@ -423,8 +425,9 @@ FF_ENABLE_DEPRECATION_WARNINGS > } > > // reset dst hwaccel state if needed > - av_assert0(p_dst->hwaccel_threadsafe || > - (!dst->hwaccel && > !dst->internal->hwaccel_priv_data)); > + desc = av_pix_fmt_desc_get(dst->pix_fmt); > + av_assert0(p_dst->hwaccel_threadsafe || desc == NULL || > + (!dst->hwaccel && (desc->flags & > AV_PIX_FMT_FLAG_HWACCEL) == 0)); > if (p_dst->hwaccel_threadsafe && > (!p_src->hwaccel_threadsafe || dst->hwaccel != > src->hwaccel)) { > ff_hwaccel_uninit(dst); > -- > 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". _______________________________________________ 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".