Go to the documentation of this file.
72 1.09050773266525765921,
73 1.18920711500272106672,
83 static inline float *
VMUL2(
float *dst,
const float *v,
unsigned idx,
87 *dst++ = v[idx & 15] *
s;
88 *dst++ = v[idx>>4 & 15] *
s;
94 static inline float *
VMUL4(
float *dst,
const float *v,
unsigned idx,
98 *dst++ = v[idx & 3] *
s;
99 *dst++ = v[idx>>2 & 3] *
s;
100 *dst++ = v[idx>>4 & 3] *
s;
101 *dst++ = v[idx>>6 & 3] *
s;
107 static inline float *
VMUL2S(
float *dst,
const float *v,
unsigned idx,
108 unsigned sign,
const float *
scale)
113 s0.i ^= sign >> 1 << 31;
116 *dst++ = v[idx & 15] *
s0.f;
117 *dst++ = v[idx>>4 & 15] *
s1.f;
124 static inline float *
VMUL4S(
float *dst,
const float *v,
unsigned idx,
125 unsigned sign,
const float *
scale)
127 unsigned nz = idx >> 12;
131 t.
i =
s.i ^ (sign & 1
U<<31);
132 *dst++ = v[idx & 3] * t.
f;
134 sign <<= nz & 1; nz >>= 1;
135 t.
i =
s.i ^ (sign & 1
U<<31);
136 *dst++ = v[idx>>2 & 3] * t.
f;
138 sign <<= nz & 1; nz >>= 1;
139 t.
i =
s.i ^ (sign & 1
U<<31);
140 *dst++ = v[idx>>4 & 3] * t.
f;
143 t.
i =
s.i ^ (sign & 1
U<<31);
144 *dst++ = v[idx>>6 & 3] * t.
f;
@ AV_SAMPLE_FMT_FLTP
float, planar
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
float ff_aac_kbd_short_128[128]
static float sine_120[120]
static float * VMUL2(float *dst, const float *v, unsigned idx, const float *scale)
Dequantization-related.
static av_cold void AAC_RENAME() aac_proc_init(AACDecProc *aac_proc)
void ff_cbrt_tableinit(void)
static float * VMUL2S(float *dst, const float *v, unsigned idx, unsigned sign, const float *scale)
int flags
AV_CODEC_FLAG_*.
static int ff_thread_once(char *control, void(*routine)(void))
av_cold int ff_aac_decode_init(AVCodecContext *avctx)
static float * VMUL4(float *dst, const float *v, unsigned idx, const float *scale)
av_cold int ff_aac_decode_init_float(AVCodecContext *avctx)
static float sine_960[960]
FF_VISIBILITY_PUSH_HIDDEN void ff_aac_sbr_init(void)
Initialize SBR.
#define DECLARE_ALIGNED(n, t, v)
void ff_aac_float_common_init(void)
static av_cold void AAC_RENAME() aac_dsp_init(AACDecDSP *aac_dsp)
enum AVSampleFormat sample_fmt
audio sample format
static float aac_kbd_long_960[960]
void ff_sine_window_init(float *window, int n)
Generate a sine window.
static float * VMUL4S(float *dst, const float *v, unsigned idx, unsigned sign, const float *scale)
float ff_aac_kbd_long_1024[1024]
main AAC decoding context
main external API structure.
static const float cce_scale[]
void ff_init_ff_sine_windows(int index)
initialize the specified entry of ff_sine_windows
av_cold void ff_kbd_window_init(float *window, float alpha, int n)
Generate a Kaiser-Bessel Derived Window.
#define AV_CODEC_FLAG_BITEXACT
Use only bitexact stuff (except (I)DCT).
static void scale(int *out, const int *in, const int w, const int h, const int shift)
static void init_tables_float_fn(void)
av_cold AVFloatDSPContext * avpriv_float_dsp_alloc(int bit_exact)
Allocate a float DSP context.
static float aac_kbd_short_120[120]