FFmpeg
|
#include <float_dsp.h>
Data Fields | |
void(* | vector_fmul )(float *dst, const float *src0, const float *src1, int len) |
Calculate the entry wise product of two vectors of floats and store the result in a vector of floats. More... | |
void(* | vector_fmac_scalar )(float *dst, const float *src, float mul, int len) |
Multiply a vector of floats by a scalar float and add to destination vector. More... | |
void(* | vector_dmac_scalar )(double *dst, const double *src, double mul, int len) |
Multiply a vector of doubles by a scalar double and add to destination vector. More... | |
void(* | vector_fmul_scalar )(float *dst, const float *src, float mul, int len) |
Multiply a vector of floats by a scalar float. More... | |
void(* | vector_dmul_scalar )(double *dst, const double *src, double mul, int len) |
Multiply a vector of double by a scalar double. More... | |
void(* | vector_fmul_window )(float *dst, const float *src0, const float *src1, const float *win, int len) |
Overlap/add with window function. More... | |
void(* | vector_fmul_add )(float *dst, const float *src0, const float *src1, const float *src2, int len) |
Calculate the entry wise product of two vectors of floats, add a third vector of floats and store the result in a vector of floats. More... | |
void(* | vector_fmul_reverse )(float *dst, const float *src0, const float *src1, int len) |
Calculate the entry wise product of two vectors of floats, and store the result in a vector of floats. More... | |
void(* | butterflies_float )(float *restrict v1, float *restrict v2, int len) |
Calculate the sum and difference of two vectors of floats. More... | |
float(* | scalarproduct_float )(const float *v1, const float *v2, int len) |
Calculate the scalar product of two vectors of floats. More... | |
void(* | vector_dmul )(double *dst, const double *src0, const double *src1, int len) |
Calculate the entry wise product of two vectors of doubles and store the result in a vector of doubles. More... | |
double(* | scalarproduct_double )(const double *v1, const double *v2, size_t len) |
Calculate the scalar product of two vectors of doubles. More... | |
Definition at line 24 of file float_dsp.h.
Calculate the entry wise product of two vectors of floats and store the result in a vector of floats.
dst | output vector constraints: 32-byte aligned |
src0 | first input vector constraints: 32-byte aligned |
src1 | second input vector constraints: 32-byte aligned |
len | number of elements in the input constraints: multiple of 16 |
Definition at line 38 of file float_dsp.h.
Referenced by apply_window_and_mdct(), atrac3_decode_init(), avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_atrac3p_generate_tones(), ff_atrac3p_imdct(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_mips(), ff_float_dsp_init_neon(), ff_float_dsp_init_ppc(), ff_float_dsp_init_riscv(), ff_float_dsp_init_vfp(), ff_float_dsp_init_x86(), ra288_decode_init(), read_and_decode_spectrum(), and sbr_qmf_synthesis().
Multiply a vector of floats by a scalar float and add to destination vector.
Source and destination vectors must overlap exactly or not at all.
dst | result vector constraints: 32-byte aligned |
src | input vector constraints: 32-byte aligned |
mul | scalar value |
len | length of vector constraints: multiple of 16 |
Definition at line 54 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_atrac3p_power_compensation(), ff_dca_downmix_to_stereo_float(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_neon(), ff_float_dsp_init_riscv(), and ff_float_dsp_init_x86().
Multiply a vector of doubles by a scalar double and add to destination vector.
Source and destination vectors must overlap exactly or not at all.
dst | result vector constraints: 32-byte aligned |
src | input vector constraints: 32-byte aligned |
mul | scalar value |
len | length of vector constraints: multiple of 16 |
Definition at line 70 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_float_dsp_init_riscv(), and ff_float_dsp_init_x86().
Multiply a vector of floats by a scalar float.
Source and destination vectors must overlap exactly or not at all.
dst | result vector constraints: 16-byte aligned |
src | input vector constraints: 16-byte aligned |
mul | scalar value |
len | length of vector constraints: multiple of 4 |
Definition at line 85 of file float_dsp.h.
Referenced by apply_window_and_mdct(), avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_dca_downmix_to_stereo_float(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_mips(), ff_float_dsp_init_neon(), ff_float_dsp_init_riscv(), ff_float_dsp_init_x86(), filter_frame(), pcm_decode_init(), spectrum_scale(), and waves_synth().
Multiply a vector of double by a scalar double.
Source and destination vectors must overlap exactly or not at all.
dst | result vector constraints: 32-byte aligned |
src | input vector constraints: 32-byte aligned |
mul | scalar value |
len | length of vector constraints: multiple of 8 |
Definition at line 100 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_riscv(), ff_float_dsp_init_x86(), and filter_frame().
void(* AVFloatDSPContext::vector_fmul_window) (float *dst, const float *src0, const float *src1, const float *win, int len) |
Overlap/add with window function.
Used primarily by MDCT-based audio codecs. Source and destination vectors must overlap exactly or not at all.
dst | result vector constraints: 16-byte aligned |
src0 | first source vector constraints: 16-byte aligned |
src1 | second source vector constraints: 16-byte aligned |
win | half-window vector constraints: 16-byte aligned |
len | length of vector constraints: multiple of 4 |
Definition at line 119 of file float_dsp.h.
Referenced by atrac1_decode_init(), avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_mips(), ff_float_dsp_init_neon(), ff_float_dsp_init_ppc(), ff_float_dsp_init_riscv(), ff_float_dsp_init_vfp(), ff_float_dsp_init_x86(), imc_decode_block(), and imdct_and_window().
void(* AVFloatDSPContext::vector_fmul_add) (float *dst, const float *src0, const float *src1, const float *src2, int len) |
Calculate the entry wise product of two vectors of floats, add a third vector of floats and store the result in a vector of floats.
dst | output vector constraints: 32-byte aligned |
src0 | first input vector constraints: 32-byte aligned |
src1 | second input vector constraints: 32-byte aligned |
src2 | third input vector constraints: 32-byte aligned |
len | number of elements in the input constraints: multiple of 16 |
Definition at line 137 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_neon(), ff_float_dsp_init_ppc(), ff_float_dsp_init_riscv(), ff_float_dsp_init_x86(), sbr_qmf_synthesis(), and transform().
void(* AVFloatDSPContext::vector_fmul_reverse) (float *dst, const float *src0, const float *src1, int len) |
Calculate the entry wise product of two vectors of floats, and store the result in a vector of floats.
The second vector of floats is iterated over in reverse order.
dst | output vector constraints: 32-byte aligned |
src0 | first input vector constraints: 32-byte aligned |
src1 | second input vector constraints: 32-byte aligned |
len | number of elements in the input constraints: multiple of 16 |
Definition at line 154 of file float_dsp.h.
Referenced by apply_window_and_mdct(), avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_atrac3p_imdct(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_mips(), ff_float_dsp_init_neon(), ff_float_dsp_init_ppc(), ff_float_dsp_init_riscv(), ff_float_dsp_init_vfp(), ff_float_dsp_init_x86(), and sbr_qmf_analysis().
Calculate the sum and difference of two vectors of floats.
v1 | first input vector, sum output, 16-byte aligned |
v2 | second input vector, difference output, 16-byte aligned |
len | length of vectors, multiple of 4 |
Definition at line 164 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), decode_init(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_mips(), ff_float_dsp_init_neon(), ff_float_dsp_init_riscv(), ff_float_dsp_init_vfp(), ff_float_dsp_init_x86(), imc_decode_frame(), and imdct_output().
Calculate the scalar product of two vectors of floats.
v1 | first vector, 16-byte aligned |
v2 | second vector, 16-byte aligned |
len | length of vectors, multiple of 4 |
Definition at line 175 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_neon(), ff_float_dsp_init_riscv(), ff_float_dsp_init_x86(), and init().
void(* AVFloatDSPContext::vector_dmul) (double *dst, const double *src0, const double *src1, int len) |
Calculate the entry wise product of two vectors of doubles and store the result in a vector of doubles.
dst | output vector constraints: 32-byte aligned |
src0 | first input vector constraints: 32-byte aligned |
src1 | second input vector constraints: 32-byte aligned |
len | number of elements in the input constraints: multiple of 16 |
Definition at line 190 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_float_dsp_init_riscv(), and ff_float_dsp_init_x86().
Calculate the scalar product of two vectors of doubles.
v1 | first vector constraints: 32-byte aligned |
v2 | second vector constraints: 32-byte aligned |
len | length of vectors constraints: multiple of 16 |
Definition at line 205 of file float_dsp.h.
Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), ff_float_dsp_init_riscv(), and ff_float_dsp_init_x86().