summaryrefslogtreecommitdiff
path: root/libswscale/x86
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-02-01 07:38:54 -0800
committerRonald S. Bultje <rsbultje@gmail.com>2012-02-01 09:33:13 -0800
commit212f161caada76b083ebaca21449c58162e5419d (patch)
treed928f203bff27e3c1052eb6cd1f4ad8e86f46204 /libswscale/x86
parent3b637dca72813ee87b90d6bb01dbb8c1b36d9120 (diff)
swscale: make rgb24 function macros slightly smaller.
Diffstat (limited to 'libswscale/x86')
-rw-r--r--libswscale/x86/input.asm29
1 files changed, 13 insertions, 16 deletions
diff --git a/libswscale/x86/input.asm b/libswscale/x86/input.asm
index 7404b19dc2..d52a35a106 100644
--- a/libswscale/x86/input.asm
+++ b/libswscale/x86/input.asm
@@ -273,31 +273,28 @@ cglobal %2 %+ 24ToUV, 3, 4, %1, dstU, dstV, src, w
%endif ; ARCH_X86_64 && %0 == 3
%endmacro
+; %1 = nr. of XMM registers for rgb-to-Y func
+; %2 = nr. of XMM registers for rgb-to-UV func
+%macro RGB24_FUNCS 2
+RGB24_TO_Y_FN %1, rgb
+RGB24_TO_Y_FN %1, bgr, rgb
+RGB24_TO_UV_FN %2, rgb
+RGB24_TO_UV_FN %2, bgr, rgb
+%endmacro
+
%if ARCH_X86_32
INIT_MMX mmx
-RGB24_TO_Y_FN 0, rgb
-RGB24_TO_Y_FN 0, bgr, rgb
-RGB24_TO_UV_FN 0, rgb
-RGB24_TO_UV_FN 0, bgr, rgb
+RGB24_FUNCS 0, 0
%endif
INIT_XMM sse2
-RGB24_TO_Y_FN 10, rgb
-RGB24_TO_Y_FN 10, bgr, rgb
-RGB24_TO_UV_FN 12, rgb
-RGB24_TO_UV_FN 12, bgr, rgb
+RGB24_FUNCS 10, 12
INIT_XMM ssse3
-RGB24_TO_Y_FN 11, rgb
-RGB24_TO_Y_FN 11, bgr, rgb
-RGB24_TO_UV_FN 13, rgb
-RGB24_TO_UV_FN 13, bgr, rgb
+RGB24_FUNCS 11, 13
INIT_XMM avx
-RGB24_TO_Y_FN 11, rgb
-RGB24_TO_Y_FN 11, bgr, rgb
-RGB24_TO_UV_FN 13, rgb
-RGB24_TO_UV_FN 13, bgr, rgb
+RGB24_FUNCS 11, 13
;-----------------------------------------------------------------------------
; YUYV/UYVY/NV12/NV21 packed pixel shuffling.