summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-05-28 12:38:35 +0200
committerLuca Barbato <lu_zero@gentoo.org>2015-05-28 18:40:40 +0200
commite4610300de6869bd6b3b00e76cfeabb6d7653dcd (patch)
treea8c28c5f3dde7254790ccdbe339a235b9966aa77 /libavcodec/x86
parent1b1bb2c4efc126d74d44d8c421860c85f932ecb1 (diff)
x86: cavs: Remove an unneeded scratch buffer
Simplifies the code and makes it build on certain compilers running out of registers on x86. CC: libav-stable@libav.org Reported-By: mudler
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/cavsdsp.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/libavcodec/x86/cavsdsp.c b/libavcodec/x86/cavsdsp.c
index b323a105f2..39eec4b3ee 100644
--- a/libavcodec/x86/cavsdsp.c
+++ b/libavcodec/x86/cavsdsp.c
@@ -142,9 +142,7 @@ static void cavs_idct8_add_mmx(uint8_t *dst, int16_t *block, int stride)
DECLARE_ALIGNED(8, int16_t, b2)[64];
for(i=0; i<2; i++){
- DECLARE_ALIGNED(8, uint64_t, tmp);
-
- cavs_idct8_1d(block+4*i, ff_pw_4.a);
+ cavs_idct8_1d(block + 4 * i, ff_pw_4.a);
__asm__ volatile(
"psraw $3, %%mm7 \n\t"
@@ -155,20 +153,20 @@ static void cavs_idct8_add_mmx(uint8_t *dst, int16_t *block, int stride)
"psraw $3, %%mm2 \n\t"
"psraw $3, %%mm1 \n\t"
"psraw $3, %%mm0 \n\t"
- "movq %%mm7, %0 \n\t"
+ "movq %%mm7, (%0) \n\t"
TRANSPOSE4( %%mm0, %%mm2, %%mm4, %%mm6, %%mm7 )
- "movq %%mm0, 8(%1) \n\t"
- "movq %%mm6, 24(%1) \n\t"
- "movq %%mm7, 40(%1) \n\t"
- "movq %%mm4, 56(%1) \n\t"
- "movq %0, %%mm7 \n\t"
+ "movq %%mm0, 8(%0) \n\t"
+ "movq %%mm6, 24(%0) \n\t"
+ "movq %%mm7, 40(%0) \n\t"
+ "movq %%mm4, 56(%0) \n\t"
+ "movq (%0), %%mm7 \n\t"
TRANSPOSE4( %%mm7, %%mm5, %%mm3, %%mm1, %%mm0 )
- "movq %%mm7, (%1) \n\t"
- "movq %%mm1, 16(%1) \n\t"
- "movq %%mm0, 32(%1) \n\t"
- "movq %%mm3, 48(%1) \n\t"
- : "=m"(tmp)
- : "r"(b2+32*i)
+ "movq %%mm7, (%0) \n\t"
+ "movq %%mm1, 16(%0) \n\t"
+ "movq %%mm0, 32(%0) \n\t"
+ "movq %%mm3, 48(%0) \n\t"
+ :
+ : "r"(b2 + 32 * i)
: "memory"
);
}