From f33045f6b11f153475b02f6389f77e8974a2d769 Mon Sep 17 00:00:00 2001 From: Angie Chiang Date: Thu, 10 Jan 2019 05:55:08 -0800 Subject: [PATCH] Free pyramid_mv_arr properly Change-Id: Iac7fee461759599a7e167f8e6716ae3c6414a7d1 --- vp9/encoder/vp9_encoder.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index bf35b3570..c2a61eea7 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -2572,6 +2572,15 @@ void vp9_remove_compressor(VP9_COMP *cpi) { vpx_free(cpi->feature_score_loc_heap); #endif for (frame = 0; frame < MAX_ARF_GOP_SIZE; ++frame) { +#if CONFIG_NON_GREEDY_MV + int rf_idx; + for (rf_idx = 0; rf_idx < 3; ++rf_idx) { + int sqr_bsize; + for (sqr_bsize = 0; sqr_bsize < SQUARE_BLOCK_SIZES; ++sqr_bsize) { + vpx_free(cpi->tpl_stats[frame].pyramid_mv_arr[rf_idx][sqr_bsize]); + } + } +#endif vpx_free(cpi->tpl_stats[frame].tpl_stats_ptr); cpi->tpl_stats[frame].is_valid = 0; } @@ -6459,9 +6468,9 @@ static void init_tpl_buffer(VP9_COMP *cpi) { continue; #if CONFIG_NON_GREEDY_MV - vpx_free(cpi->tpl_stats[frame].pyramid_mv_arr); for (rf_idx = 0; rf_idx < 3; ++rf_idx) { for (sqr_bsize = 0; sqr_bsize < SQUARE_BLOCK_SIZES; ++sqr_bsize) { + vpx_free(cpi->tpl_stats[frame].pyramid_mv_arr[rf_idx][sqr_bsize]); CHECK_MEM_ERROR( cm, cpi->tpl_stats[frame].pyramid_mv_arr[rf_idx][sqr_bsize], vpx_calloc( -- 2.40.0