diff options
author | Yaowu Xu <yaowu@google.com> | 2014-07-16 19:12:22 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-07-16 19:12:22 -0700 |
commit | 42a68e6701f277abdbdb8cd02364d8130cf4e4f8 (patch) | |
tree | 8fc7ad9d70679e4ef0838b611e3f0e85f61d8d5e /vp9 | |
parent | 422acd0a071aa40f46e4a6251567a39543767600 (diff) | |
parent | 51c60a891e18a26e0c4a1052f61109507b20b705 (diff) | |
download | libvpx-42a68e6701f277abdbdb8cd02364d8130cf4e4f8.tar libvpx-42a68e6701f277abdbdb8cd02364d8130cf4e4f8.tar.gz libvpx-42a68e6701f277abdbdb8cd02364d8130cf4e4f8.tar.bz2 libvpx-42a68e6701f277abdbdb8cd02364d8130cf4e4f8.zip |
Merge "make default_interp_filter choice a speed feature"
Diffstat (limited to 'vp9')
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 6 | ||||
-rw-r--r-- | vp9/encoder/vp9_speed_features.c | 1 | ||||
-rw-r--r-- | vp9/encoder/vp9_speed_features.h | 3 |
3 files changed, 6 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 04d518178..59a83785c 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -51,8 +51,6 @@ void vp9_coef_tree_initialize(); -#define DEFAULT_INTERP_FILTER SWITCHABLE - #define SHARP_FILTER_QTHRESH 0 /* Q threshold for 8-tap sharp filter */ #define ALTREF_HIGH_PRECISION_MV 1 // Whether to use high precision mv @@ -636,7 +634,7 @@ void vp9_change_config(struct VP9_COMP *cpi, const VP9EncoderConfig *oxcf) { rc->worst_quality = cpi->oxcf.worst_allowed_q; rc->best_quality = cpi->oxcf.best_allowed_q; - cm->interp_filter = DEFAULT_INTERP_FILTER; + cm->interp_filter = cpi->sf.default_interp_filter; cm->display_width = cpi->oxcf.width; cm->display_height = cpi->oxcf.height; @@ -2247,7 +2245,7 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, q = vp9_rc_pick_q_and_bounds(cpi, &bottom_index, &top_index); if (!frame_is_intra_only(cm)) { - cm->interp_filter = DEFAULT_INTERP_FILTER; + cm->interp_filter = cpi->sf.default_interp_filter; /* TODO: Decide this more intelligently */ vp9_set_high_precision_mv(cpi, q < HIGH_PRECISION_MV_QTHRESH); } diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index dc9bdeb8c..e3951d532 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -372,6 +372,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->elevate_newmv_thresh = 0; // Recode loop tolerence %. sf->recode_tolerance = 25; + sf->default_interp_filter = SWITCHABLE; switch (oxcf->mode) { case ONE_PASS_BEST: diff --git a/vp9/encoder/vp9_speed_features.h b/vp9/encoder/vp9_speed_features.h index e6f465380..bdbbe5888 100644 --- a/vp9/encoder/vp9_speed_features.h +++ b/vp9/encoder/vp9_speed_features.h @@ -366,6 +366,9 @@ typedef struct SPEED_FEATURES { // In real time encoding, increase the threshold for NEWMV. int elevate_newmv_thresh; + + // default interp filter choice + INTERP_FILTER default_interp_filter; } SPEED_FEATURES; struct VP9_COMP; |