]> granicus.if.org Git - libvpx/commitdiff
Adding is_best_mode() function.
authorDmitry Kovalev <dkovalev@google.com>
Thu, 17 Apr 2014 22:09:55 +0000 (15:09 -0700)
committerDmitry Kovalev <dkovalev@google.com>
Thu, 17 Apr 2014 22:09:55 +0000 (15:09 -0700)
Change-Id: Idca7c1cd8a12df465c58b6ba064a99404b3b4bce

vp9/encoder/vp9_onyx_if.c
vp9/encoder/vp9_onyx_int.h
vp9/encoder/vp9_rdopt.c

index 5a7257338d3213f23eb501335878097566812047..e869e8fa271b30c9e08e0bfb91ff52e4ebc772b7 100644 (file)
@@ -372,9 +372,6 @@ static void update_reference_segmentation_map(VP9_COMP *cpi) {
     cache_ptr += cm->mi_cols;
   }
 }
-static int is_slowest_mode(int mode) {
-  return (mode == TWO_PASS_SECOND_BEST || mode == ONE_PASS_BEST);
-}
 
 static void set_rd_speed_thresholds(VP9_COMP *cpi) {
   int i;
@@ -382,7 +379,7 @@ static void set_rd_speed_thresholds(VP9_COMP *cpi) {
 
   // Set baseline threshold values
   for (i = 0; i < MAX_MODES; ++i)
-    rd->thresh_mult[i] = is_slowest_mode(cpi->oxcf.mode) ? -500 : 0;
+    rd->thresh_mult[i] = is_best_mode(cpi->oxcf.mode) ? -500 : 0;
 
   rd->thresh_mult[THR_NEARESTMV] = 0;
   rd->thresh_mult[THR_NEARESTG] = 0;
@@ -464,7 +461,7 @@ static void set_rd_speed_thresholds_sub8x8(VP9_COMP *cpi) {
   int i;
 
   for (i = 0; i < MAX_REFS; ++i)
-    rd->thresh_mult_sub8x8[i] = is_slowest_mode(cpi->oxcf.mode)  ? -500 : 0;
+    rd->thresh_mult_sub8x8[i] = is_best_mode(cpi->oxcf.mode)  ? -500 : 0;
 
   rd->thresh_mult_sub8x8[THR_LAST] += 2500;
   rd->thresh_mult_sub8x8[THR_GOLD] += 2500;
index a9ae7b3a8e870f2b99e498ac027bb36cd6805192..423cf2f4021f57630d3cb62d90c1f41a5cceb57f 100644 (file)
@@ -287,6 +287,9 @@ typedef struct VP9_CONFIG {
   vp8e_tuning tuning;
 } VP9_CONFIG;
 
+static INLINE int is_best_mode(MODE mode) {
+  return mode == ONE_PASS_BEST || mode == TWO_PASS_SECOND_BEST;
+}
 
 typedef struct RD_OPT {
   // Thresh_mult is used to set a threshold for the rd score. A higher value
index 8766de66a89f10cb2cef933b776dadbba2edcb18..394dd72c45b7e33f2e6e731e40c26bd9691c3ebe 100644 (file)
@@ -1808,8 +1808,7 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x,
           if (best_rd < label_mv_thresh)
             break;
 
-          if (cpi->oxcf.mode != TWO_PASS_SECOND_BEST &&
-              cpi->oxcf.mode != ONE_PASS_BEST) {
+          if (!is_best_mode(cpi->oxcf.mode)) {
             // use previous block's result as next block's MV predictor.
             if (i > 0) {
               bsi->mvp.as_int = mi->bmi[i - 1].as_mv[0].as_int;
@@ -1885,8 +1884,7 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x,
           }
 
           // Should we do a full search (best quality only)
-          if (cpi->oxcf.mode == ONE_PASS_BEST ||
-              cpi->oxcf.mode == TWO_PASS_SECOND_BEST) {
+          if (is_best_mode(cpi->oxcf.mode)) {
             int_mv *const best_mv = &mi->bmi[i].as_mv[0];
             /* Check if mvp_full is within the range. */
             clamp_mv(&mvp_full, x->mv_col_min, x->mv_col_max,