Index: source/libvpx/vp9/encoder/x86/vp9_subpel_variance.asm |
=================================================================== |
--- source/libvpx/vp9/encoder/x86/vp9_subpel_variance.asm (revision 219822) |
+++ source/libvpx/vp9/encoder/x86/vp9_subpel_variance.asm (working copy) |
@@ -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,9 +547,16 @@ |
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 |