FFmpeg
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_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)

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
 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.

 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
 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.

 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
 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 69 of file float_dsp.h.

 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
 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 84 of file float_dsp.h.

 void(* AVFloatDSPContext::vector_fmul_window)(float *dst, const float *src0, const float *src1, const float *win, int len)

Used primarily by MDCT-based audio codecs. Source and destination vectors must overlap exactly or not at all.

Parameters
 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 103 of file float_dsp.h.

 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
 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 121 of file float_dsp.h.

 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
 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 138 of file float_dsp.h.

 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
 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 148 of file float_dsp.h.

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

Calculate the scalar product of two vectors of floats.

Parameters
 v1 first vector, 16-byte aligned v2 second vector, 16-byte aligned len length of vectors, multiple of 4
Returns
sum of elementwise products

Definition at line 159 of file float_dsp.h.

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