[FFmpeg-cvslog] libavcode/x86/vvc: change label to vvc_sad_16 to reflect block sizes
Stone Chen
git at videolan.org
Wed May 29 16:44:15 EEST 2024
ffmpeg | branch: master | Stone Chen <chen.stonechen at gmail.com> | Tue May 28 15:09:00 2024 -0400| [55e9c758f07de6f40489a2fc5f2b35ab368329f0] | committer: Nuo Mi
libavcode/x86/vvc: change label to vvc_sad_16 to reflect block sizes
According to the VVC specification (section 8.5.1), the maximum width/height of a subblock passed for DMVR SAD is 16. This along with previous constraint requiring width * height >= 128 means that 8x16, 16x8, and 16x16 are the only allowed sizes. This re-labels vvc_sad_16_128 to vvc_sad_16 to reflect this and adds a comment about the block size constraints. There's no functionality change.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55e9c758f07de6f40489a2fc5f2b35ab368329f0
---
libavcodec/x86/vvc/vvc_sad.asm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libavcodec/x86/vvc/vvc_sad.asm b/libavcodec/x86/vvc/vvc_sad.asm
index b468d89ac2..982951a370 100644
--- a/libavcodec/x86/vvc/vvc_sad.asm
+++ b/libavcodec/x86/vvc/vvc_sad.asm
@@ -29,6 +29,7 @@ SECTION_RODATA
pw_1: times 2 dw 1
; DMVR SAD is only calculated on even rows to reduce complexity
+; Additionally the only valid sizes are 8x16, 16x8, and 16x16
SECTION .text
%macro MIN_MAX_SAD 3
@@ -77,7 +78,7 @@ cglobal vvc_sad, 6, 9, 5, src1, src2, dx, dy, block_w, block_h, off1, off2, row_
vpbroadcastd m4, [pw_1]
cmp block_wd, 16
- jge vvc_sad_16_128
+ je vvc_sad_16
vvc_sad_8:
.loop_height:
@@ -100,7 +101,7 @@ cglobal vvc_sad, 6, 9, 5, src1, src2, dx, dy, block_w, block_h, off1, off2, row_
movd eax, xm0
RET
- vvc_sad_16_128:
+ vvc_sad_16:
sar block_wd, 4
.loop_height:
mov off1q, src1q
More information about the ffmpeg-cvslog
mailing list