23 #define randomize(buf, len) do { \
25 for (i = 0; i < len; i++) { \
26 const INTFLOAT f = (INTFLOAT)rnd() / UINT_MAX; \
41 memcpy(dst1, dst0, (64 + 256) *
sizeof(
INTFLOAT));
73 memcpy(dst1, dst0, (64) *
sizeof(
INTFLOAT));
89 memcpy(dst1, dst0, (128) *
sizeof(
INTFLOAT));
138 memset(dst0, 0, 128 *
sizeof(
INTFLOAT));
139 memset(dst1, 0, 128 *
sizeof(
INTFLOAT));
158 memset(dst0, 0, 3 * 2 * 2 *
sizeof(
INTFLOAT));
159 memset(dst1, 0, 3 * 2 * 2 *
sizeof(
INTFLOAT));
186 for (i = 2; i < 64; i += 2) {
187 memset(dst0, 0, 128 * 2 *
sizeof(
INTFLOAT));
188 memset(dst1, 0, 128 * 2 *
sizeof(
INTFLOAT));
189 call_ref(dst0, low, alpha0, alpha1, 0.0, i, 128);
190 call_new(dst1, low, alpha0, alpha1, 0.0, i, 128);
193 bench_new(dst1, low, alpha0, alpha1, bw, i, 128);
205 const INTFLOAT *g_filt,
int m_max, intptr_t ixh);
210 call_ref(dst0, high, g_filt, 128, 20);
211 call_new(dst1, high, g_filt, 128, 20);
235 for (i = 0; i < 4; i++) {
237 for (j = 0; j < 2; j++) {
240 call_ref(dst0, s_m, q_filt, noise, j, 128);
241 call_new(dst1, s_m, q_filt, noise, j, 128);
244 bench_new(dst1, s_m, q_filt, noise, j, 128);
270 report(
"qmf_pre_shuffle");
274 report(
"qmf_post_shuffle");
void AAC_RENAME() ff_sbrdsp_init(SBRDSPContext *s)
int float_near_abs_eps_array(const float *a, const float *b, float eps, unsigned len)
static int noise(AVBSFContext *ctx, AVPacket *out)
static void test_sum64x5(void)
AAC_FLOAT(* sum_square)(INTFLOAT(*x)[2], int n)
void(* sum64x5)(INTFLOAT *z)
static void test_hf_gen(void)
int float_near_abs_eps(float a, float b, float eps)
#define randomize(buf, len)
void(* qmf_deint_neg)(INTFLOAT *v, const INTFLOAT *src)
static av_cold int end(AVCodecContext *avctx)
void(* hf_g_filt)(INTFLOAT(*Y)[2], const INTFLOAT(*X_high)[40][2], const AAC_FLOAT *g_filt, int m_max, intptr_t ixh)
static void test_neg_odd_64(void)
void(* qmf_pre_shuffle)(INTFLOAT *z)
void(* qmf_deint_bfly)(INTFLOAT *v, const INTFLOAT *src0, const INTFLOAT *src1)
#define declare_func(ret,...)
void checkasm_check_sbrdsp(void)
static void test_qmf_deint_neg(void)
static void test_hf_g_filt(void)
static void test_sum_square(void)
void(* neg_odd_64)(INTFLOAT *x)
void(* hf_gen)(INTFLOAT(*X_high)[2], const INTFLOAT(*X_low)[2], const INTFLOAT alpha0[2], const INTFLOAT alpha1[2], INTFLOAT bw, int start, int end)
#define declare_func_float(ret,...)
static void test_hf_apply_noise(const SBRDSPContext *sbrdsp)
static void test_qmf_deint_bfly(void)
#define check_func(func,...)
void(* qmf_post_shuffle)(INTFLOAT W[32][2], const INTFLOAT *z)
static void test_autocorrelate(void)
static int ref[MAX_W *MAX_W]
void(* hf_apply_noise[4])(INTFLOAT(*Y)[2], const AAC_FLOAT *s_m, const AAC_FLOAT *q_filt, int noise, int kx, int m_max)
static void test_qmf_post_shuffle(void)
void(* autocorrelate)(const INTFLOAT x[40][2], AAC_FLOAT phi[3][2][2])
#define LOCAL_ALIGNED_16(t, v,...)
static void test_qmf_pre_shuffle(void)