summaryrefslogtreecommitdiff
path: root/libavcodec/x86/cavsdsp.c
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-05-08 00:57:57 +0200
committerDiego Biurrun <diego@biurrun.de>2013-05-08 18:18:23 +0200
commit3d40c1ee742db5f13ebcf53c2d1fa4bf4f39bcd2 (patch)
tree7277abe1ca12639539630ee975aae54bea4fa81e /libavcodec/x86/cavsdsp.c
parent71469f3b636fbe06b6aca5933f9fdebddd8d5f57 (diff)
x86: dsputil: Move TRANSPOSE4 macro to the only place it is used
Diffstat (limited to 'libavcodec/x86/cavsdsp.c')
-rw-r--r--libavcodec/x86/cavsdsp.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/x86/cavsdsp.c b/libavcodec/x86/cavsdsp.c
index 38235f0a48..83a7451c76 100644
--- a/libavcodec/x86/cavsdsp.c
+++ b/libavcodec/x86/cavsdsp.c
@@ -123,6 +123,17 @@ static inline void cavs_idct8_1d(int16_t *block, uint64_t bias)
);
}
+#define SBUTTERFLY(a,b,t,n,m)\
+ "mov" #m " " #a ", " #t " \n\t" /* abcd */\
+ "punpckl" #n " " #b ", " #a " \n\t" /* aebf */\
+ "punpckh" #n " " #b ", " #t " \n\t" /* cgdh */\
+
+#define TRANSPOSE4(a,b,c,d,t)\
+ SBUTTERFLY(a,b,t,wd,q) /* a=aebf t=cgdh */\
+ SBUTTERFLY(c,d,b,wd,q) /* c=imjn b=kolp */\
+ SBUTTERFLY(a,c,d,dq,q) /* a=aeim d=bfjn */\
+ SBUTTERFLY(t,b,c,dq,q) /* t=cgko c=dhlp */
+
static void cavs_idct8_add_mmx(uint8_t *dst, int16_t *block, int stride)
{
int i;