ref: 2718de54ca7863777c45a74f3e7285bdd6000573
parent: b2bedbda4672f668b5566bb3f60511bdeefd0d72
parent: 9c2c234a0b8f9c08719ac1fa286988a0a3626fd0
author: Jingning Han <jingning@google.com>
date: Fri Jul 13 14:59:25 EDT 2018
Merge "Enable tpl model for speed 0"
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1958,10 +1958,10 @@
if (cyclic_refresh_segment_id_boosted(
get_segment_id(cm, map, bsize, mi_row, mi_col)))
x->rdmult = vp9_cyclic_refresh_get_rdmult(cpi->cyclic_refresh);
+ } else {
+ if (cpi->sf.enable_tpl_model) x->rdmult = x->cb_rdmult;
}
- if (cpi->sf.enable_tpl_model) x->rdmult = x->cb_rdmult;
-
// Find best coding mode & reconstruct the MB so it is available
// as a predictor for MBs that follow in the SB
if (frame_is_intra_only(cm)) {
@@ -2122,7 +2122,10 @@
PICK_MODE_CONTEXT *ctx) {
MACROBLOCK *const x = &td->mb;
set_offsets(cpi, tile, x, mi_row, mi_col, bsize);
- if (cpi->sf.enable_tpl_model) x->rdmult = x->cb_rdmult;
+
+ if (cpi->sf.enable_tpl_model && cpi->oxcf.aq_mode == NO_AQ)
+ x->rdmult = x->cb_rdmult;
+
update_state(cpi, td, ctx, mi_row, mi_col, bsize, output_enabled);
encode_superblock(cpi, td, tp, output_enabled, mi_row, mi_col, bsize, ctx);
@@ -3708,7 +3711,9 @@
int rate_breakout_thr = cpi->sf.partition_search_breakout_thr.rate;
int must_split = 0;
- int partition_mul = cpi->sf.enable_tpl_model ? x->cb_rdmult : cpi->rd.RDMULT;
+ int partition_mul = cpi->sf.enable_tpl_model && cpi->oxcf.aq_mode == NO_AQ
+ ? x->cb_rdmult
+ : cpi->rd.RDMULT;
(void)*tp_orig;
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -843,7 +843,11 @@
sf->allow_quant_coeff_opt = sf->optimize_coefficients;
sf->quant_opt_thresh = 99.0;
sf->allow_acl = 1;
+#if CONFIG_VP9_HIGHBITDEPTH
sf->enable_tpl_model = 0;
+#else
+ sf->enable_tpl_model = 1;
+#endif
for (i = 0; i < TX_SIZES; i++) {
sf->intra_y_mode_mask[i] = INTRA_ALL;