FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
AVFloatDSPContext Struct Reference

#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 *av_restrict v1, float *av_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...
 

Detailed Description

Definition at line 24 of file float_dsp.h.

Field Documentation

void(* AVFloatDSPContext::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.

Parameters
dstoutput vector constraints: 32-byte aligned
src0first input vector constraints: 32-byte aligned
src1second input vector constraints: 32-byte aligned
lennumber of elements in the input constraints: multiple of 16

Definition at line 38 of file float_dsp.h.

Referenced by apply_mdct(), apply_window_and_mdct(), avpriv_float_dsp_alloc(), backward_filter(), celt_frame_mdct(), checkasm_check_float_dsp(), do_hybrid_window(), 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_vfp(), ff_float_dsp_init_x86(), imlt(), read_and_decode_spectrum(), sbr_qmf_synthesis(), step_collect_psy_metrics(), vorbis_parse_audio_packet(), and windowing_and_mdct_ltp().

void(* AVFloatDSPContext::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.

Source and destination vectors must overlap exactly or not at all.

Parameters
dstresult vector constraints: 32-byte aligned
srcinput vector constraints: 32-byte aligned
mulscalar value
lenlength 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_celt_decode_frame(), ff_dca_downmix_to_stereo_float(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_neon(), ff_float_dsp_init_x86(), filter_frame_float(), opus_decode_frame(), opus_flush_resample(), and output_frame().

void(* AVFloatDSPContext::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.

Source and destination vectors must overlap exactly or not at all.

Parameters
dstresult vector constraints: 32-byte aligned
srcinput vector constraints: 32-byte aligned
mulscalar value
lenlength 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_x86(), and output_frame().

void(* AVFloatDSPContext::vector_fmul_scalar)(float *dst, const float *src, float mul, int len)

Multiply a vector of floats by a scalar float.

Source and destination vectors must overlap exactly or not at all.

Parameters
dstresult vector constraints: 16-byte aligned
srcinput vector constraints: 16-byte aligned
mulscalar value
lenlength of vector constraints: multiple of 4

Definition at line 85 of file float_dsp.h.

Referenced by apply_gain(), apply_intensity_stereo(), apply_window_and_mdct(), avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), convert_coeffs(), decode_spectrum_and_dequant(), decode_subframe(), ff_celt_decode_frame(), 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_x86(), filter_frame(), filter_frame_float(), fir_channel(), inverse_channel_transform(), mp3lame_encode_frame(), opus_decode_packet(), pcm_decode_frame(), search_for_pns(), and waves_synth().

void(* AVFloatDSPContext::vector_dmul_scalar)(double *dst, const double *src, double mul, int len)

Multiply a vector of double by a scalar double.

Source and destination vectors must overlap exactly or not at all.

Parameters
dstresult vector constraints: 32-byte aligned
srcinput vector constraints: 32-byte aligned
mulscalar value
lenlength 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_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.

Parameters
dstresult vector constraints: 16-byte aligned
src0first source vector constraints: 16-byte aligned
src1second source vector constraints: 16-byte aligned
winhalf-window vector constraints: 16-byte aligned
lenlength of vector constraints: multiple of 4

Definition at line 119 of file float_dsp.h.

Referenced by at1_imdct_block(), avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), do_imdct(), ff_celt_decode_frame(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_mips(), ff_float_dsp_init_neon(), ff_float_dsp_init_ppc(), ff_float_dsp_init_vfp(), ff_float_dsp_init_x86(), imdct_and_window(), imdct_and_windowing(), imdct_and_windowing_960(), imdct_and_windowing_ld(), nelly_decode_block(), on2avc_reconstruct_channel(), on2avc_reconstruct_channel_ext(), vorbis_parse_audio_packet(), and wmapro_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.

Parameters
dstoutput vector constraints: 32-byte aligned
src0first input vector constraints: 32-byte aligned
src1second input vector constraints: 32-byte aligned
src2third input vector constraints: 32-byte aligned
lennumber 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_x86(), sbr_qmf_synthesis(), transform(), transform_channel(), and wma_window().

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.

Parameters
dstoutput vector constraints: 32-byte aligned
src0first input vector constraints: 32-byte aligned
src1second input vector constraints: 32-byte aligned
lennumber of elements in the input constraints: multiple of 16

Definition at line 154 of file float_dsp.h.

Referenced by apply_mdct(), apply_window_and_mdct(), avpriv_float_dsp_alloc(), celt_frame_mdct(), 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_vfp(), ff_float_dsp_init_x86(), sbr_qmf_analysis(), transform_channel(), update_ltp(), windowing_and_mdct_ltp(), and wma_window().

void(* AVFloatDSPContext::butterflies_float)(float *av_restrict v1, float *av_restrict v2, int len)

Calculate the sum and difference of two vectors of floats.

Parameters
v1first input vector, sum output, 16-byte aligned
v2second input vector, difference output, 16-byte aligned
lenlength of vectors, multiple of 4

Definition at line 164 of file float_dsp.h.

Referenced by apply_mid_side_stereo(), avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), compute_stereo(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_mips(), ff_float_dsp_init_neon(), ff_float_dsp_init_vfp(), ff_float_dsp_init_x86(), filter_frame_float(), imc_decode_frame(), imdct_output(), and wma_decode_block().

float(* AVFloatDSPContext::scalarproduct_float)(const float *v1, const float *v2, int len)

Calculate the scalar product of two vectors of floats.

Parameters
v1first vector, 16-byte aligned
v2second vector, 16-byte aligned
lenlength of vectors, multiple of 4
Returns
sum of elementwise products

Definition at line 175 of file float_dsp.h.

Referenced by avpriv_float_dsp_alloc(), checkasm_check_float_dsp(), decode_spectrum_and_dequant(), dot_prod(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_neon(), ff_float_dsp_init_x86(), headphone_convolute(), search_for_pns(), and sofalizer_convolute().


The documentation for this struct was generated from the following file: