]> granicus.if.org Git - libvpx/commitdiff
Change to use correct check for halfpel
authorYaowu Xu <yaowu@google.com>
Wed, 11 May 2016 20:52:59 +0000 (13:52 -0700)
committerYaowu Xu <yaowu@google.com>
Wed, 11 May 2016 20:52:59 +0000 (13:52 -0700)
In motion estimation stage for subpel motion, subpel variance is
computed use bilinear interpolation. The motion vector precision
used is at 1/8 pel and three bits are used to represent the x and y
subpel offsets. Based on this, the half pel check should be against
4, not 8.

Change-Id: I1f56fa1fa3f2f5e19a20d27983efe628557f170e

vpx_dsp/x86/subpel_variance_sse2.asm

index c655e4b346923465dedac786376d504ebd7ed023..be359759c3b86833a73f082a282cf6e824378c8a 100644 (file)
@@ -274,7 +274,7 @@ SECTION .text
   STORE_AND_RET
 
 .x_zero_y_nonzero:
-  cmp           y_offsetd, 8
+  cmp           y_offsetd, 4
   jne .x_zero_y_nonhalf
 
   ; x_offset == 0 && y_offset == 0.5
@@ -478,7 +478,7 @@ SECTION .text
   STORE_AND_RET
 
 .x_nonzero:
-  cmp           x_offsetd, 8
+  cmp           x_offsetd, 4
   jne .x_nonhalf
   ; x_offset == 0.5
   test          y_offsetd, y_offsetd
@@ -546,7 +546,7 @@ SECTION .text
   STORE_AND_RET
 
 .x_half_y_nonzero:
-  cmp           y_offsetd, 8
+  cmp           y_offsetd, 4
   jne .x_half_y_nonhalf
 
   ; x_offset == 0.5 && y_offset == 0.5
@@ -921,7 +921,7 @@ SECTION .text
   STORE_AND_RET
 
 .x_nonhalf_y_nonzero:
-  cmp           y_offsetd, 8
+  cmp           y_offsetd, 4
   jne .x_nonhalf_y_nonhalf
 
   ; x_offset == bilin interpolation && y_offset == 0.5