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

Git pushed a commit to branch master
in repository ffmpeg.

commit 67811c2754651186b1e022ff26209d5041106fdd
Author:     Lynne <[email protected]>
AuthorDate: Thu May 14 02:02:47 2026 +0900
Commit:     Lynne <[email protected]>
CommitDate: Thu May 14 02:55:48 2026 +0900

    vulkan/common: fix get_bit() with SMEM caching
    
    First of all, it uses the wrong data pointer. Second, gb.bits wouldn't
    get set if LOAD64 was called after the start of the stream.
---
 libavcodec/vulkan/common.glsl | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/libavcodec/vulkan/common.glsl b/libavcodec/vulkan/common.glsl
index 578ec17c42..8489a363cb 100644
--- a/libavcodec/vulkan/common.glsl
+++ b/libavcodec/vulkan/common.glsl
@@ -284,17 +284,18 @@ shared u32vec4 
gb_storage[gl_WorkGroupSize.x*gl_WorkGroupSize.y*gl_WorkGroupSize
         gb.cur_smem_pos = 0;                                                   
 \
     }
 
-#define LOAD64()                                                    \
-    {                                                               \
-        gb.bits = 0;                                                \
-        gb.bits_valid = 0;                                          \
-        u8buf ptr = u8buf(gb.buf);                                  \
-        for (uint i = 0; i < ((4 - uint(gb.buf_start)) & 3); ++i) { \
-            gb.bits |= uint64_t(ptr[i].v) << (56 - i * 8);          \
-            gb.bits_valid += 8;                                     \
-            gb.buf += 1;                                            \
-        }                                                           \
-        FILL_SMEM();                                                \
+#define LOAD64()                                              \
+    {                                                         \
+        gb.bits = 0;                                          \
+        gb.bits_valid = 0;                                    \
+        u8buf ptr = u8buf(gb.buf);                            \
+        for (uint i = 0; i < ((4 - uint(gb.buf)) & 3); ++i) { \
+            gb.bits |= uint64_t(ptr[i].v) << (56 - i * 8);    \
+            gb.bits_valid += 8;                               \
+            gb.buf += 1;                                      \
+        }                                                     \
+        FILL_SMEM();                                          \
+        RELOAD32();                                           \
     }
 
 #define RELOAD32()                                                             
                     \

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

Reply via email to