From 9f560c8c1aaa7ba733d4c0f3f330c2787da2041c Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Thu, 9 Apr 2026 17:01:41 +0200 Subject: [PATCH] avcodec/x86/vp3dsp: Remove unused macros Forgotten in a677b382981a599f85943c14d6b0b5f253de7ec7. Reviewed-by: Ronald S. Bultje Signed-off-by: Andreas Rheinhardt --- libavcodec/x86/vp3dsp.asm | 207 -------------------------------------- 1 file changed, 207 deletions(-) diff --git a/libavcodec/x86/vp3dsp.asm b/libavcodec/x86/vp3dsp.asm index 3fa6584c9d..b79477288a 100644 --- a/libavcodec/x86/vp3dsp.asm +++ b/libavcodec/x86/vp3dsp.asm @@ -197,213 +197,6 @@ cglobal put_vp_no_rnd_pixels8_l2, 5, 6, 0, dst, src1, src2, stride, h, stride3 jnz .loop RET -; from original comments: The Macro does IDct on 4 1-D Dcts -%macro BeginIDCT 0 - movq m2, I(3) - movq m6, C(3) - movq m4, m2 - movq m7, J(5) - pmulhw m4, m6 ; r4 = c3*i3 - i3 - movq m1, C(5) - pmulhw m6, m7 ; r6 = c3*i5 - i5 - movq m5, m1 - pmulhw m1, m2 ; r1 = c5*i3 - i3 - movq m3, I(1) - pmulhw m5, m7 ; r5 = c5*i5 - i5 - movq m0, C(1) - paddw m4, m2 ; r4 = c3*i3 - paddw m6, m7 ; r6 = c3*i5 - paddw m2, m1 ; r2 = c5*i3 - movq m1, J(7) - paddw m7, m5 ; r7 = c5*i5 - movq m5, m0 ; r5 = c1 - pmulhw m0, m3 ; r0 = c1*i1 - i1 - paddsw m4, m7 ; r4 = C = c3*i3 + c5*i5 - pmulhw m5, m1 ; r5 = c1*i7 - i7 - movq m7, C(7) - psubsw m6, m2 ; r6 = D = c3*i5 - c5*i3 - paddw m0, m3 ; r0 = c1*i1 - pmulhw m3, m7 ; r3 = c7*i1 - movq m2, I(2) - pmulhw m7, m1 ; r7 = c7*i7 - paddw m5, m1 ; r5 = c1*i7 - movq m1, m2 ; r1 = i2 - pmulhw m2, C(2) ; r2 = c2*i2 - i2 - psubsw m3, m5 ; r3 = B = c7*i1 - c1*i7 - movq m5, J(6) - paddsw m0, m7 ; r0 = A = c1*i1 + c7*i7 - movq m7, m5 ; r7 = i6 - psubsw m0, m4 ; r0 = A - C - pmulhw m5, C(2) ; r5 = c2*i6 - i6 - paddw m2, m1 ; r2 = c2*i2 - pmulhw m1, C(6) ; r1 = c6*i2 - paddsw m4, m4 ; r4 = C + C - paddsw m4, m0 ; r4 = C. = A + C - psubsw m3, m6 ; r3 = B - D - paddw m5, m7 ; r5 = c2*i6 - paddsw m6, m6 ; r6 = D + D - pmulhw m7, C(6) ; r7 = c6*i6 - paddsw m6, m3 ; r6 = D. = B + D - movq I(1), m4 ; save C. at I(1) - psubsw m1, m5 ; r1 = H = c6*i2 - c2*i6 - movq m4, C(4) - movq m5, m3 ; r5 = B - D - pmulhw m3, m4 ; r3 = (c4 - 1) * (B - D) - paddsw m7, m2 ; r3 = (c4 - 1) * (B - D) - movq I(2), m6 ; save D. at I(2) - movq m2, m0 ; r2 = A - C - movq m6, I(0) - pmulhw m0, m4 ; r0 = (c4 - 1) * (A - C) - paddw m5, m3 ; r5 = B. = c4 * (B - D) - movq m3, J(4) - psubsw m5, m1 ; r5 = B.. = B. - H - paddw m2, m0 ; r0 = A. = c4 * (A - C) - psubsw m6, m3 ; r6 = i0 - i4 - movq m0, m6 - pmulhw m6, m4 ; r6 = (c4 - 1) * (i0 - i4) - paddsw m3, m3 ; r3 = i4 + i4 - paddsw m1, m1 ; r1 = H + H - paddsw m3, m0 ; r3 = i0 + i4 - paddsw m1, m5 ; r1 = H. = B + H - pmulhw m4, m3 ; r4 = (c4 - 1) * (i0 + i4) - paddsw m6, m0 ; r6 = F = c4 * (i0 - i4) - psubsw m6, m2 ; r6 = F. = F - A. - paddsw m2, m2 ; r2 = A. + A. - movq m0, I(1) ; r0 = C. - paddsw m2, m6 ; r2 = A.. = F + A. - paddw m4, m3 ; r4 = E = c4 * (i0 + i4) - psubsw m2, m1 ; r2 = R2 = A.. - H. -%endmacro - -; RowIDCT gets ready to transpose -%macro RowIDCT 0 - BeginIDCT - movq m3, I(2) ; r3 = D. - psubsw m4, m7 ; r4 = E. = E - G - paddsw m1, m1 ; r1 = H. + H. - paddsw m7, m7 ; r7 = G + G - paddsw m1, m2 ; r1 = R1 = A.. + H. - paddsw m7, m4 ; r1 = R1 = A.. + H. - psubsw m4, m3 ; r4 = R4 = E. - D. - paddsw m3, m3 - psubsw m6, m5 ; r6 = R6 = F. - B.. - paddsw m5, m5 - paddsw m3, m4 ; r3 = R3 = E. + D. - paddsw m5, m6 ; r5 = R5 = F. + B.. - psubsw m7, m0 ; r7 = R7 = G. - C. - paddsw m0, m0 - movq I(1), m1 ; save R1 - paddsw m0, m7 ; r0 = R0 = G. + C. -%endmacro - -; Column IDCT normalizes and stores final results -%macro ColumnIDCT 0 - BeginIDCT - paddsw m2, OC_8 ; adjust R2 (and R1) for shift - paddsw m1, m1 ; r1 = H. + H. - paddsw m1, m2 ; r1 = R1 = A.. + H. - psraw m2, 4 ; r2 = NR2 - psubsw m4, m7 ; r4 = E. = E - G - psraw m1, 4 ; r1 = NR2 - movq m3, I(2) ; r3 = D. - paddsw m7, m7 ; r7 = G + G - movq I(2), m2 ; store NR2 at I2 - paddsw m7, m4 ; r7 = G. = E + G - movq I(1), m1 ; store NR1 at I1 - psubsw m4, m3 ; r4 = R4 = E. - D. - paddsw m4, OC_8 ; adjust R4 (and R3) for shift - paddsw m3, m3 ; r3 = D. + D. - paddsw m3, m4 ; r3 = R3 = E. + D. - psraw m4, 4 ; r4 = NR4 - psubsw m6, m5 ; r6 = R6 = F. - B.. - psraw m3, 4 ; r3 = NR3 - paddsw m6, OC_8 ; adjust R6 (and R5) for shift - paddsw m5, m5 ; r5 = B.. + B.. - paddsw m5, m6 ; r5 = R5 = F. + B.. - psraw m6, 4 ; r6 = NR6 - movq J(4), m4 ; store NR4 at J4 - psraw m5, 4 ; r5 = NR5 - movq I(3), m3 ; store NR3 at I3 - psubsw m7, m0 ; r7 = R7 = G. - C. - paddsw m7, OC_8 ; adjust R7 (and R0) for shift - paddsw m0, m0 ; r0 = C. + C. - paddsw m0, m7 ; r0 = R0 = G. + C. - psraw m7, 4 ; r7 = NR7 - movq J(6), m6 ; store NR6 at J6 - psraw m0, 4 ; r0 = NR0 - movq J(5), m5 ; store NR5 at J5 - movq J(7), m7 ; store NR7 at J7 - movq I(0), m0 ; store NR0 at I0 -%endmacro - -; Following macro does two 4x4 transposes in place. -; -; At entry (we assume): -; -; r0 = a3 a2 a1 a0 -; I(1) = b3 b2 b1 b0 -; r2 = c3 c2 c1 c0 -; r3 = d3 d2 d1 d0 -; -; r4 = e3 e2 e1 e0 -; r5 = f3 f2 f1 f0 -; r6 = g3 g2 g1 g0 -; r7 = h3 h2 h1 h0 -; -; At exit, we have: -; -; I(0) = d0 c0 b0 a0 -; I(1) = d1 c1 b1 a1 -; I(2) = d2 c2 b2 a2 -; I(3) = d3 c3 b3 a3 -; -; J(4) = h0 g0 f0 e0 -; J(5) = h1 g1 f1 e1 -; J(6) = h2 g2 f2 e2 -; J(7) = h3 g3 f3 e3 -; -; I(0) I(1) I(2) I(3) is the transpose of r0 I(1) r2 r3. -; J(4) J(5) J(6) J(7) is the transpose of r4 r5 r6 r7. -; -; Since r1 is free at entry, we calculate the Js first. -%macro Transpose 0 - movq m1, m4 ; r1 = e3 e2 e1 e0 - punpcklwd m4, m5 ; r4 = f1 e1 f0 e0 - movq I(0), m0 ; save a3 a2 a1 a0 - punpckhwd m1, m5 ; r1 = f3 e3 f2 e2 - movq m0, m6 ; r0 = g3 g2 g1 g0 - punpcklwd m6, m7 ; r6 = h1 g1 h0 g0 - movq m5, m4 ; r5 = f1 e1 f0 e0 - punpckldq m4, m6 ; r4 = h0 g0 f0 e0 = R4 - punpckhdq m5, m6 ; r5 = h1 g1 f1 e1 = R5 - movq m6, m1 ; r6 = f3 e3 f2 e2 - movq J(4), m4 - punpckhwd m0, m7 ; r0 = h3 g3 h2 g2 - movq J(5), m5 - punpckhdq m6, m0 ; r6 = h3 g3 f3 e3 = R7 - movq m4, I(0) ; r4 = a3 a2 a1 a0 - punpckldq m1, m0 ; r1 = h2 g2 f2 e2 = R6 - movq m5, I(1) ; r5 = b3 b2 b1 b0 - movq m0, m4 ; r0 = a3 a2 a1 a0 - movq J(7), m6 - punpcklwd m0, m5 ; r0 = b1 a1 b0 a0 - movq J(6), m1 - punpckhwd m4, m5 ; r4 = b3 a3 b2 a2 - movq m5, m2 ; r5 = c3 c2 c1 c0 - punpcklwd m2, m3 ; r2 = d1 c1 d0 c0 - movq m1, m0 ; r1 = b1 a1 b0 a0 - punpckldq m0, m2 ; r0 = d0 c0 b0 a0 = R0 - punpckhdq m1, m2 ; r1 = d1 c1 b1 a1 = R1 - movq m2, m4 ; r2 = b3 a3 b2 a2 - movq I(0), m0 - punpckhwd m5, m3 ; r5 = d3 c3 d2 c2 - movq I(1), m1 - punpckhdq m4, m5 ; r4 = d3 c3 b3 a3 = R3 - punpckldq m2, m5 ; r2 = d2 c2 b2 a2 = R2 - movq I(3), m4 - movq I(2), m2 -%endmacro - %macro VP3_1D_IDCT_SSE2 0 movdqa m2, I(3) ; xmm2 = i3 movdqa m6, C(3) ; xmm6 = c3