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]

Reply via email to