[FFmpeg-devel] [PATCH 09/16] vulkan_ffv1: fix PCM + cached symbol reader

Lynne dev at lynne.ee
Wed May 14 22:02:38 EEST 2025


writeout_rgb requires that all subgroups are active.
---
 libavcodec/vulkan/ffv1_dec.comp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vulkan/ffv1_dec.comp b/libavcodec/vulkan/ffv1_dec.comp
index c74af4bf6a..e73b3f1dc0 100644
--- a/libavcodec/vulkan/ffv1_dec.comp
+++ b/libavcodec/vulkan/ffv1_dec.comp
@@ -56,6 +56,11 @@ int get_isymbol(inout RangeCoder c, uint state_off)
 
 void decode_line_pcm(inout SliceContext sc, ivec2 sp, int w, int y, int p, int bits)
 {
+#ifdef CACHED_SYMBOL_READER
+    if (gl_LocalInvocationID.x > 0)
+        return;
+#endif
+
 #ifndef RGB
     if (p > 0 && p < 3) {
         w >>= chroma_shift.x;
@@ -235,8 +240,6 @@ void decode_slice(inout SliceContext sc, const uint slice_idx)
     /* PCM coding */
 #ifndef GOLOMB
     if (sc.slice_coding_mode == 1) {
-        if (gl_LocalInvocationID.x > 0)
-            return;
 #ifndef RGB
         for (int p = 0; p < planes; p++) {
             int h = sc.slice_dim.y;
-- 
2.49.0.395.g12beb8f557c


More information about the ffmpeg-devel mailing list