Merge "Using VP9_REF_NO_SCALE instead of (1 << VP9_REF_SCALE_SHIFT)."

This commit is contained in:
Dmitry Kovalev 2013-07-18 17:29:05 -07:00 committed by Gerrit Code Review
commit 92f4198d52
2 changed files with 7 additions and 11 deletions

View File

@ -169,7 +169,7 @@ enum mv_precision {
};
#define VP9_REF_SCALE_SHIFT 14
#define VP9_REF_NO_SCALE 16384
#define VP9_REF_NO_SCALE (1 << VP9_REF_SCALE_SHIFT)
struct scale_factors {
int x_scale_fp; // horizontal fixed point scale factor

View File

@ -2346,8 +2346,8 @@ static void setup_buffer_inter(VP9_COMP *cpi, MACROBLOCK *x,
// Further refinement that is encode side only to test the top few candidates
// in full and choose the best as the centre point for subsequent searches.
// The current implementation doesn't support scaling.
if (scale[frame_type].x_scale_fp == (1 << VP9_REF_SCALE_SHIFT) &&
scale[frame_type].y_scale_fp == (1 << VP9_REF_SCALE_SHIFT))
if (scale[frame_type].x_scale_fp == VP9_REF_NO_SCALE &&
scale[frame_type].y_scale_fp == VP9_REF_NO_SCALE)
mv_pred(cpi, x, yv12_mb[frame_type][0].buf, yv12->y_stride,
frame_type, block_size);
}
@ -3340,18 +3340,14 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
// TODO(jingning, jkoleszar): scaling reference frame not supported for
// SPLITMV.
if (mbmi->ref_frame[0] > 0 &&
(scale_factor[mbmi->ref_frame[0]].x_scale_fp !=
(1 << VP9_REF_SCALE_SHIFT) ||
scale_factor[mbmi->ref_frame[0]].y_scale_fp !=
(1 << VP9_REF_SCALE_SHIFT)) &&
(scale_factor[mbmi->ref_frame[0]].x_scale_fp != VP9_REF_NO_SCALE ||
scale_factor[mbmi->ref_frame[0]].y_scale_fp != VP9_REF_NO_SCALE) &&
this_mode == SPLITMV)
continue;
if (mbmi->ref_frame[1] > 0 &&
(scale_factor[mbmi->ref_frame[1]].x_scale_fp !=
(1 << VP9_REF_SCALE_SHIFT) ||
scale_factor[mbmi->ref_frame[1]].y_scale_fp !=
(1 << VP9_REF_SCALE_SHIFT)) &&
(scale_factor[mbmi->ref_frame[1]].x_scale_fp != VP9_REF_NO_SCALE ||
scale_factor[mbmi->ref_frame[1]].y_scale_fp != VP9_REF_NO_SCALE) &&
this_mode == SPLITMV)
continue;