23#ifndef AVCODEC_ACELP_VECTORS_H
24#define AVCODEC_ACELP_VECTORS_H
41 float weight_coeff_a,
float weight_coeff_b,
195 int half_pulse_count,
int bits);
216 int16_t weight_coeff_a,
217 int16_t weight_coeff_b,
234 float weight_coeff_a,
float weight_coeff_b,
266 float sum_of_squares,
const int n);
const float ff_pow_0_7[10]
Table of pow(0.7,n)
const uint8_t ff_fc_2pulses_9bits_track1_gray[16]
const uint8_t ff_fc_4pulses_8bits_tracks_13[16]
const uint8_t ff_fc_2pulses_9bits_track2_gray[32]
const float ff_b60_sinc[61]
b60 hamming windowed sinc function coefficients
const float ff_pow_0_55[10]
Table of pow(0.55,n)
const float ff_pow_0_75[10]
Table of pow(0.75,n)
const uint8_t ff_fc_4pulses_8bits_track_4[32]
void ff_decode_10_pulses_35bits(const int16_t *fixed_index, AMRFixed *fixed_sparse, const uint8_t *gray_decode, int half_pulse_count, int bits)
Decode the algebraic codebook index to pulse positions and signs and construct the algebraic codebook...
void ff_acelp_vectors_init(ACELPVContext *c)
Initialize ACELPVContext.
void ff_adaptive_gain_control(float *out, const float *in, float speech_energ, int size, float alpha, float *gain_mem)
Adaptive gain control (as used in AMR postfiltering)
void ff_scale_vector_to_given_sum_of_squares(float *out, const float *in, float sum_of_squares, const int n)
Set the sum of squares of a signal by scaling.
void ff_acelp_vectors_init_mips(ACELPVContext *c)
void ff_acelp_fc_pulse_per_track(int16_t *fc_v, const uint8_t *tab1, const uint8_t *tab2, int pulse_indexes, int pulse_signs, int pulse_count, int bits)
Decode fixed-codebook vector (3.8 and D.5.8 of G.729, 5.7.1 of AMR).
void ff_set_fixed_vector(float *out, const AMRFixed *in, float scale, int size)
Add fixed vector to an array from a sparse representation.
void ff_acelp_weighted_vector_sum(int16_t *out, const int16_t *in_a, const int16_t *in_b, int16_t weight_coeff_a, int16_t weight_coeff_b, int16_t rounder, int shift, int length)
weighted sum of two vectors with rounding.
void ff_weighted_vector_sumf(float *out, const float *in_a, const float *in_b, float weight_coeff_a, float weight_coeff_b, int length)
float implementation of weighted sum of two vectors.
void ff_clear_fixed_vector(float *out, const AMRFixed *in, int size)
Clear array values set by set_fixed_vector.
static const uint8_t gray_decode[8]
3-bit Gray code to binary lookup table
static const uint8_t bits[8]
static const int16_t alpha[]
static void scale(int *out, const int *in, const int w, const int h, const int shift)
static int shift(int a, int b)
void(* weighted_vector_sumf)(float *out, const float *in_a, const float *in_b, float weight_coeff_a, float weight_coeff_b, int length)
float implementation of weighted sum of two vectors.
Sparse representation for the algebraic codebook (fixed) vector.