avfilter/vf_colormap: Avoid allocation of small array

The number of elements is always two or three.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-04-29 03:49:18 +02:00
parent 9d2f427958
commit 8449fbdf8e
1 changed files with 4 additions and 8 deletions

View File

@ -24,6 +24,7 @@
*/
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/opt.h"
#include "avfilter.h"
@ -134,20 +135,15 @@ static void gauss_solve_triangular(const double *A, const int *p, double *b, int
static int gauss_solve(double *A, double *b, int n)
{
int *p = av_calloc(n, sizeof(*p));
int p[3] = { 0 };
if (!p)
return 1;
av_assert2(n <= FF_ARRAY_ELEMS(p));
if (!gauss_make_triangular(A, p, n)) {
av_freep(&p);
if (!gauss_make_triangular(A, p, n))
return 1;
}
gauss_solve_triangular(A, p, b, n);
av_freep(&p);
return 0;
}