summaryrefslogtreecommitdiff
path: root/libavcodec/elbg.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-17 01:35:48 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-17 15:13:04 +0200
commita6760bb92b1079c32b2dee26edeaf23769f6dcb4 (patch)
tree864ac9dfe37aa362a17f251c22e3348faa0e79e9 /libavcodec/elbg.c
parent6af21de373c979bc2087717acb61e834768ebe4b (diff)
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>
Diffstat (limited to 'libavcodec/elbg.c')
-rw-r--r--libavcodec/elbg.c9
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);