summaryrefslogtreecommitdiffstats
path: root/libvpx/vp8
diff options
context:
space:
mode:
Diffstat (limited to 'libvpx/vp8')
-rw-r--r--libvpx/vp8/common/loopfilter.c1
-rw-r--r--libvpx/vp8/common/postproc.c4
-rw-r--r--libvpx/vp8/common/x86/postproc_mmx.asm7
-rw-r--r--libvpx/vp8/common/x86/postproc_sse2.asm7
4 files changed, 12 insertions, 7 deletions
diff --git a/libvpx/vp8/common/loopfilter.c b/libvpx/vp8/common/loopfilter.c
index 19857a7..7a07e76 100644
--- a/libvpx/vp8/common/loopfilter.c
+++ b/libvpx/vp8/common/loopfilter.c
@@ -15,7 +15,6 @@
#include "onyxc_int.h"
#include "vpx_mem/vpx_mem.h"
-typedef unsigned char uc;
static void lf_init_lut(loop_filter_info_n *lfi)
{
diff --git a/libvpx/vp8/common/postproc.c b/libvpx/vp8/common/postproc.c
index e3bee32..7d0fbf6 100644
--- a/libvpx/vp8/common/postproc.c
+++ b/libvpx/vp8/common/postproc.c
@@ -303,8 +303,8 @@ void vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols, i
{
d[r&15] = (rv2[r&127] + sum + s[0]) >> 4;
}
-
- s[-8*pitch] = d[(r-8)&15];
+ if (r >= 8)
+ s[-8*pitch] = d[(r-8)&15];
s += pitch;
}
}
diff --git a/libvpx/vp8/common/x86/postproc_mmx.asm b/libvpx/vp8/common/x86/postproc_mmx.asm
index 5cf110b..8be3431 100644
--- a/libvpx/vp8/common/x86/postproc_mmx.asm
+++ b/libvpx/vp8/common/x86/postproc_mmx.asm
@@ -204,13 +204,16 @@ sym(vp8_mbpost_proc_down_mmx):
and rcx, 15
movd DWORD PTR [rsp+rcx*4], mm1 ;d[rcx*4]
+ cmp edx, 8
+ jl .skip_assignment
+
mov rcx, rdx
sub rcx, 8
-
and rcx, 15
movd mm1, DWORD PTR [rsp+rcx*4] ;d[rcx*4]
-
movd [rsi], mm1
+
+.skip_assignment
lea rsi, [rsi+rax]
lea rdi, [rdi+rax]
diff --git a/libvpx/vp8/common/x86/postproc_sse2.asm b/libvpx/vp8/common/x86/postproc_sse2.asm
index 00f84a3..f53daa7 100644
--- a/libvpx/vp8/common/x86/postproc_sse2.asm
+++ b/libvpx/vp8/common/x86/postproc_sse2.asm
@@ -425,13 +425,16 @@ sym(vp8_mbpost_proc_down_xmm):
and rcx, 15
movq QWORD PTR [rsp + rcx*8], xmm1 ;d[rcx*8]
+ cmp edx, 8
+ jl .skip_assignment
+
mov rcx, rdx
sub rcx, 8
-
and rcx, 15
movq mm0, [rsp + rcx*8] ;d[rcx*8]
-
movq [rsi], mm0
+
+.skip_assignment
lea rsi, [rsi+rax]
lea rdi, [rdi+rax]