summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_speed_features.c
diff options
context:
space:
mode:
authorDmitry Kovalev <dkovalev@google.com>2014-08-08 16:29:24 -0700
committerDmitry Kovalev <dkovalev@google.com>2014-08-08 16:29:24 -0700
commitcd1fbc67f9eb50246e4df490af64b1fc25fc04c8 (patch)
treeb6e54f5f7407960638f3dcf17a12ed55980c6e90 /vp9/encoder/vp9_speed_features.c
parent6e5149b68d97ea0bd1f149645da83169bc447e39 (diff)
downloadlibvpx-cd1fbc67f9eb50246e4df490af64b1fc25fc04c8.tar
libvpx-cd1fbc67f9eb50246e4df490af64b1fc25fc04c8.tar.gz
libvpx-cd1fbc67f9eb50246e4df490af64b1fc25fc04c8.tar.bz2
libvpx-cd1fbc67f9eb50246e4df490af64b1fc25fc04c8.zip
Simplifying vp9_set_speed_features() function.
Change-Id: I3e67230690b81ef54ef48ae26107fe7bc880ab8e
Diffstat (limited to 'vp9/encoder/vp9_speed_features.c')
-rw-r--r--vp9/encoder/vp9_speed_features.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c
index f2e99cf22..5084364de 100644
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -388,21 +388,19 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
sf->recode_tolerance = 25;
sf->default_interp_filter = SWITCHABLE;
- switch (oxcf->mode) {
- case ONE_PASS_BEST:
- case TWO_PASS_SECOND_BEST: // This is the best quality mode.
- cpi->diamond_search_sad = vp9_full_range_search;
- break;
- case TWO_PASS_FIRST:
- case ONE_PASS_GOOD:
- case TWO_PASS_SECOND_GOOD:
+ if (oxcf->mode == REALTIME) {
+ set_rt_speed_feature(cpi, sf, oxcf->speed, oxcf->content);
+ } else {
+ if (!is_best_mode(oxcf->mode))
set_good_speed_feature(cpi, cm, sf, oxcf->speed);
- break;
- case REALTIME:
- set_rt_speed_feature(cpi, sf, oxcf->speed, oxcf->content);
- break;
}
+ cpi->full_search_sad = vp9_full_search_sad;
+ cpi->diamond_search_sad = is_best_mode(oxcf->mode) ? vp9_full_range_search
+ : vp9_diamond_search_sad;
+ cpi->refining_search_sad = vp9_refining_search_sad;
+
+
// Slow quant, dct and trellis not worthwhile for first pass
// so make sure they are always turned off.
if (oxcf->pass == 1)