30 #define randomize_buffers() \ 33 for (i = 0; i < BUF_SIZE; i++) { \ 34 src0[i] = sign_extend(rnd(), 24); \ 35 src1[i] = sign_extend(rnd(), 24); \ 36 src2[i] = sign_extend(rnd(), 24); \ 45 declare_func(
void,
int *dst,
const int *src0,
const int *src1,
int len);
59 declare_func(
void,
int *dst,
const int *src0,
const int *src1,
const int *src2,
int len);
103 declare_func(
void,
int *av_restrict src0,
int *av_restrict src1,
int len);
105 memcpy(ref0, src0,
BUF_SIZE *
sizeof(*src0));
106 memcpy(ref1, src1,
BUF_SIZE *
sizeof(*src1));
107 memcpy(new0, src0,
BUF_SIZE *
sizeof(*src0));
108 memcpy(new1, src1,
BUF_SIZE *
sizeof(*src1));
112 if (memcmp(ref0, new0,
BUF_SIZE *
sizeof(*ref0)) ||
113 memcmp(ref1, new1,
BUF_SIZE *
sizeof(*ref1)))
115 memcpy(new0, src0,
BUF_SIZE *
sizeof(*src0));
116 memcpy(new1, src1,
BUF_SIZE *
sizeof(*src1));
154 report(
"butterflies_fixed");
157 report(
"scalarproduct_fixed");
Memory handling functions.
static float win(SuperEqualizerContext *s, float n, int N)
#define LOCAL_ALIGNED_16(t, v,...)
void(* vector_fmul_add)(int *dst, const int *src0, const int *src1, const int *src2, int len)
Calculate the entry wise product of two vectors of integers, add a third vector of integers and store...
#define LOCAL_ALIGNED_32(t, v,...)
void(* vector_fmul_reverse)(int *dst, const int *src0, const int *src1, int len)
static void check_vector_fmul_add(const int *src0, const int *src1, const int *src2)
int(* scalarproduct_fixed)(const int *v1, const int *v2, int len)
Calculate the scalar product of two vectors of integers.
#define declare_func(ret,...)
static void check_vector_fmul_window(const int32_t *src0, const int32_t *src1, const int32_t *win)
common internal API header
void(* butterflies_fixed)(int *av_restrict v1, int *av_restrict v2, int len)
Calculate the sum and difference of two vectors of integers.
void checkasm_check_fixed_dsp(void)
static void check_scalarproduct_fixed(const int *src0, const int *src1)
void(* vector_fmul_window)(int32_t *dst, const int32_t *src0, const int32_t *src1, const int32_t *win, int len)
Overlap/add with window function.
void(* vector_fmul)(int *dst, const int *src0, const int *src1, int len)
Fixed-point multiplication that calculates the entry wise product of two vectors of integers and stor...
#define check_func(func,...)
static void check_butterflies(const int *src0, const int *src1)
AVFixedDSPContext * avpriv_alloc_fixed_dsp(int bit_exact)
Allocate and initialize a fixed DSP context.
common internal and external API header
static int ref[MAX_W *MAX_W]
#define randomize_buffers()
static void check_vector_fmul(const int *src0, const int *src1)
static void check_vector_fmul_window_scaled(const int32_t *src0, const int32_t *src1, const int32_t *win)
void(* vector_fmul_window_scaled)(int16_t *dst, const int32_t *src0, const int32_t *src1, const int32_t *win, int len, uint8_t bits)
Overlap/add with window function.