summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2014-12-19 22:09:30 -0500
committerAnton Khirnov <anton@khirnov.net>2016-10-04 10:54:08 +0200
commit6411c328a233b80faa5aa3ef4266f9a16e499699 (patch)
tree4401cc993124a8fa4370d1ff2c67b7fe554de669 /libavcodec/x86
parenta6e288d62414c25ed173b17b48ddea947bede73e (diff)
vp9lpf/x86: make cglobal statement more conservative in register allocation.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/vp9lpf.asm21
1 files changed, 16 insertions, 5 deletions
diff --git a/libavcodec/x86/vp9lpf.asm b/libavcodec/x86/vp9lpf.asm
index dc22705696..878bc54a28 100644
--- a/libavcodec/x86/vp9lpf.asm
+++ b/libavcodec/x86/vp9lpf.asm
@@ -308,7 +308,20 @@ SECTION .text
%endif
%endmacro
-%macro LOOPFILTER 2 ; %1=v/h %2=size1
+%macro LOOPFILTER 3 ; %1=v/h %2=size1 %3=stack
+%if UNIX64
+cglobal vp9_loop_filter_%1_%2_16, 5, 9, 16, %3, dst, stride, E, I, H, mstride, dst2, stride3, mstride3
+%else
+%if WIN64
+cglobal vp9_loop_filter_%1_%2_16, 4, 8, 16, %3, dst, stride, E, I, mstride, dst2, stride3, mstride3
+%else
+cglobal vp9_loop_filter_%1_%2_16, 2, 6, 16, %3, dst, stride, mstride, dst2, stride3, mstride3
+%define Ed dword r2m
+%define Id dword r3m
+%endif
+%define Hd dword r4m
+%endif
+
mov mstrideq, strideq
neg mstrideq
@@ -796,10 +809,8 @@ SECTION .text
%macro LPF_16_VH 2
INIT_XMM %2
-cglobal vp9_loop_filter_v_%1_16, 5,10,16, dst, stride, E, I, H, mstride, dst2, stride3, mstride3
- LOOPFILTER v, %1
-cglobal vp9_loop_filter_h_%1_16, 5,10,16, 256, dst, stride, E, I, H, mstride, dst2, stride3, mstride3
- LOOPFILTER h, %1
+LOOPFILTER v, %1, 0
+LOOPFILTER h, %1, 256
%endmacro
%macro LPF_16_VH_ALL_OPTS 1