From: Jingning Han Date: Mon, 6 May 2013 17:25:38 +0000 (-0700) Subject: Fix a unit test failure of sb8x8 on scaling ref X-Git-Tag: v1.3.0~1106^2~58 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8e1c97cf73f094d1dd06e90e45da84bd859c8b3b;p=libvpx Fix a unit test failure of sb8x8 on scaling ref Disable the use of scaled reference frame for motion search in SPLITMV mode. This fixes the unit test failure issue triggered when merging sb8x8 from experimental list. Change-Id: I02ac25fd8db8d5762f8fee29513b947189875fa0 --- diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index f2cee7fff..439905f9f 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -4756,6 +4756,21 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x, mbmi->ref_frame = ref_frame; mbmi->second_ref_frame = vp9_mode_order[mode_index].second_ref_frame; + + // TODO(jingning): scaling not supported in SPLITMV mode. + if (mbmi->ref_frame > 0 && + (yv12_mb[mbmi->ref_frame].y_width != cm->mb_cols * 16 || + yv12_mb[mbmi->ref_frame].y_height != cm->mb_rows * 16) && + this_mode == SPLITMV) + continue; + + if (mbmi->second_ref_frame > 0 && + (yv12_mb[mbmi->second_ref_frame].y_width != cm->mb_cols * 16 || + yv12_mb[mbmi->second_ref_frame].y_height != cm->mb_rows * 16) && + this_mode == SPLITMV) + continue; + + set_scale_factors(xd, mbmi->ref_frame, mbmi->second_ref_frame, scale_factor); comp_pred = mbmi->second_ref_frame > INTRA_FRAME;