ref: 17fae3ad0afbffb473b709ba36669b1b92833a5d
parent: a45596cff7bce21db776dbae8df88844db46c0e8
author: Yaowu Xu <[email protected]>
date: Wed May 11 09:52:59 EDT 2016
Change to use correct check for halfpel 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
--- a/vpx_dsp/x86/subpel_variance_sse2.asm
+++ b/vpx_dsp/x86/subpel_variance_sse2.asm
@@ -274,7 +274,7 @@
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 @@
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 @@
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 @@
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