summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2013-08-27 09:09:18 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2013-08-27 09:09:18 -0700
commit45125ee5732898d95b5055649a469d3d2bbe8dd3 (patch)
tree68bb217aca9a06bf7d351832aa25cbb7fd9119b6 /vp9
parent3e43e49ffd4771751c4139c78299ffe4e859998f (diff)
parent9482c07953069401da9baeebd089564fcd75f30e (diff)
downloadlibvpx-45125ee5732898d95b5055649a469d3d2bbe8dd3.tar
libvpx-45125ee5732898d95b5055649a469d3d2bbe8dd3.tar.gz
libvpx-45125ee5732898d95b5055649a469d3d2bbe8dd3.tar.bz2
libvpx-45125ee5732898d95b5055649a469d3d2bbe8dd3.zip
Merge "fixed the reading too many bytes"
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/x86/vp9_subpel_variance.asm12
1 files changed, 12 insertions, 0 deletions
diff --git a/vp9/encoder/x86/vp9_subpel_variance.asm b/vp9/encoder/x86/vp9_subpel_variance.asm
index 19e2feb57..533456b77 100644
--- a/vp9/encoder/x86/vp9_subpel_variance.asm
+++ b/vp9/encoder/x86/vp9_subpel_variance.asm
@@ -270,8 +270,13 @@ cglobal sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, x_offset, y_offset, \
%if mmsize == 16
movhps m2, [srcq+src_strideq*2]
%else ; mmsize == 8
+%if %1 == 4
+ movh m1, [srcq+src_strideq*2]
+ punpckldq m2, m1
+%else
punpckldq m2, [srcq+src_strideq*2]
%endif
+%endif
movh m1, [dstq]
%if mmsize == 16
movlhps m0, m2
@@ -542,9 +547,16 @@ cglobal sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, x_offset, y_offset, \
movhps m2, [srcq+src_strideq]
movhps m3, [srcq+src_strideq+1]
%else
+%if %1 == 4
+ movh m1, [srcq+src_strideq]
+ punpckldq m2, m1
+ movh m1, [srcq+src_strideq+1]
+ punpckldq m3, m1
+%else
punpckldq m2, [srcq+src_strideq]
punpckldq m3, [srcq+src_strideq+1]
%endif
+%endif
pavgb m2, m3
%if mmsize == 16
movlhps m0, m2