This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit ab40edd55ba26a5c974a60cdfc84a8cc0e9b74fb Author: Lynne <[email protected]> AuthorDate: Sun Sep 20 22:48:49 2026 +0900 Commit: Lynne <[email protected]> CommitDate: Sun Sep 20 22:59:43 2026 +0900 prores_raw: signal the end of the frame setup to frame threads The decoder advertises frame threading but never called ff_thread_finish_setup(), so the framework only let the next frame thread start once the current frame was fully decoded. As frame threading takes precedence over slice threading, the default thread configuration decoded one frame at a time on one core. Signal the end of the setup once the frame buffer and the hwaccel private data are allocated, as the ProRes decoder does. A 4264x2408 RAW HQ clip goes from 8.4 to 49 fps with the default threading on 12 cores, with identical output. --- libavcodec/prores_raw.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libavcodec/prores_raw.c b/libavcodec/prores_raw.c index f3efb83010..dc11b14331 100644 --- a/libavcodec/prores_raw.c +++ b/libavcodec/prores_raw.c @@ -548,14 +548,17 @@ static int decode_frame(AVCodecContext *avctx, s->frame = frame; + ret = ff_hwaccel_frame_priv_alloc(avctx, &s->hwaccel_picture_private); + if (ret < 0) + return ret; + + /* Everything the next frame thread needs is known, let it start */ + ff_thread_finish_setup(avctx); + /* Start */ if (avctx->hwaccel) { const FFHWAccel *hwaccel = ffhwaccel(avctx->hwaccel); - ret = ff_hwaccel_frame_priv_alloc(avctx, &s->hwaccel_picture_private); - if (ret < 0) - return ret; - ret = hwaccel->start_frame(avctx, avpkt->buf, avpkt->data, avpkt->size); if (ret < 0) return ret; -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
