shithub: libvpx

Download patch

ref: 689957e3ad60b46ec8e22665f0d95d03c50f100e
parent: e606cac04660880c462debde7e952b9b09855e57
author: Paul Wilkins <paulwilkins@google.com>
date: Tue Jun 25 10:59:18 EDT 2013

Start adaptive threshold for each mode at max.

Each frame we reset all adaptive thresholds to MAX
rather than base. As modes are picked their thresholds
drop down.

Change-Id: Ia37f03a73003c2d9bfcda57edea07205e9a0e5e8

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -397,24 +397,6 @@
     cpi->mode_chosen_counts[kf_mode_index[mb_mode]]++;
 #endif
   } else {
-    /*
-     // Reduce the activation RD thresholds for the best choice mode
-     if ((cpi->rd_baseline_thresh[mb_mode_index] > 0) &&
-     (cpi->rd_baseline_thresh[mb_mode_index] < (INT_MAX >> 2)))
-     {
-     int best_adjustment = (cpi->rd_thresh_mult[mb_mode_index] >> 2);
-
-     cpi->rd_thresh_mult[mb_mode_index] =
-     (cpi->rd_thresh_mult[mb_mode_index]
-     >= (MIN_THRESHMULT + best_adjustment)) ?
-     cpi->rd_thresh_mult[mb_mode_index] - best_adjustment :
-     MIN_THRESHMULT;
-     cpi->rd_threshes[mb_mode_index] =
-     (cpi->rd_baseline_thresh[mb_mode_index] >> 7)
-     * cpi->rd_thresh_mult[mb_mode_index];
-
-     }
-     */
     // Note how often each mode chosen as best
     cpi->mode_chosen_counts[mb_mode_index]++;
     if (mbmi->ref_frame[0] != INTRA_FRAME
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -227,7 +227,8 @@
           cpi->rd_threshes[bsize][i] = INT_MAX;
         }
         cpi->rd_baseline_thresh[bsize][i] = cpi->rd_threshes[bsize][i];
-        cpi->rd_thresh_freq_fact[bsize][i] = BASE_RD_THRESH_FREQ_FACT;
+
+        cpi->rd_thresh_freq_fact[bsize][i] = MAX_RD_THRESH_FREQ_FACT;
       }
     }
   } else {
@@ -247,7 +248,7 @@
           cpi->rd_threshes[bsize][i] = INT_MAX;
         }
         cpi->rd_baseline_thresh[bsize][i] = cpi->rd_threshes[bsize][i];
-        cpi->rd_thresh_freq_fact[bsize][i] = BASE_RD_THRESH_FREQ_FACT;
+        cpi->rd_thresh_freq_fact[bsize][i] = MAX_RD_THRESH_FREQ_FACT;
       }
     }
   }