ref: 1c07e79ef18efbab652b9296af67503885606663
parent: 776daa071efc43772f9279ae17a2132fdaf3cb67
author: Jingning Han <jingning@google.com>
date: Wed Mar 13 07:20:28 EDT 2019
Refactor speed feature settings Make the speed feature setup functions take speed argument as their input. Change-Id: I542e8f6e04658e5d99e972380a31baab99a4fc23
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -2377,8 +2377,8 @@
}
#endif // !CONFIG_REALTIME_ONLY
- vp9_set_speed_features_framesize_independent(cpi);
- vp9_set_speed_features_framesize_dependent(cpi);
+ vp9_set_speed_features_framesize_independent(cpi, oxcf->speed);
+ vp9_set_speed_features_framesize_dependent(cpi, oxcf->speed);
if (cpi->sf.enable_wiener_variance) {
CHECK_MEM_ERROR(cm, cpi->stack_rank_buffer,
@@ -3491,7 +3491,7 @@
}
static void set_size_independent_vars(VP9_COMP *cpi) {
- vp9_set_speed_features_framesize_independent(cpi);
+ vp9_set_speed_features_framesize_independent(cpi, cpi->oxcf.speed);
vp9_set_rd_speed_thresholds(cpi);
vp9_set_rd_speed_thresholds_sub8x8(cpi);
cpi->common.interp_filter = cpi->sf.default_interp_filter;
@@ -3502,7 +3502,7 @@
VP9_COMMON *const cm = &cpi->common;
// Setup variables that depend on the dimensions of the frame.
- vp9_set_speed_features_framesize_dependent(cpi);
+ vp9_set_speed_features_framesize_dependent(cpi, cpi->oxcf.speed);
// Decide q and q bounds.
*q = vp9_rc_pick_q_and_bounds(cpi, bottom_index, top_index);
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -791,7 +791,7 @@
}
}
-void vp9_set_speed_features_framesize_dependent(VP9_COMP *cpi) {
+void vp9_set_speed_features_framesize_dependent(VP9_COMP *cpi, int speed) {
SPEED_FEATURES *const sf = &cpi->sf;
const VP9EncoderConfig *const oxcf = &cpi->oxcf;
RD_OPT *const rd = &cpi->rd;
@@ -805,9 +805,9 @@
sf->rd_ml_partition.search_breakout = 0;
if (oxcf->mode == REALTIME) {
- set_rt_speed_feature_framesize_dependent(cpi, sf, oxcf->speed);
+ set_rt_speed_feature_framesize_dependent(cpi, sf, speed);
} else if (oxcf->mode == GOOD) {
- set_good_speed_feature_framesize_dependent(cpi, sf, oxcf->speed);
+ set_good_speed_feature_framesize_dependent(cpi, sf, speed);
}
if (sf->disable_split_mask == DISABLE_ALL_SPLIT) {
@@ -836,7 +836,7 @@
sf->adaptive_rd_thresh = 0;
}
-void vp9_set_speed_features_framesize_independent(VP9_COMP *cpi) {
+void vp9_set_speed_features_framesize_independent(VP9_COMP *cpi, int speed) {
SPEED_FEATURES *const sf = &cpi->sf;
VP9_COMMON *const cm = &cpi->common;
MACROBLOCK *const x = &cpi->td.mb;
@@ -954,10 +954,9 @@
}
if (oxcf->mode == REALTIME)
- set_rt_speed_feature_framesize_independent(cpi, sf, oxcf->speed,
- oxcf->content);
+ set_rt_speed_feature_framesize_independent(cpi, sf, speed, oxcf->content);
else if (oxcf->mode == GOOD)
- set_good_speed_feature_framesize_independent(cpi, cm, sf, oxcf->speed);
+ set_good_speed_feature_framesize_independent(cpi, cm, sf, speed);
cpi->diamond_search_sad = vp9_diamond_search_sad;
--- a/vp9/encoder/vp9_speed_features.h
+++ b/vp9/encoder/vp9_speed_features.h
@@ -609,8 +609,10 @@
struct VP9_COMP;
-void vp9_set_speed_features_framesize_independent(struct VP9_COMP *cpi);
-void vp9_set_speed_features_framesize_dependent(struct VP9_COMP *cpi);
+void vp9_set_speed_features_framesize_independent(struct VP9_COMP *cpi,
+ int speed);
+void vp9_set_speed_features_framesize_dependent(struct VP9_COMP *cpi,
+ int speed);
#ifdef __cplusplus
} // extern "C"