This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit dad0c010761cfaf98ddebdb188300f117c370295 Author: Andreas Rheinhardt <[email protected]> AuthorDate: Thu Nov 6 17:11:13 2025 +0100 Commit: Andreas Rheinhardt <[email protected]> CommitDate: Thu Apr 30 10:39:33 2026 +0200 avcodec/x86/qpeldsp: Remove vertical MMXEXT mc functions Superseded by SSE2. Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/x86/qpeldsp.asm | 60 ------------------------------------------- libavcodec/x86/qpeldsp_init.c | 37 +++++--------------------- 2 files changed, 7 insertions(+), 90 deletions(-) diff --git a/libavcodec/x86/qpeldsp.asm b/libavcodec/x86/qpeldsp.asm index d6c8778151..a2e04f247f 100644 --- a/libavcodec/x86/qpeldsp.asm +++ b/libavcodec/x86/qpeldsp.asm @@ -408,23 +408,10 @@ cglobal %1_mpeg4_qpel16_v_lowpass, 4, 6, 7, 544 .looph: movu m0, [r1] mova m1, m0 -%if mmsize == 8 - mova m2, [r1+8] - mova m3, [r1+8] - punpcklbw m0, m4 - punpckhbw m1, m4 - punpcklbw m2, m4 - punpckhbw m3, m4 - mova [r5], m0 - mova [r5+0x88], m1 - mova [r5+0x110], m2 - mova [r5+0x198], m3 -%else punpcklbw m0, m4 punpckhbw m1, m4 mova [r5], m0 mova [r5+0x110], m1 -%endif add r1, r3 add r5, mmsize dec r4d @@ -481,19 +468,6 @@ cglobal %1_mpeg4_qpel16_v_lowpass, 4, 6, 7, 544 movh %1, %2 %endmacro -INIT_MMX mmxext -%define PW_ROUND pw_16 -%define OP_MOV PUT_OPH -MPEG4_QPEL16_V_LOWPASS put -%define PW_ROUND pw_16 -%define OP_MOV AVG_OPH -MPEG4_QPEL16_V_LOWPASS avg -%define PW_ROUND pw_15 -%define OP_MOV PUT_OPH -MPEG4_QPEL16_V_LOWPASS put_no_rnd - - - %macro MPEG4_QPEL8_V_LOWPASS 1 cglobal %1_mpeg4_qpel8_v_lowpass, 4, 6, 7, 144 mov r4d, 9 @@ -502,31 +476,14 @@ cglobal %1_mpeg4_qpel8_v_lowpass, 4, 6, 7, 144 .looph: movq m0, [r1] add r1, r3 -%if mmsize == 8 - mova m1, m0 - punpcklbw m0, m2 - punpckhbw m1, m2 - mova [r5], m0 - mova [r5+0x48], m1 -%else punpcklbw m0, m2 mova [r5], m0 -%endif add r5, mmsize dec r4d jne .looph -%if mmsize == 8 - mov r4d, 2 - mov r1, r0 - mov r5, rsp -.loopv: -%define R5 r5 -%else %define R5 rsp -%endif - mova m0, [R5+0 * mmsize] mova m1, [R5+1 * mmsize] mova m2, [R5+2 * mmsize] @@ -543,26 +500,9 @@ cglobal %1_mpeg4_qpel8_v_lowpass, 4, 6, 7, 144 QPEL_V_LOW [R5+3*mmsize], [R5+4*mmsize], [R5+5*mmsize], [R5+7*mmsize], [r0] QPEL_V_LOW [R5+4*mmsize], [R5+5*mmsize], [R5+6*mmsize], [R5+6*mmsize], [r0+r2] -%if mmsize == 8 - add r5, 0x48 - lea r0, [r1+4] - dec r4d - jne .loopv -%endif RET %endmacro -INIT_MMX mmxext -%define PW_ROUND pw_16 -%define OP_MOV PUT_OPH -MPEG4_QPEL8_V_LOWPASS put -%define PW_ROUND pw_16 -%define OP_MOV AVG_OPH -MPEG4_QPEL8_V_LOWPASS avg -%define PW_ROUND pw_15 -%define OP_MOV PUT_OPH -MPEG4_QPEL8_V_LOWPASS put_no_rnd - INIT_XMM sse2 %define PW_ROUND pw_16 %define OP_MOV PUT_OPH diff --git a/libavcodec/x86/qpeldsp_init.c b/libavcodec/x86/qpeldsp_init.c index 025753ce17..64e3348d2e 100644 --- a/libavcodec/x86/qpeldsp_init.c +++ b/libavcodec/x86/qpeldsp_init.c @@ -264,12 +264,8 @@ MACRO(avg,, SIZE, SIZEP1, HXMM, VXMM, HVXMM, L2) \ MACRO(put_no_rnd, no_rnd_, SIZE, SIZEP1, HXMM, VXMM, HVXMM, L2) QPEL3(QPEL_H, 8, 9, mmxext, mmxext, mmxext, mmxext) -QPEL3(QPEL_V, 8, 9, mmxext, mmxext, mmxext, mmxext) -QPEL3(QPEL_HV, 8, 9, mmxext, mmxext, mmxext, mmxext) QPEL3(QPEL_H, 16, 17, mmxext, mmxext, mmxext, mmxext) -QPEL3(QPEL_V, 16, 17, mmxext, mmxext, mmxext, mmxext) -QPEL3(QPEL_HV, 16, 17, mmxext, mmxext, mmxext, mmxext) QPEL3(QPEL_V, 8, 9, ssse3, sse2, ssse3, mmxext) QPEL3(QPEL_HV, 8, 9, mmxext, sse2, sse2, mmxext) @@ -284,6 +280,11 @@ QPEL3(QPEL_HV, 16, 17, mmxext, sse2, sse2, mmxext) SET_QPEL_FUNC(put, X, Y, SIZE, CPU, PREFIX); \ SET_QPEL_FUNC(put_no_rnd, X, Y, SIZE, CPU, PREFIX) +#define SET_H_QPEL_FUNCS(SIZE, CPU, PREFIX) \ + SET_QPEL_FUNCS3(1, 0, SIZE, CPU, PREFIX); \ + SET_QPEL_FUNCS3(2, 0, SIZE, CPU, PREFIX); \ + SET_QPEL_FUNCS3(3, 0, SIZE, CPU, PREFIX) + #define SET_V_QPEL_FUNCS(SIZE, CPU, PREFIX) \ SET_QPEL_FUNCS3(0, 1, SIZE, CPU, PREFIX); \ SET_QPEL_FUNCS3(0, 2, SIZE, CPU, PREFIX); \ @@ -300,39 +301,15 @@ QPEL3(QPEL_HV, 16, 17, mmxext, sse2, sse2, mmxext) SET_QPEL_FUNCS3(3, 2, SIZE, CPU, PREFIX); \ SET_QPEL_FUNCS3(3, 3, SIZE, CPU, PREFIX) -#define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU, PREFIX) \ -do { \ - c->PFX ## _pixels_tab[IDX][ 1] = PREFIX ## PFX ## SIZE ## _mc10_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 2] = PREFIX ## PFX ## SIZE ## _mc20_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 3] = PREFIX ## PFX ## SIZE ## _mc30_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 4] = PREFIX ## PFX ## SIZE ## _mc01_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 5] = PREFIX ## PFX ## SIZE ## _mc11_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 6] = PREFIX ## PFX ## SIZE ## _mc21_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 7] = PREFIX ## PFX ## SIZE ## _mc31_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 8] = PREFIX ## PFX ## SIZE ## _mc02_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][ 9] = PREFIX ## PFX ## SIZE ## _mc12_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][10] = PREFIX ## PFX ## SIZE ## _mc22_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][11] = PREFIX ## PFX ## SIZE ## _mc32_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][12] = PREFIX ## PFX ## SIZE ## _mc03_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][13] = PREFIX ## PFX ## SIZE ## _mc13_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][14] = PREFIX ## PFX ## SIZE ## _mc23_ ## CPU; \ - c->PFX ## _pixels_tab[IDX][15] = PREFIX ## PFX ## SIZE ## _mc33_ ## CPU; \ -} while (0) - av_cold void ff_qpeldsp_init_x86(QpelDSPContext *c) { int cpu_flags = av_get_cpu_flags(); if (X86_MMXEXT(cpu_flags)) { #if HAVE_MMXEXT_EXTERNAL - SET_QPEL_FUNCS(avg_qpel, 0, 16, mmxext, ); c->avg_qpel_pixels_tab[1][0] = ff_avg_pixels8x8_mmxext; - SET_QPEL_FUNCS(avg_qpel, 1, 8, mmxext, ); - - SET_QPEL_FUNCS(put_qpel, 0, 16, mmxext, ); - SET_QPEL_FUNCS(put_qpel, 1, 8, mmxext, ); - SET_QPEL_FUNCS(put_no_rnd_qpel, 0, 16, mmxext, ); - SET_QPEL_FUNCS(put_no_rnd_qpel, 1, 8, mmxext, ); + SET_H_QPEL_FUNCS(16, mmxext,); + SET_H_QPEL_FUNCS(8, mmxext,); #endif /* HAVE_MMXEXT_EXTERNAL */ } #if HAVE_SSE2_EXTERNAL _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
