This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 87e780662bb58b6d69c41aa7df2272401bb21caf Author: Lynne <[email protected]> AuthorDate: Sun Sep 20 22:55:10 2026 +0900 Commit: Lynne <[email protected]> CommitDate: Sun Sep 20 22:59:46 2026 +0900 dpx: signal the end of the frame setup to frame threads Since the decoder gained an update_thread_context() for the hwaccel pixel format handoff, the framework no longer calls ff_thread_finish_setup() on its behalf, and the decoder never called it itself, so every frame thread waited for the previous frame to be fully decoded before starting. With no slice threading to fall back on, the decoder ran on one core whatever the thread count. Signal the end of the setup once the frame buffer and the hwaccel private data are allocated. Decoding a 3840x2160 10-bit sequence goes from no speedup at all to 1.5x on 12 threads, bound by the memory bandwidth of the unpacking, with identical output. --- libavcodec/dpx.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c index 6e7c01fd65..f1325d2f6f 100644 --- a/libavcodec/dpx.c +++ b/libavcodec/dpx.c @@ -770,14 +770,17 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p, buf = avpkt->data + offset; dpx->frame = p; + ret = ff_hwaccel_frame_priv_alloc(avctx, &dpx->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, &dpx->hwaccel_picture_private); - if (ret < 0) - return ret; - ret = hwaccel->start_frame(avctx, avpkt->buf, buf, avpkt->size - offset); 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]
