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

Git pushed a commit to branch master
in repository ffmpeg.

commit 208a950c275d34a1eca1fe5b34e687a52da78787
Author:     Lynne <[email protected]>
AuthorDate: Tue Aug 18 13:55:47 2026 +0900
Commit:     Lynne <[email protected]>
CommitDate: Tue Aug 18 13:58:06 2026 +0900

    vulkan/ffv1: stop decoding the extra RGB bit on 4.8+ streams
    
    4.8 dropped the extra coded bit on the primary and alpha planes of
    RCT slices, but the integer path of get_slice_bits() hardcoded the
    old widths, garbling every software-encoded v4 RGB stream. The
    Vulkan encoder writes 4.3 and was unaffected.
---
 libavcodec/vulkan/ffv1_common.glsl | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavcodec/vulkan/ffv1_common.glsl 
b/libavcodec/vulkan/ffv1_common.glsl
index 57331c814b..40520f9cbc 100644
--- a/libavcodec/vulkan/ffv1_common.glsl
+++ b/libavcodec/vulkan/ffv1_common.glsl
@@ -146,7 +146,16 @@ uint slice_coord(uint width, uint sx, uint num_h_slices, 
uint chroma_shift)
 u16vec4 get_slice_bits(in SliceContext sc)
 {
 #ifndef FLOAT
-    return u16vec4(c_bits, c_bits, c_bits, c_bits);
+    u16vec4 bits = u16vec4(c_bits, c_bits, c_bits, c_bits);
+#ifdef RGB
+    /* 4.8 stopped coding the extra bit on the primary and alpha planes */
+    if (sc.slice_coding_mode == 0 &&
+        (version > 4 || (version == 4 && micro_version >= 8))) {
+        bits[0] = uint16_t(c_bits - 1);
+        bits[3] = uint16_t(c_bits - 1);
+    }
+#endif
+    return bits;
 #else
     u32vec4 cnt = sc.remap_count;
 #if defined(ENCODE)

-- 
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