diff options
author | Lynne <dev@lynne.ee> | 2025-04-06 00:47:29 +0000 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2025-04-14 06:10:42 +0200 |
commit | 72953477a415d816e1152256f9cb3f74d00f245c (patch) | |
tree | f2693210cd0bd9205a59852c5164e298a5a0361e | |
parent | 694ebe890ce4cda41780006487fd351fbdebdec8 (diff) | |
download | ffmpeg-72953477a415d816e1152256f9cb3f74d00f245c.tar.gz |
vulkan_ffv1: fix left-2 sample addressing
Typo.
Not enough to fix context=1, but its a start.
-rw-r--r-- | libavcodec/vulkan/ffv1_dec.comp | 14 |
1 files 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 */ |