[FFmpeg-devel] [PATCH] checkasm: af_afir: Use a dynamic tolerance depending on values
Martin Storsjö
martin at martin.st
Thu Dec 12 11:45:43 EET 2019
On Thu, 12 Dec 2019, Michael Niedermayer wrote:
> On Wed, Dec 11, 2019 at 11:21:27AM +0200, Martin Storsjö wrote:
>> As the values generated by av_bmg_get can be arbitrarily large
>> (only the stddev is specified), we can't use a fixed tolerance.
>> Calculate a dynamic tolerance (like in float_dsp from 38f966b2222db),
>> based on the individual steps of the calculation.
>>
>> This fixes running this test with certain seeds, when built with
>> clang for mingw/x86_32.
>> ---
>> tests/checkasm/af_afir.c | 14 +++++++++++++-
>> 1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/tests/checkasm/af_afir.c b/tests/checkasm/af_afir.c
>> index e3fb76e8e0..e791f88b97 100644
>> --- a/tests/checkasm/af_afir.c
>> +++ b/tests/checkasm/af_afir.c
>> @@ -53,7 +53,19 @@ static void test_fcmul_add(const float *src0, const float *src1, const float *sr
>> call_ref(cdst, src1, src2, LEN);
>> call_new(odst, src1, src2, LEN);
>> for (i = 0; i <= LEN*2; i++) {
>> - if (!float_near_abs_eps(cdst[i], odst[i], 6.2e-05)) {
>> + int idx = i & ~1;
>> + float cre = src2[idx];
>> + float cim = src2[idx + 1];
>> + float tre = src1[idx];
>> + float tim = src1[idx + 1];
>> + double t = fabs(src0[i]) +
>
>> + fabs(tre) + fabs(tim) + fabs(cre) + fabs(tim) +
>
> Is it intended to add fabs(tim) twice ?
Oops, that's a typo, it was meant to be tre+tim+cre+cim.
// Martin
More information about the ffmpeg-devel
mailing list