[FFmpeg-devel] [PATCH 2/2] lavc/pthread_frame: avoid leaving stale hwaccel state in worker threads

Wang Bin wbsecg1 at gmail.com
Mon Sep 12 05:02:27 EEST 2022


>
>
>      av_packet_unref(p->avpkt);
> @@ -655,6 +670,14 @@ void ff_thread_finish_setup(AVCodecContext *avctx) {
>          async_lock(p->parent);
>      }
>
> +    /* save hwaccel state for passing to the next thread;
> +     * this is done here so that this worker thread can wipe its own
> hwaccel
> +     * state after decoding, without requiring synchronization */
> +    av_assert0(!p->parent->stash_hwaccel);
> +    p->parent->stash_hwaccel         = avctx->hwaccel;
> +    p->parent->stash_hwaccel_context = avctx->hwaccel_context;
> +    p->parent->stash_hwaccel_priv    = avctx->internal->hwaccel_priv_data;
>

Assertion failure when seeking. Step to reproduce:
./ffmpeg -stream_loop -1 -an -hwaccel vaapi -i test.mp4 -f null >/dev/null

Regards


More information about the ffmpeg-devel mailing list