48 #ifndef AVUTIL_FIXED_DSP_H
49 #define AVUTIL_FIXED_DSP_H
133 const int *src2,
int len);
178 int retval, bit_mask, guess,
square, i;
183 if (shift1 > 0) retval =
ff_sqrt(x << shift1);
184 else retval =
ff_sqrt(x >> -shift1);
187 retval = retval <<
shift2;
188 bit_mask = (1 << (shift2 - 1));
191 guess = retval + bit_mask;
192 accu = (int64_t)guess * guess;
193 square = (
int)((accu + bit_mask) >>
bits);
200 else retval >>= (-
shift2);
int(* scalarproduct_fixed)(const int *v1, const int *v2, int len)
Calculate the scalar product of two vectors of integers.
Macro definitions for various function/variable attributes.
static av_always_inline int fixed_sqrt(int x, int bits)
Calculate the square root.
void ff_fixed_dsp_init_x86(AVFixedDSPContext *fdsp)
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.
static const int shift1[6]
void(* vector_fmul_reverse)(int *dst, const int *src0, const int *src1, int len)
void(* butterflies_fixed)(int *av_restrict v1, int *av_restrict v2, int len)
Calculate the sum and difference of two vectors of integers.
AVFixedDSPContext * avpriv_alloc_fixed_dsp(int strict)
Allocate and initialize a fixed DSP context.
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
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...
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...
common internal and external API header
static const int shift2[6]
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.