From a01896354d3845bce18899cb31d1871e985c8483 Mon Sep 17 00:00:00 2001 From: James Zern Date: Mon, 9 Jul 2018 22:56:54 -0700 Subject: [PATCH] vp9_encoder: only alloc tpl stats if enabled defer the allocation to post speed feature setup Change-Id: I20713a2b1856fd5479c883d50772a2b54bcbb3bc --- vp9/encoder/vp9_encoder.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index b51c71c89..fc6c016ba 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -2339,24 +2339,26 @@ VP9_COMP *vp9_create_compressor(VP9EncoderConfig *oxcf, } #endif // !CONFIG_REALTIME_ONLY - for (frame = 0; frame < MAX_LAG_BUFFERS; ++frame) { - int mi_cols = mi_cols_aligned_to_sb(cm->mi_cols); - int mi_rows = mi_cols_aligned_to_sb(cm->mi_rows); - - CHECK_MEM_ERROR(cm, cpi->tpl_stats[frame].tpl_stats_ptr, - vpx_calloc(mi_rows * mi_cols, - sizeof(*cpi->tpl_stats[frame].tpl_stats_ptr))); - cpi->tpl_stats[frame].is_valid = 1; - cpi->tpl_stats[frame].width = mi_cols; - cpi->tpl_stats[frame].height = mi_rows; - cpi->tpl_stats[frame].stride = mi_cols; - cpi->tpl_stats[frame].mi_rows = cm->mi_rows; - cpi->tpl_stats[frame].mi_cols = cm->mi_cols; - } - vp9_set_speed_features_framesize_independent(cpi); vp9_set_speed_features_framesize_dependent(cpi); + if (cpi->sf.enable_tpl_model) { + for (frame = 0; frame < MAX_LAG_BUFFERS; ++frame) { + int mi_cols = mi_cols_aligned_to_sb(cm->mi_cols); + int mi_rows = mi_cols_aligned_to_sb(cm->mi_rows); + + CHECK_MEM_ERROR(cm, cpi->tpl_stats[frame].tpl_stats_ptr, + vpx_calloc(mi_rows * mi_cols, + sizeof(*cpi->tpl_stats[frame].tpl_stats_ptr))); + cpi->tpl_stats[frame].is_valid = 1; + cpi->tpl_stats[frame].width = mi_cols; + cpi->tpl_stats[frame].height = mi_rows; + cpi->tpl_stats[frame].stride = mi_cols; + cpi->tpl_stats[frame].mi_rows = cm->mi_rows; + cpi->tpl_stats[frame].mi_cols = cm->mi_cols; + } + } + // Allocate memory to store variances for a frame. CHECK_MEM_ERROR(cm, cpi->source_diff_var, vpx_calloc(cm->MBs, sizeof(diff))); cpi->source_var_thresh = 0; -- 2.49.0