@@ -257,14 +257,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
int64_t* elemsignature;
uint64_t* sortsignature;
- elemsignature = av_malloc_array(elemcat->elem_count, sizeof(int64_t));
+ elemsignature = av_malloc_array(elemcat->elem_count, 2 * sizeof(int64_t));
if (!elemsignature)
return AVERROR(ENOMEM);
- sortsignature = av_malloc_array(elemcat->elem_count, sizeof(int64_t));
- if (!sortsignature) {
- av_freep(&elemsignature);
- return AVERROR(ENOMEM);
- }
+ sortsignature = (uint64_t *)(elemsignature + elemcat->elem_count);
for (j = 0; j < elemcat->elem_count; j++) {
blocksum = 0;
@@ -314,7 +310,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
f++;
}
av_freep(&elemsignature);
- av_freep(&sortsignature);
}
/* confidence */
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavfilter/vf_signature.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)