summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encoder.c
diff options
context:
space:
mode:
authorAngie Chiang <angiebird@google.com>2019-01-10 05:55:08 -0800
committerAngie Chiang <angiebird@google.com>2019-01-10 05:55:08 -0800
commitf33045f6b11f153475b02f6389f77e8974a2d769 (patch)
tree3a90ee3b6d360e5633859bc210172f775dcce392 /vp9/encoder/vp9_encoder.c
parent4bb1cc06fdce4cf3a8298dd4120bb26451bc46e0 (diff)
downloadlibvpx-f33045f6b11f153475b02f6389f77e8974a2d769.tar
libvpx-f33045f6b11f153475b02f6389f77e8974a2d769.tar.gz
libvpx-f33045f6b11f153475b02f6389f77e8974a2d769.tar.bz2
libvpx-f33045f6b11f153475b02f6389f77e8974a2d769.zip
Free pyramid_mv_arr properly
Change-Id: Iac7fee461759599a7e167f8e6716ae3c6414a7d1
Diffstat (limited to 'vp9/encoder/vp9_encoder.c')
-rw-r--r--vp9/encoder/vp9_encoder.c11
1 files changed, 10 insertions, 1 deletions
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(