[FFmpeg-devel] [PATCH 11/18] vulkan_ffv1: fix left-2 sample addressing

Lynne dev at lynne.ee
Sat Apr 12 10:22:42 EEST 2025


Typo.
Not enough to fix context=1, but its a start.
---
 libavcodec/vulkan/ffv1_dec.comp | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/libavcodec/vulkan/ffv1_dec.comp b/libavcodec/vulkan/ffv1_dec.comp
index 7d3150ed63..1954c050f8 100644
--- a/libavcodec/vulkan/ffv1_dec.comp
+++ b/libavcodec/vulkan/ffv1_dec.comp
@@ -44,15 +44,17 @@ ivec2 get_pred(ivec2 pos, ivec2 off, int p, int sw, uint8_t quant_table_idx)
 
     if ((quant_table[quant_table_idx][3][127] != 0) ||
         (quant_table[quant_table_idx][4][127] != 0)) {
+        TYPE cur2 = TYPE(0);
         if (off.x > 0 && off != ivec2(1, 0)) {
             const ivec2 yoff_border2 = off.x == 1 ? ivec2(1, -1) : ivec2(0, 0);
-            TYPE cur2 = TYPE(imageLoad(dst[p], pos + ivec2(-2,  0) + yoff_border2)[0]);
-            base += quant_table[quant_table_idx][3][(cur2 - cur) & MAX_QUANT_TABLE_MASK];
-        }
-        if (off.y > 1) {
-            TYPE top2 = TYPE(imageLoad(dst[p], pos + ivec2(0, -2))[0]);
-            base += quant_table[quant_table_idx][4][(top2 - top[1]) & MAX_QUANT_TABLE_MASK];
+            cur2 = TYPE(imageLoad(dst[p], pos + ivec2(-2,  0) + yoff_border2)[0]);
         }
+        base += quant_table[quant_table_idx][3][(cur2 - cur) & MAX_QUANT_TABLE_MASK];
+
+        TYPE top2 = TYPE(0);
+        if (off.y > 1)
+            top2 = TYPE(imageLoad(dst[p], pos + ivec2(0, -2))[0]);
+        base += quant_table[quant_table_idx][4][(top2 - top[1]) & MAX_QUANT_TABLE_MASK];
     }
 
     /* context, prediction */
-- 
2.47.2


More information about the ffmpeg-devel mailing list