[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 09:59:05 EEST 2022
Wang Bin <wbsecg1 at gmail.com> 于2022年9月12日周一 10:02写道:
>
>> 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
>
>
The change breaks hwaccel on all platforms. videotoolbox has another crash.
Regards
More information about the ffmpeg-devel
mailing list