Merge "Fix EXT_INTER unit test failure in 32-bit builds" into nextgenv2
diff --git a/vp10/encoder/mcomp.c b/vp10/encoder/mcomp.c
index 9423ed2..054161d 100644
--- a/vp10/encoder/mcomp.c
+++ b/vp10/encoder/mcomp.c
@@ -99,8 +99,8 @@
static int mvsad_err_cost(const MACROBLOCK *x, const MV *mv, const MV *ref,
int sad_per_bit) {
#if CONFIG_REF_MV
- const MV diff = { (mv->row - ref->row) << 3,
- (mv->col - ref->col) << 3 };
+ const MV diff = { (mv->row - ref->row) * 8,
+ (mv->col - ref->col) * 8 };
return ROUND_POWER_OF_TWO(
(unsigned)mv_cost(&diff, x->nmvjointsadcost, x->mvsadcost) *
sad_per_bit,
@@ -790,7 +790,7 @@
if (use_upsampled_ref)
besterr = upsampled_setup_center_error(xd, bestmv, ref_mv, error_per_bit,
vfp, z, src_stride, y, y_stride,
- second_pred, w, h, (offset << 3),
+ second_pred, w, h, (offset * 8),
mvjcost, mvcost, sse1, distortion);
else
besterr = setup_center_error(xd, bestmv, ref_mv, error_per_bit, vfp,
diff --git a/vp10/encoder/rdopt.c b/vp10/encoder/rdopt.c
index c8f5715..3eeb1f3 100644
--- a/vp10/encoder/rdopt.c
+++ b/vp10/encoder/rdopt.c
@@ -1829,6 +1829,8 @@
if (centroids[i] == centroids[i - 1]) {
j = i;
while (j < k - 1) {
+ assert((j + 1) < PALETTE_MAX_SIZE);
+ assert(j > 0);
centroids[j] = centroids[j + 1];
++j;
}
@@ -5046,7 +5048,8 @@
if (!has_second_rf &&
#if CONFIG_EXT_INTER
have_newmv_in_inter_mode(this_mode) &&
- seg_mvs[i][mv_idx][mbmi->ref_frame[0]].as_int == INVALID_MV
+ (seg_mvs[i][mv_idx][mbmi->ref_frame[0]].as_int == INVALID_MV ||
+ vp10_use_mv_hp(&bsi->ref_mv[0]->as_mv) == 0)
#else
this_mode == NEWMV &&
(seg_mvs[i][mbmi->ref_frame[0]].as_int == INVALID_MV ||