shithub: libvpx

Download patch

ref: 0b562b2d3d3ab7ca1958cd0c3c8cf137c8ddca11
parent: 39cea29bb7fb4228d66e9e6e5713960bfc782b5d
author: Dmitry Kovalev <dkovalev@google.com>
date: Thu Jul 18 11:12:46 EDT 2013

Using VP9_REF_NO_SCALE instead of (1 << VP9_REF_SCALE_SHIFT).

Change-Id: Ide58a74d31ff948319445a6337d2c05e98720e34

--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -169,7 +169,7 @@
 };
 
 #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
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2360,8 +2360,8 @@
   // 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);
 }
@@ -3354,18 +3354,14 @@
     // 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;