24 #ifndef AVCODEC_OPUS_CELT_H 25 #define AVCODEC_OPUS_CELT_H 36 #define CELT_VECTORS 11 37 #define CELT_ALLOC_STEPS 6 38 #define CELT_FINE_OFFSET 21 39 #define CELT_MAX_FINE_BITS 8 40 #define CELT_NORM_SCALE 16384 41 #define CELT_QTHETA_OFFSET 4 42 #define CELT_QTHETA_OFFSET_TWOPHASE 16 43 #define CELT_EMPH_COEFF 0.85000610f 44 #define CELT_POSTFILTER_MINPERIOD 15 45 #define CELT_ENERGY_SILENCE (-28.0f) 144 f->
seed = 1664525 * f->
seed + 1013904223;
152 for (i = 0; i <
N; i++)
156 for (i = 0; i <
N; i++)
161 int apply_phase_inv);
168 int coded_channels,
int frame_size,
int startband,
int endband);
float coeffs[CELT_MAX_FRAME_SIZE]
static const int8_t pulses[4]
Number of non-zero pulses in the MP-MLQ excitation.
int ff_celt_decode_frame(CeltFrame *f, OpusRangeCoder *rc, float **output, int coded_channels, int frame_size, int startband, int endband)
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
float lin_energy[CELT_MAX_BANDS]
float samples[FFALIGN(CELT_MAX_FRAME_SIZE, 16)]
void ff_celt_flush(CeltFrame *f)
float error_energy[CELT_MAX_BANDS]
main external API structure.
int ff_celt_init(AVCodecContext *avctx, CeltFrame **f, int output_channels, int apply_phase_inv)
Replacements for frequently missing libm functions.
static av_always_inline void celt_renormalize_vector(float *X, int N, float gain)
float energy[CELT_MAX_BANDS]
static av_always_inline uint32_t celt_rng(CeltFrame *f)
void ff_celt_free(CeltFrame **f)
#define CELT_MAX_FRAME_SIZE
float prev_energy[2][CELT_MAX_BANDS]
uint8_t collapse_masks[CELT_MAX_BANDS]
float overlap[FFALIGN(CELT_OVERLAP, 16)]