avfilter/af_axcorrelate: fix integer overflow for huge segments

This commit is contained in:
Paul B Mahol 2021-10-09 01:39:46 +02:00
parent eb22b8953c
commit d88d0370d5

View File

@ -82,7 +82,7 @@ static float xcorrelate(const float *x, const float *y, float sumx, float sumy,
}
num /= size;
den = sqrtf((den0 * den1) / (size * size));
den = sqrtf((den0 * den1) / size / size);
return den <= 1e-6f ? 0.f : num / den;
}
@ -149,7 +149,7 @@ static int xcorrelate_fast(AVFilterContext *ctx, AVFrame *out, int available)
float num, den;
num = num_sum[0] / size;
den = sqrtf((den_sumx[0] * den_sumy[0]) / (size * size));
den = sqrtf((den_sumx[0] * den_sumy[0]) / size / size);
dst[n] = den <= 1e-6f ? 0.f : num / den;