diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-17 01:35:48 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-17 15:13:04 +0200 |
commit | a6760bb92b1079c32b2dee26edeaf23769f6dcb4 (patch) | |
tree | 864ac9dfe37aa362a17f251c22e3348faa0e79e9 | |
parent | 6af21de373c979bc2087717acb61e834768ebe4b (diff) | |
download | ffmpeg-a6760bb92b1079c32b2dee26edeaf23769f6dcb4.tar.gz |
avcodec/elbg: Remove avoidable buffer
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/elbg.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/libavcodec/elbg.c b/libavcodec/elbg.c index d012d9a384..795fc83f16 100644 --- a/libavcodec/elbg.c +++ b/libavcodec/elbg.c @@ -376,7 +376,6 @@ int avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook, elbg_data elbg_d; elbg_data *elbg = &elbg_d; int i, j, k, steps = 0, ret = 0; - int *dist_cb = av_malloc_array(numpoints, sizeof(int)); int *size_part = av_malloc_array(numCB, sizeof(int)); cell *list_buffer = av_malloc_array(numpoints, sizeof(cell)); cell *free_cells; @@ -394,7 +393,7 @@ int avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook, elbg->utility_inc = av_malloc_array(numCB, sizeof(*elbg->utility_inc)); elbg->scratchbuf = av_malloc_array(5*dim, sizeof(int)); - if (!dist_cb || !size_part || !list_buffer || !elbg->cells || + if (!size_part || !list_buffer || !elbg->cells || !elbg->utility || !elbg->utility_inc || !elbg->scratchbuf) { ret = AVERROR(ENOMEM); goto out; @@ -423,9 +422,8 @@ int avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook, } } elbg->nearest_cb[i] = best_idx; - dist_cb[i] = best_dist; - elbg->error += dist_cb[i]; - elbg->utility[elbg->nearest_cb[i]] += dist_cb[i]; + elbg->error += best_dist; + elbg->utility[elbg->nearest_cb[i]] += best_dist; free_cells->index = i; free_cells->next = elbg->cells[elbg->nearest_cb[i]]; elbg->cells[elbg->nearest_cb[i]] = free_cells; @@ -453,7 +451,6 @@ int avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook, (steps < max_steps)); out: - av_free(dist_cb); av_free(size_part); av_free(elbg->utility); av_free(list_buffer); |