PR #23768 opened by mkver URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23768 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23768.patch
Also avoid a shift in sbcdsp.asm. >From 5e291382d57b1331b9a29bcac92b98fec2a1e108 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt <[email protected]> Date: Sat, 11 Jul 2026 09:40:42 +0200 Subject: [PATCH 1/2] Revert "tests/checkasm/vp9dsp: Allow to run only a subset of tests" This reverts commit 7bc35b8426cee8114b5d807b4d0e37fefe9995fa. The aim of this patch can now be achieved via checkasm's --function pattern matching. Signed-off-by: Andreas Rheinhardt <[email protected]> --- tests/checkasm/checkasm.c | 6 +----- tests/checkasm/checkasm.h | 4 ---- tests/checkasm/vp9dsp.c | 16 ++++++++-------- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c index 4f54db8e1d..a8cad59d4c 100644 --- a/tests/checkasm/checkasm.c +++ b/tests/checkasm/checkasm.c @@ -224,11 +224,7 @@ static const CheckasmTest tests[] = { { "vp8dsp", checkasm_check_vp8dsp }, #endif #if CONFIG_VP9_DECODER - { "vp9dsp", checkasm_check_vp9dsp }, // all of the below - { "vp9_ipred", checkasm_check_vp9_ipred }, - { "vp9_itxfm", checkasm_check_vp9_itxfm }, - { "vp9_loopfilter", checkasm_check_vp9_loopfilter }, - { "vp9_mc", checkasm_check_vp9_mc }, + { "vp9dsp", checkasm_check_vp9dsp }, #endif #if CONFIG_VIDEODSP { "videodsp", checkasm_check_videodsp }, diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h index 612ad0f9b9..b473c5d711 100644 --- a/tests/checkasm/checkasm.h +++ b/tests/checkasm/checkasm.h @@ -127,10 +127,6 @@ void checkasm_check_vp3dsp(void); void checkasm_check_vp6dsp(void); void checkasm_check_vp8dsp(void); void checkasm_check_vp9dsp(void); -void checkasm_check_vp9_ipred(void); -void checkasm_check_vp9_itxfm(void); -void checkasm_check_vp9_loopfilter(void); -void checkasm_check_vp9_mc(void); void checkasm_check_videodsp(void); void checkasm_check_vorbisdsp(void); void checkasm_check_vvc_alf(void); diff --git a/tests/checkasm/vp9dsp.c b/tests/checkasm/vp9dsp.c index d5ff5aa2cd..2a3374541f 100644 --- a/tests/checkasm/vp9dsp.c +++ b/tests/checkasm/vp9dsp.c @@ -47,7 +47,7 @@ static const uint32_t pixel_mask[3] = { 0xffffffff, 0x03ff03ff, 0x0fff0fff }; } \ } while (0) -void checkasm_check_vp9_ipred(void) +static void check_ipred(void) { LOCAL_ALIGNED_32(uint8_t, a_buf, [64 * 2]); uint8_t *a = &a_buf[32 * 2]; @@ -308,7 +308,7 @@ static int is_zero(const int16_t *c, int sz) #define SIZEOF_COEF (2 * ((bit_depth + 7) / 8)) -void checkasm_check_vp9_itxfm(void) +static void check_itxfm(void) { LOCAL_ALIGNED_64(uint8_t, src, [32 * 32 * 2]); LOCAL_ALIGNED_64(uint8_t, dst, [32 * 32 * 2]); @@ -449,7 +449,7 @@ static void randomize_loopfilter_buffers(int bidx, int lineoff, int str, randomize_loopfilter_buffers(bidx, lineoff, str, bit_depth, dir, \ E, F, H, I, buf0, buf1) -void checkasm_check_vp9_loopfilter(void) +static void check_loopfilter(void) { LOCAL_ALIGNED_32(uint8_t, base0, [32 + 16 * 16 * 2]); LOCAL_ALIGNED_32(uint8_t, base1, [32 + 16 * 16 * 2]); @@ -556,7 +556,7 @@ void checkasm_check_vp9_loopfilter(void) } \ } while (0) -void checkasm_check_vp9_mc(void) +static void check_mc(void) { LOCAL_ALIGNED_64(uint8_t, buf, [72 * 72 * 2]); LOCAL_ALIGNED_64(uint8_t, dst0, [64 * 64 * 2]); @@ -626,8 +626,8 @@ void checkasm_check_vp9_mc(void) void checkasm_check_vp9dsp(void) { - checkasm_check_vp9_ipred(); - checkasm_check_vp9_itxfm(); - checkasm_check_vp9_loopfilter(); - checkasm_check_vp9_mc(); + check_ipred(); + check_itxfm(); + check_loopfilter(); + check_mc(); } -- 2.52.0 >From 228972dfcf70b7468718720a21d5c422f8dd5e29 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt <[email protected]> Date: Sat, 11 Jul 2026 09:43:26 +0200 Subject: [PATCH 2/2] avcodec/x86/sbcdsp: Avoid shift Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/x86/sbcdsp.asm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/libavcodec/x86/sbcdsp.asm b/libavcodec/x86/sbcdsp.asm index 7742d6d316..a76c6b981e 100644 --- a/libavcodec/x86/sbcdsp.asm +++ b/libavcodec/x86/sbcdsp.asm @@ -39,13 +39,10 @@ SECTION .text mov%6 %4, [inq+%5+mmsize] %if %5 == 0 pcmpeqd m0, m0 - psrld m0, 31 + pslld m0, 15 ; -1 << (SBC_PROTO_FIXED_SCALE - 1) as dword %endif pmaddwd %3, [constsq+%5] pmaddwd %4, [constsq+%5+mmsize] -%if %5 == 0 - pslld m0, 15 ; 1 << (SBC_PROTO_FIXED_SCALE - 1) as dword -%endif NIDN paddd, %1, %3 NIDN paddd, %2, %4 %endmacro @@ -58,7 +55,7 @@ cglobal sbc_analyze_4, 3, 3, 5, in, out, consts ANALYZE_MAC m1, m2, m1, m2, 0, u ANALYZE_MAC m1, m2, m3, m4, 32, u movu m3, [inq+64] - paddd m1, m0 + psubd m1, m0 pmaddwd m3, [constsq+64] paddd m1, m2 paddd m1, m3 @@ -83,10 +80,10 @@ INIT_XMM sse2 cglobal sbc_analyze_8, 3, 3, 6, in, out, consts ANALYZE_MAC m1, m2, m1, m2, 0, a ANALYZE_MAC m1, m2, m3, m4, 32, a - paddd m1, m0 + psubd m1, m0 ANALYZE_MAC m1, m2, m3, m4, 64, a ANALYZE_MAC m1, m2, m3, m4, 96, a - paddd m2, m0 + psubd m2, m0 ANALYZE_MAC m1, m2, m3, m4, 128, a psrad m1, 16 -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
