aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2014-01-11 12:58:08 +0100
committerClément Bœsch <u@pkh.me>2014-01-12 20:19:00 +0100
commite11ceea68ff365e59e0fa8dea0c28182dc6f4287 (patch)
treeb3587463ce4173d01faa42cbbf210333d6472709 /libavcodec
parentc9aa0b8f70b14d8898dd70d18ed8ee8634209eb2 (diff)
downloadffmpeg-e11ceea68ff365e59e0fa8dea0c28182dc6f4287.tar.gz
vp9/x86: factor out some code in VP9_UNPACK_MULSUB_2W_4X.
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/x86/vp9itxfm.asm17
1 files changed, 9 insertions, 8 deletions
diff --git a/libavcodec/x86/vp9itxfm.asm b/libavcodec/x86/vp9itxfm.asm
index 8f2a6e0865..fe04b81a26 100644
--- a/libavcodec/x86/vp9itxfm.asm
+++ b/libavcodec/x86/vp9itxfm.asm
@@ -70,21 +70,22 @@ SECTION .text
psrad m%2, 14
%endmacro
-%macro VP9_UNPACK_MULSUB_2W_4X 7-9 ; dst1, dst2, (src1, src2,) coef1, coef2, rnd, tmp1, tmp2
-%if %0 == 7
- punpckhwd m%6, m%2, m%1
+%macro VP9_MULSUB_2W_4X 7 ; dst1, dst2, coef1, coef2, rnd, tmp1/src, tmp2
VP9_MULSUB_2W_2X %7, %6, %5, [pw_m%3_%4], [pw_%4_%3]
- punpcklwd m%2, m%1
VP9_MULSUB_2W_2X %1, %2, %5, [pw_m%3_%4], [pw_%4_%3]
packssdw m%1, m%7
packssdw m%2, m%6
+%endmacro
+
+%macro VP9_UNPACK_MULSUB_2W_4X 7-9 ; dst1, dst2, (src1, src2,) coef1, coef2, rnd, tmp1, tmp2
+%if %0 == 7
+ punpckhwd m%6, m%2, m%1
+ punpcklwd m%2, m%1
+ VP9_MULSUB_2W_4X %1, %2, %3, %4, %5, %6, %7
%else
punpckhwd m%8, m%4, m%3
- VP9_MULSUB_2W_2X %9, %8, %7, [pw_m%5_%6], [pw_%6_%5]
punpcklwd m%2, m%4, m%3
- VP9_MULSUB_2W_2X %1, %2, %7, [pw_m%5_%6], [pw_%6_%5]
- packssdw m%1, m%9
- packssdw m%2, m%8
+ VP9_MULSUB_2W_4X %1, %2, %5, %6, %7, %8, %9
%endif
%endmacro