summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Kovalev <dkovalev@google.com>2014-04-17 15:09:55 -0700
committerDmitry Kovalev <dkovalev@google.com>2014-04-17 15:09:55 -0700
commit52549b4e78dba7116f5d6c91a785e65d32c570c9 (patch)
tree3345d9009964a98c5a35c9d32631083dff5c7d42
parent69009e738eed9853803be8b90a7a7f40434d5337 (diff)
downloadlibvpx-52549b4e78dba7116f5d6c91a785e65d32c570c9.tar
libvpx-52549b4e78dba7116f5d6c91a785e65d32c570c9.tar.gz
libvpx-52549b4e78dba7116f5d6c91a785e65d32c570c9.tar.bz2
libvpx-52549b4e78dba7116f5d6c91a785e65d32c570c9.zip
Adding is_best_mode() function.
Change-Id: Idca7c1cd8a12df465c58b6ba064a99404b3b4bce
-rw-r--r--vp9/encoder/vp9_onyx_if.c7
-rw-r--r--vp9/encoder/vp9_onyx_int.h3
-rw-r--r--vp9/encoder/vp9_rdopt.c6
3 files changed, 7 insertions, 9 deletions
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 5a7257338..e869e8fa2 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -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;
diff --git a/vp9/encoder/vp9_onyx_int.h b/vp9/encoder/vp9_onyx_int.h
index a9ae7b3a8..423cf2f40 100644
--- a/vp9/encoder/vp9_onyx_int.h
+++ b/vp9/encoder/vp9_onyx_int.h
@@ -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
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 8766de66a..394dd72c4 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -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,