ref: 45125ee5732898d95b5055649a469d3d2bbe8dd3
parent: 3e43e49ffd4771751c4139c78299ffe4e859998f
parent: 9482c07953069401da9baeebd089564fcd75f30e
author: Yaowu Xu <yaowu@google.com>
date: Tue Aug 27 05:09:18 EDT 2013
Merge "fixed the reading too many bytes"
--- a/vp9/encoder/x86/vp9_subpel_variance.asm
+++ b/vp9/encoder/x86/vp9_subpel_variance.asm
@@ -270,8 +270,13 @@
%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,8 +547,15 @@
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