This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 068173f329c681fc084c9a994eb28d21139c477b Author: Niklas Haas <[email protected]> AuthorDate: Wed Dec 17 17:53:28 2025 +0100 Commit: Niklas Haas <[email protected]> CommitDate: Thu Jun 4 11:44:22 2026 +0200 tests/checkasm: factorize out randomize_buffer for doubles Not only is this duplicating code, but it also hard-codes a reference to `checkasm_lfg`, which I want to eliminate in the interest of being able to switch out the checkasm implementation. --- tests/checkasm/af_afir.c | 24 ++++++------------------ tests/checkasm/checkasm.h | 11 +++++++++++ tests/checkasm/float_dsp.c | 30 +++++++++--------------------- tests/checkasm/lls.c | 15 ++------------- tests/checkasm/vorbisdsp.c | 15 ++------------- 5 files changed, 30 insertions(+), 65 deletions(-) diff --git a/tests/checkasm/af_afir.c b/tests/checkasm/af_afir.c index 6cb59dbb6c..dba1531473 100644 --- a/tests/checkasm/af_afir.c +++ b/tests/checkasm/af_afir.c @@ -28,18 +28,6 @@ #define LEN 256 -#define randomize_buffer(buf) \ -do { \ - int i; \ - double bmg[2], stddev = 10.0, mean = 0.0; \ - \ - for (i = 0; i < BUF_SIZE; i += 2) { \ - av_bmg_get(&checkasm_lfg, bmg); \ - buf[i] = bmg[0] * stddev + mean; \ - buf[i + 1] = bmg[1] * stddev + mean; \ - } \ -} while(0); - static void test_fcmul_add(AudioFIRDSPContext *fir) { #define BUF_SIZE LEN*2+8 @@ -47,9 +35,9 @@ static void test_fcmul_add(AudioFIRDSPContext *fir) LOCAL_ALIGNED_32(float, src1, [BUF_SIZE]); LOCAL_ALIGNED_32(float, src2, [BUF_SIZE]); - randomize_buffer(src0); - randomize_buffer(src1); - randomize_buffer(src2); + randomize_stddev(src0, BUF_SIZE, 10.0); + randomize_stddev(src1, BUF_SIZE, 10.0); + randomize_stddev(src2, BUF_SIZE, 10.0); if (check_func(fir->fcmul_add, "fcmul_add")) { LOCAL_ALIGNED_32(float, cdst, [BUF_SIZE]); @@ -97,9 +85,9 @@ static void test_dcmul_add(AudioFIRDSPContext *fir) LOCAL_ALIGNED_32(double, src1, [BUF_SIZE]); LOCAL_ALIGNED_32(double, src2, [BUF_SIZE]); - randomize_buffer(src0); - randomize_buffer(src1); - randomize_buffer(src2); + randomize_stddev_dbl(src0, BUF_SIZE, 10.0); + randomize_stddev_dbl(src1, BUF_SIZE, 10.0); + randomize_stddev_dbl(src2, BUF_SIZE, 10.0); if (check_func(fir->dcmul_add, "dcmul_add")) { LOCAL_ALIGNED_32(double, cdst, [BUF_SIZE]); diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h index 552de20169..e48f53e3e6 100644 --- a/tests/checkasm/checkasm.h +++ b/tests/checkasm/checkasm.h @@ -515,4 +515,15 @@ int checkasm_check_float_ulp(const char *file, int line, buf2 ## _16, stride2, \ __VA_ARGS__)) +#define randomize_stddev(buf, size, stddev) \ +do { \ + double bmg[2]; \ + for (int i = 0; i < size; i += 2) { \ + av_bmg_get(&checkasm_lfg, bmg); \ + (buf)[i] = bmg[0] * (stddev); \ + (buf)[i + 1] = bmg[1] * (stddev); \ + } \ +} while (0); +#define randomize_stddev_dbl(...) randomize_stddev(__VA_ARGS__) + #endif /* TESTS_CHECKASM_CHECKASM_H */ diff --git a/tests/checkasm/float_dsp.c b/tests/checkasm/float_dsp.c index 296db1cff9..c28343e4a8 100644 --- a/tests/checkasm/float_dsp.c +++ b/tests/checkasm/float_dsp.c @@ -28,18 +28,6 @@ #define LEN 256 -#define randomize_buffer(buf) \ -do { \ - int i; \ - double bmg[2], stddev = 10.0, mean = 0.0; \ - \ - for (i = 0; i < LEN; i += 2) { \ - av_bmg_get(&checkasm_lfg, bmg); \ - buf[i] = bmg[0] * stddev + mean; \ - buf[i + 1] = bmg[1] * stddev + mean; \ - } \ -} while(0); - static void test_vector_fmul(const float *src0, const float *src1) { LOCAL_ALIGNED_32(float, cdst, [LEN]); @@ -312,15 +300,15 @@ void checkasm_check_float_dsp(void) return; } - randomize_buffer(src0); - randomize_buffer(src1); - randomize_buffer(src2); - randomize_buffer(src3); - randomize_buffer(src4); - randomize_buffer(src5); - randomize_buffer(dbl_src0); - randomize_buffer(dbl_src1); - randomize_buffer(dbl_src2); + randomize_stddev(src0, LEN, 10.0); + randomize_stddev(src1, LEN, 10.0); + randomize_stddev(src2, LEN, 10.0); + randomize_stddev(src3, LEN, 10.0); + randomize_stddev(src4, LEN, 10.0); + randomize_stddev(src5, LEN, 10.0); + randomize_stddev_dbl(dbl_src0, LEN, 10.0); + randomize_stddev_dbl(dbl_src1, LEN, 10.0); + randomize_stddev_dbl(dbl_src2, LEN, 10.0); if (check_func(fdsp->vector_fmul, "vector_fmul")) test_vector_fmul(src0, src1); diff --git a/tests/checkasm/lls.c b/tests/checkasm/lls.c index 4251032e02..8b876b1bb9 100644 --- a/tests/checkasm/lls.c +++ b/tests/checkasm/lls.c @@ -20,17 +20,6 @@ #include "libavutil/lls.h" #include "checkasm.h" -#define randomize_buffer(buf) \ -do { \ - double bmg[2], stddev = 10.0; \ - \ - for (size_t i = 0; i < MAX_VARS_ALIGN; i += 2) { \ - av_bmg_get(&checkasm_lfg, bmg); \ - buf[i] = bmg[0] * stddev; \ - buf[i + 1] = bmg[1] * stddev; \ - } \ -} while(0); - static void test_update(LLSModel *lls, const double *var) { double refcovar[MAX_VARS][MAX_VARS]; @@ -91,8 +80,8 @@ void checkasm_check_lls(void) LLSModel lls; avpriv_init_lls(&lls, counts[i]); - randomize_buffer(var); - randomize_buffer(param); + randomize_stddev_dbl(var, MAX_VARS_ALIGN, 10.0); + randomize_stddev_dbl(param, MAX_VARS_ALIGN, 10.0); if (check_func(lls.update_lls, "update_lls_%d", counts[i])) test_update(&lls, var); diff --git a/tests/checkasm/vorbisdsp.c b/tests/checkasm/vorbisdsp.c index 5a1cfbdf37..b4d60cc446 100644 --- a/tests/checkasm/vorbisdsp.c +++ b/tests/checkasm/vorbisdsp.c @@ -26,17 +26,6 @@ #define LEN 512 -#define randomize_buffer(buf) \ -do { \ - double bmg[2], stddev = 10.0, mean = 0.0; \ - \ - for (int i = 0; i < LEN; i += 2) { \ - av_bmg_get(&checkasm_lfg, bmg); \ - buf[i] = bmg[0] * stddev + mean; \ - buf[i + 1] = bmg[1] * stddev + mean; \ - } \ -} while(0); - static void test_inverse_coupling(void) { LOCAL_ALIGNED_16(float, src0, [LEN]); @@ -49,8 +38,8 @@ static void test_inverse_coupling(void) declare_func(void, float *restrict mag, float *restrict ang, ptrdiff_t blocksize); - randomize_buffer(src0); - randomize_buffer(src1); + randomize_stddev(src0, LEN, 10.0); + randomize_stddev(src1, LEN, 10.0); memcpy(cdst, src0, LEN * sizeof(*src0)); memcpy(cdst1, src1, LEN * sizeof(*src1)); _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
