This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 77dbbdcac27b3dd3aba266e00b7ae8bfcf433174 Author: Andreas Rheinhardt <[email protected]> AuthorDate: Sat May 30 15:59:03 2026 +0200 Commit: Andreas Rheinhardt <[email protected]> CommitDate: Sun Jun 14 22:04:42 2026 +0200 avcodec/x86/hpeldsp: Avoid loading constants No change in benchmarks here. Reviewed-by: James Almer <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/x86/hpeldsp.asm | 51 +++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/libavcodec/x86/hpeldsp.asm b/libavcodec/x86/hpeldsp.asm index 4a132957b5..8e29a232d7 100644 --- a/libavcodec/x86/hpeldsp.asm +++ b/libavcodec/x86/hpeldsp.asm @@ -28,8 +28,6 @@ %include "libavutil/x86/x86util.asm" cextern pb_1 -cextern pw_1 -cextern pw_2 cextern pw_8192 @@ -305,10 +303,14 @@ NO_RND_PIXELS_Y2 put, 16 ; void ff_put_no_rnd_pixels8_xy2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) -%macro SET_PIXELS8_XY2 2-3 -cglobal %1%3_pixels8_xy2, 4,5,5 +%macro SET_PIXELS8_XY2 1-2 +cglobal %1%2_pixels8_xy2, 4,5,5 mova m4, [pb_1] - mova m3, [%2] +%ifidn %2, _no_rnd + pcmpeqw m3, m3 +%else + mova m3, [pw_8192] +%endif movh m0, [r1] movh m2, [r1+1] punpcklbw m2, m0 @@ -320,8 +322,8 @@ cglobal %1%3_pixels8_xy2, 4,5,5 movh m1, [r1+r4+1] punpcklbw m0, m1 pmaddubsw m0, m4 -%ifidn %3, _no_rnd - paddw m2, m3 +%ifidn %2, _no_rnd + psubw m2, m3 paddw m2, m0 psrlw m2, 2 %else @@ -342,8 +344,8 @@ cglobal %1%3_pixels8_xy2, 4,5,5 movh m2, [r1+r4+1] punpcklbw m2, m1 pmaddubsw m2, m4 -%ifidn %3, _no_rnd - paddw m0, m3 +%ifidn %2, _no_rnd + psubw m0, m3 paddw m0, m2 psrlw m0, 2 %else @@ -365,18 +367,21 @@ cglobal %1%3_pixels8_xy2, 4,5,5 %endmacro INIT_XMM ssse3 -SET_PIXELS8_XY2 put, pw_1, _no_rnd -SET_PIXELS8_XY2 avg, pw_8192 -SET_PIXELS8_XY2 put, pw_8192 +SET_PIXELS8_XY2 put, _no_rnd +SET_PIXELS8_XY2 avg +SET_PIXELS8_XY2 put ; void ff_avg_pixels16_xy2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) -%macro SET_PIXELS_XY2 2-3 -cglobal %1%3_pixels16_xy2, 4,5,8 +%macro SET_PIXELS_XY2 1-2 +cglobal %1%2_pixels16_xy2, 4,5,8 pxor m7, m7 - mova m6, [%2] movu m0, [r1] movu m4, [r1+1] + pcmpeqw m6, m6 +%ifnidn %2, _no_rnd + paddw m6, m6 +%endif mova m1, m0 mova m5, m4 punpcklbw m0, m7 @@ -398,8 +403,8 @@ cglobal %1%3_pixels16_xy2, 4,5,8 punpckhbw m3, m7 paddw m0, m2 paddw m1, m3 - paddw m4, m6 - paddw m5, m6 + psubw m4, m6 + psubw m5, m6 paddw m4, m0 paddw m5, m1 psrlw m4, 2 @@ -424,8 +429,8 @@ cglobal %1%3_pixels16_xy2, 4,5,8 punpckhbw m5, m7 paddw m4, m2 paddw m5, m3 - paddw m0, m6 - paddw m1, m6 + psubw m0, m6 + psubw m1, m6 paddw m0, m4 paddw m1, m5 psrlw m0, 2 @@ -445,10 +450,10 @@ cglobal %1%3_pixels16_xy2, 4,5,8 %endmacro INIT_XMM sse2 -SET_PIXELS_XY2 put, pw_2 -SET_PIXELS_XY2 avg, pw_2 -SET_PIXELS_XY2 put, pw_1, _no_rnd -SET_PIXELS_XY2 avg, pw_1, _no_rnd +SET_PIXELS_XY2 put +SET_PIXELS_XY2 avg +SET_PIXELS_XY2 put, _no_rnd +SET_PIXELS_XY2 avg, _no_rnd %macro SSSE3_PIXELS_XY2 1-2 cglobal %1_pixels16_xy2, 4,5,%2 _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
