ref: ab2dfd22f3edb6b0571913bd27645252653520bf
parent: 1f3f18443db5820157448515579c14efd19eea1b
author: Yaowu Xu <yaowu@google.com>
date: Sat May 21 17:51:21 EDT 2011
use get8x8var directly for non-subpixel motion case in VP8_UVSSE VP8_UVSSE mistakenly used subpixvar8x8 to calculate SSE for non-subpixl motion cases. Change-Id: I4a5398bb9ef39c211039f6af4540546d4972e6a9
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -455,17 +455,21 @@
if ((mv_row | mv_col) & 7)
{
- VARIANCE_INVOKE(rtcd, subpixvar8x8)(uptr, pre_stride, mv_col & 7, mv_row & 7, upred_ptr, uv_stride, &sse2);
- VARIANCE_INVOKE(rtcd, subpixvar8x8)(vptr, pre_stride, mv_col & 7, mv_row & 7, vpred_ptr, uv_stride, &sse1);
+ VARIANCE_INVOKE(rtcd, subpixvar8x8)(uptr, pre_stride,
+ mv_col & 7, mv_row & 7, upred_ptr, uv_stride, &sse2);
+ VARIANCE_INVOKE(rtcd, subpixvar8x8)(vptr, pre_stride,
+ mv_col & 7, mv_row & 7, vpred_ptr, uv_stride, &sse1);
sse2 += sse1;
}
else
{
- VARIANCE_INVOKE(rtcd, subpixvar8x8)(uptr, pre_stride, mv_col & 7, mv_row & 7, upred_ptr, uv_stride, &sse2);
- VARIANCE_INVOKE(rtcd, subpixvar8x8)(vptr, pre_stride, mv_col & 7, mv_row & 7, vpred_ptr, uv_stride, &sse1);
+ int sum2, sum1;
+ VARIANCE_INVOKE(rtcd, get8x8var)(uptr, pre_stride,
+ upred_ptr, uv_stride, &sse2, &sum2);
+ VARIANCE_INVOKE(rtcd, get8x8var)(vptr, pre_stride,
+ vpred_ptr, uv_stride, &sse1, &sum1);
sse2 += sse1;
}
-
return sse2;
}