This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 9cabb12f746f87d06fabce234edbe17180127034
Author:     Lynne <[email protected]>
AuthorDate: Tue May 26 11:33:53 2026 +0900
Commit:     Lynne <[email protected]>
CommitDate: Tue May 26 17:47:04 2026 +0900

    vulkan/ffv1_enc_rct_search: write slice_rct_coef directly by main invoc
    
    The issue is that SliceContext was passed as an inout, which caused all
    invocs to locally copy and modify it.
    When the main invoc wrote it, only the very last written value was used,
    choosing the wrong coeffs.
    
    Sponsored-by: Sovereign Tech Fund
---
 libavcodec/vulkan/ffv1_enc_rct_search.comp.glsl | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/vulkan/ffv1_enc_rct_search.comp.glsl 
b/libavcodec/vulkan/ffv1_enc_rct_search.comp.glsl
index 52171ab221..dc25f50831 100644
--- a/libavcodec/vulkan/ffv1_enc_rct_search.comp.glsl
+++ b/libavcodec/vulkan/ffv1_enc_rct_search.comp.glsl
@@ -108,7 +108,7 @@ void process(ivec2 pos)
     }
 }
 
-void coeff_search(inout SliceContext sc)
+void coeff_search(uint slice_idx)
 {
     uvec2 img_size = imageSize(src[0]);
     uint sxs = slice_coord(img_size.x, gl_WorkGroupID.x + 0,
@@ -139,7 +139,7 @@ void coeff_search(inout SliceContext sc)
                 min_idx = i;
             }
         }
-        sc.slice_rct_coef = rct_y_coeff[min_idx];
+        slice_ctx[slice_idx].slice_rct_coef = rct_y_coeff[min_idx];
     }
 }
 
@@ -149,5 +149,5 @@ void main(void)
         return;
 
     const uint slice_idx = gl_WorkGroupID.y*gl_NumWorkGroups.x + 
gl_WorkGroupID.x;
-    coeff_search(slice_ctx[slice_idx]);
+    coeff_search(slice_idx);
 }

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to