FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
opus_celt.c File Reference

Opus CELT decoder. More...

#include <stdint.h>
#include "libavutil/float_dsp.h"
#include "libavutil/libm.h"
#include "imdct15.h"
#include "opus.h"

Go to the source code of this file.

Data Structures

struct  CeltFrame
 
struct  CeltContext
 

Macros

#define CELT_PVQ_U(n, k)   (celt_pvq_u_row[FFMIN(n, k)][FFMAX(n, k)])
 
#define CELT_PVQ_V(n, k)   (CELT_PVQ_U(n, k) + CELT_PVQ_U(n, (k) + 1))
 

Enumerations

enum  CeltSpread { CELT_SPREAD_NONE, CELT_SPREAD_LIGHT, CELT_SPREAD_NORMAL, CELT_SPREAD_AGGRESSIVE }
 

Functions

static int16_t celt_cos (int16_t x)
 
static int celt_log2tan (int isin, int icos)
 
static uint32_t celt_rng (CeltContext *s)
 
static void celt_decode_coarse_energy (CeltContext *s, OpusRangeCoder *rc)
 
static void celt_decode_fine_energy (CeltContext *s, OpusRangeCoder *rc)
 
static void celt_decode_final_energy (CeltContext *s, OpusRangeCoder *rc, int bits_left)
 
static void celt_decode_tf_changes (CeltContext *s, OpusRangeCoder *rc, int transient)
 
static void celt_decode_allocation (CeltContext *s, OpusRangeCoder *rc)
 
static int celt_bits2pulses (const uint8_t *cache, int bits)
 
static int celt_pulses2bits (const uint8_t *cache, int pulses)
 
static void celt_normalize_residual (const int *av_restrict iy, float *av_restrict X, int N, float g)
 
static void celt_exp_rotation1 (float *X, unsigned int len, unsigned int stride, float c, float s)
 
static void celt_exp_rotation (float *X, unsigned int len, unsigned int stride, unsigned int K, enum CeltSpread spread)
 
static unsigned int celt_extract_collapse_mask (const int *iy, unsigned int N, unsigned int B)
 
static void celt_renormalize_vector (float *X, int N, float gain)
 
static void celt_stereo_merge (float *X, float *Y, float mid, int N)
 
static void celt_interleave_hadamard (float *tmp, float *X, int N0, int stride, int hadamard)
 
static void celt_deinterleave_hadamard (float *tmp, float *X, int N0, int stride, int hadamard)
 
static void celt_haar1 (float *X, int N0, int stride)
 
static int celt_compute_qn (int N, int b, int offset, int pulse_cap, int dualstereo)
 
static uint64_t celt_cwrsi (unsigned int N, unsigned int K, unsigned int i, int *y)
 
static float celt_decode_pulses (OpusRangeCoder *rc, int *y, unsigned int N, unsigned int K)
 
static unsigned int celt_alg_unquant (OpusRangeCoder *rc, float *X, unsigned int N, unsigned int K, enum CeltSpread spread, unsigned int blocks, float gain)
 Decode pulse vector and combine the result with the pitch vector to produce the final normalised signal in the current band. More...
 
static unsigned int celt_decode_band (CeltContext *s, OpusRangeCoder *rc, const int band, float *X, float *Y, int N, int b, unsigned int blocks, float *lowband, int duration, float *lowband_out, int level, float gain, float *lowband_scratch, int fill)
 
static void celt_denormalize (CeltContext *s, CeltFrame *frame, float *data)
 
static void celt_postfilter_apply_transition (CeltFrame *frame, float *data)
 
static void celt_postfilter_apply (CeltFrame *frame, float *data, int len)
 
static void celt_postfilter (CeltContext *s, CeltFrame *frame)
 
static int parse_postfilter (CeltContext *s, OpusRangeCoder *rc, int consumed)
 
static void process_anticollapse (CeltContext *s, CeltFrame *frame, float *X)
 
static void celt_decode_bands (CeltContext *s, OpusRangeCoder *rc)
 
int ff_celt_decode_frame (CeltContext *s, OpusRangeCoder *rc, float **output, int coded_channels, int frame_size, int startband, int endband)
 
void ff_celt_flush (CeltContext *s)
 
void ff_celt_free (CeltContext **ps)
 
int ff_celt_init (AVCodecContext *avctx, CeltContext **ps, int output_channels)
 

Variables

static const uint16_t celt_model_tapset [] = { 4, 2, 3, 4 }
 
static const uint16_t celt_model_spread [] = { 32, 7, 9, 30, 32 }
 
static const uint16_t celt_model_alloc_trim []
 
static const uint16_t celt_model_energy_small [] = { 4, 2, 3, 4 }
 
static const uint8_t celt_freq_bands []
 
static const uint8_t celt_freq_range []
 
static const uint8_t celt_log_freq_range []
 
static const int8_t celt_tf_select [4][2][2][2]
 
static const float celt_mean_energy []
 
static const float celt_alpha_coef []
 
static const float celt_beta_coef []
 
static const uint8_t celt_coarse_energy_dist [4][2][42]
 
static const uint8_t celt_static_alloc [11][21]
 
static const uint8_t celt_static_caps [4][2][21]
 
static const uint8_t celt_cache_bits [392]
 
static const int16_t celt_cache_index [105]
 
static const uint8_t celt_log2_frac []
 
static const uint8_t celt_bit_interleave []
 
static const uint8_t celt_bit_deinterleave []
 
static const uint8_t celt_hadamard_ordery []
 
static const uint16_t celt_qn_exp2 []
 
static const uint32_t celt_pvq_u [1272]
 
static const float celt_window [120]
 
const float ff_celt_window2 [120]
 
static const uint32_t *const celt_pvq_u_row [15]
 

Detailed Description

Opus CELT decoder.

Definition in file opus_celt.c.

Macro Definition Documentation

#define CELT_PVQ_U (   n,
 
)    (celt_pvq_u_row[FFMIN(n, k)][FFMAX(n, k)])
#define CELT_PVQ_V (   n,
 
)    (CELT_PVQ_U(n, k) + CELT_PVQ_U(n, (k) + 1))

Referenced by celt_decode_pulses().

Enumeration Type Documentation

enum CeltSpread
Enumerator
CELT_SPREAD_NONE 
CELT_SPREAD_LIGHT 
CELT_SPREAD_NORMAL 
CELT_SPREAD_AGGRESSIVE 

Definition at line 35 of file opus_celt.c.

Function Documentation

static int16_t celt_cos ( int16_t  x)
inlinestatic

Definition at line 494 of file opus_celt.c.

Referenced by celt_decode_band().

static int celt_log2tan ( int  isin,
int  icos 
)
inlinestatic

Definition at line 501 of file opus_celt.c.

Referenced by celt_decode_band().

static uint32_t celt_rng ( CeltContext s)
inlinestatic

Definition at line 513 of file opus_celt.c.

Referenced by celt_decode_band(), and process_anticollapse().

static void celt_decode_coarse_energy ( CeltContext s,
OpusRangeCoder rc 
)
static

Definition at line 519 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static void celt_decode_fine_energy ( CeltContext s,
OpusRangeCoder rc 
)
static

Definition at line 569 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static void celt_decode_final_energy ( CeltContext s,
OpusRangeCoder rc,
int  bits_left 
)
static

Definition at line 588 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static void celt_decode_tf_changes ( CeltContext s,
OpusRangeCoder rc,
int  transient 
)
static

Definition at line 610 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static void celt_decode_allocation ( CeltContext s,
OpusRangeCoder rc 
)
static

Definition at line 638 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static int celt_bits2pulses ( const uint8_t cache,
int  bits 
)
inlinestatic

Definition at line 970 of file opus_celt.c.

Referenced by celt_decode_band().

static int celt_pulses2bits ( const uint8_t cache,
int  pulses 
)
inlinestatic

Definition at line 989 of file opus_celt.c.

Referenced by celt_decode_band().

static void celt_normalize_residual ( const int *av_restrict  iy,
float *av_restrict  X,
int  N,
float  g 
)
inlinestatic

Definition at line 995 of file opus_celt.c.

Referenced by celt_alg_unquant().

static void celt_exp_rotation1 ( float *  X,
unsigned int  len,
unsigned int  stride,
float  c,
float  s 
)
static

Definition at line 1003 of file opus_celt.c.

Referenced by celt_exp_rotation().

static void celt_exp_rotation ( float *  X,
unsigned int  len,
unsigned int  stride,
unsigned int  K,
enum CeltSpread  spread 
)
inlinestatic

Definition at line 1028 of file opus_celt.c.

Referenced by celt_alg_unquant().

static unsigned int celt_extract_collapse_mask ( const int *  iy,
unsigned int  N,
unsigned int  B 
)
inlinestatic

Definition at line 1064 of file opus_celt.c.

Referenced by celt_alg_unquant().

static void celt_renormalize_vector ( float *  X,
int  N,
float  gain 
)
inlinestatic

Definition at line 1085 of file opus_celt.c.

Referenced by celt_decode_band(), and process_anticollapse().

static void celt_stereo_merge ( float *  X,
float *  Y,
float  mid,
int  N 
)
inlinestatic

Definition at line 1097 of file opus_celt.c.

Referenced by celt_decode_band().

static void celt_interleave_hadamard ( float *  tmp,
float *  X,
int  N0,
int  stride,
int  hadamard 
)
static

Definition at line 1137 of file opus_celt.c.

Referenced by celt_decode_band().

static void celt_deinterleave_hadamard ( float *  tmp,
float *  X,
int  N0,
int  stride,
int  hadamard 
)
static

Definition at line 1158 of file opus_celt.c.

Referenced by celt_decode_band().

static void celt_haar1 ( float *  X,
int  N0,
int  stride 
)
static

Definition at line 1179 of file opus_celt.c.

Referenced by celt_decode_band().

static int celt_compute_qn ( int  N,
int  b,
int  offset,
int  pulse_cap,
int  dualstereo 
)
inlinestatic

Definition at line 1193 of file opus_celt.c.

Referenced by celt_decode_band().

static uint64_t celt_cwrsi ( unsigned int  N,
unsigned int  K,
unsigned int  i,
int *  y 
)
inlinestatic

Definition at line 1210 of file opus_celt.c.

Referenced by celt_decode_pulses().

static float celt_decode_pulses ( OpusRangeCoder rc,
int *  y,
unsigned int  N,
unsigned int  K 
)
inlinestatic

Definition at line 1295 of file opus_celt.c.

Referenced by celt_alg_unquant().

static unsigned int celt_alg_unquant ( OpusRangeCoder rc,
float *  X,
unsigned int  N,
unsigned int  K,
enum CeltSpread  spread,
unsigned int  blocks,
float  gain 
)
inlinestatic

Decode pulse vector and combine the result with the pitch vector to produce the final normalised signal in the current band.

Definition at line 1306 of file opus_celt.c.

Referenced by celt_decode_band().

static unsigned int celt_decode_band ( CeltContext s,
OpusRangeCoder rc,
const int  band,
float *  X,
float *  Y,
int  N,
int  b,
unsigned int  blocks,
float *  lowband,
int  duration,
float *  lowband_out,
int  level,
float  gain,
float *  lowband_scratch,
int  fill 
)
static

Definition at line 1319 of file opus_celt.c.

Referenced by celt_decode_bands().

static void celt_denormalize ( CeltContext s,
CeltFrame frame,
float *  data 
)
static

Definition at line 1675 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static void celt_postfilter_apply_transition ( CeltFrame frame,
float *  data 
)
static

Definition at line 1688 of file opus_celt.c.

Referenced by celt_postfilter().

static void celt_postfilter_apply ( CeltFrame frame,
float *  data,
int  len 
)
static

Definition at line 1733 of file opus_celt.c.

Referenced by celt_postfilter().

static void celt_postfilter ( CeltContext s,
CeltFrame frame 
)
static

Definition at line 1765 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static int parse_postfilter ( CeltContext s,
OpusRangeCoder rc,
int  consumed 
)
static

Definition at line 1789 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static void process_anticollapse ( CeltContext s,
CeltFrame frame,
float *  X 
)
static

Definition at line 1829 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

static void celt_decode_bands ( CeltContext s,
OpusRangeCoder rc 
)
static

Definition at line 1881 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

int ff_celt_decode_frame ( CeltContext s,
OpusRangeCoder rc,
float **  output,
int  coded_channels,
int  frame_size,
int  startband,
int  endband 
)

Definition at line 1977 of file opus_celt.c.

Referenced by opus_decode_frame(), and opus_decode_redundancy().

void ff_celt_flush ( CeltContext s)

Definition at line 2147 of file opus_celt.c.

Referenced by ff_celt_init(), opus_decode_flush(), and opus_decode_frame().

void ff_celt_free ( CeltContext **  ps)

Definition at line 2174 of file opus_celt.c.

Referenced by ff_celt_init(), and opus_decode_close().

int ff_celt_init ( AVCodecContext avctx,
CeltContext **  ps,
int  output_channels 
)

Definition at line 2189 of file opus_celt.c.

Referenced by opus_decode_init().

Variable Documentation

const uint16_t celt_model_tapset[] = { 4, 2, 3, 4 }
static

Definition at line 105 of file opus_celt.c.

Referenced by parse_postfilter().

const uint16_t celt_model_spread[] = { 32, 7, 9, 30, 32 }
static

Definition at line 107 of file opus_celt.c.

Referenced by celt_decode_allocation().

const uint16_t celt_model_alloc_trim[]
static
Initial value:
= {
128, 2, 4, 9, 19, 41, 87, 109, 119, 124, 126, 128
}

Definition at line 109 of file opus_celt.c.

Referenced by celt_decode_allocation().

const uint16_t celt_model_energy_small[] = { 4, 2, 3, 4 }
static

Definition at line 113 of file opus_celt.c.

Referenced by celt_decode_coarse_energy().

const uint8_t celt_freq_bands[]
static
Initial value:
= {
0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 34, 40, 48, 60, 78, 100
}

Definition at line 115 of file opus_celt.c.

Referenced by celt_decode_allocation(), celt_decode_bands(), celt_denormalize(), and process_anticollapse().

const uint8_t celt_freq_range[]
static
Initial value:
= {
1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 6, 6, 8, 12, 18, 22
}

Definition at line 119 of file opus_celt.c.

Referenced by celt_decode_allocation(), celt_decode_bands(), celt_denormalize(), and process_anticollapse().

const uint8_t celt_log_freq_range[]
static
Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36
}

Definition at line 123 of file opus_celt.c.

Referenced by celt_decode_allocation(), and celt_decode_band().

const int8_t celt_tf_select[4][2][2][2]
static
Initial value:
= {
{ { { 0, -1 }, { 0, -1 } }, { { 0, -1 }, { 0, -1 } } },
{ { { 0, -1 }, { 0, -2 } }, { { 1, 0 }, { 1, -1 } } },
{ { { 0, -2 }, { 0, -3 } }, { { 2, 0 }, { 1, -1 } } },
{ { { 0, -2 }, { 0, -3 } }, { { 3, 0 }, { 1, -1 } } }
}

Definition at line 127 of file opus_celt.c.

Referenced by celt_decode_tf_changes().

const float celt_mean_energy[]
static
Initial value:
= {
6.437500f, 6.250000f, 5.750000f, 5.312500f, 5.062500f,
4.812500f, 4.500000f, 4.375000f, 4.875000f, 4.687500f,
4.562500f, 4.437500f, 4.875000f, 4.625000f, 4.312500f,
4.500000f, 4.375000f, 4.625000f, 4.750000f, 4.437500f,
3.750000f, 3.750000f, 3.750000f, 3.750000f, 3.750000f
}

Definition at line 134 of file opus_celt.c.

Referenced by celt_denormalize().

const float celt_alpha_coef[]
static
Initial value:
= {
29440.0f/32768.0f, 26112.0f/32768.0f, 21248.0f/32768.0f, 16384.0f/32768.0f
}

Definition at line 142 of file opus_celt.c.

Referenced by celt_decode_coarse_energy().

const float celt_beta_coef[]
static
Initial value:
= {
30147.0f/32768.0f, 22282.0f/32768.0f, 12124.0f/32768.0f, 6554.0f/32768.0f
}

Definition at line 146 of file opus_celt.c.

Referenced by celt_decode_coarse_energy().

const uint8_t celt_coarse_energy_dist[4][2][42]
static

Definition at line 150 of file opus_celt.c.

Referenced by celt_decode_coarse_energy().

const uint8_t celt_static_alloc[11][21]
static
Initial value:
= {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 90, 80, 75, 69, 63, 56, 49, 40, 34, 29, 20, 18, 10, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 110, 100, 90, 84, 78, 71, 65, 58, 51, 45, 39, 32, 26, 20, 12, 0, 0, 0, 0, 0, 0 },
{ 118, 110, 103, 93, 86, 80, 75, 70, 65, 59, 53, 47, 40, 31, 23, 15, 4, 0, 0, 0, 0 },
{ 126, 119, 112, 104, 95, 89, 83, 78, 72, 66, 60, 54, 47, 39, 32, 25, 17, 12, 1, 0, 0 },
{ 134, 127, 120, 114, 103, 97, 91, 85, 78, 72, 66, 60, 54, 47, 41, 35, 29, 23, 16, 10, 1 },
{ 144, 137, 130, 124, 113, 107, 101, 95, 88, 82, 76, 70, 64, 57, 51, 45, 39, 33, 26, 15, 1 },
{ 152, 145, 138, 132, 123, 117, 111, 105, 98, 92, 86, 80, 74, 67, 61, 55, 49, 43, 36, 20, 1 },
{ 162, 155, 148, 142, 133, 127, 121, 115, 108, 102, 96, 90, 84, 77, 71, 65, 59, 53, 46, 30, 1 },
{ 172, 165, 158, 152, 143, 137, 131, 125, 118, 112, 106, 100, 94, 87, 81, 75, 69, 63, 56, 45, 20 },
{ 200, 200, 200, 200, 200, 200, 200, 200, 198, 193, 188, 183, 178, 173, 168, 163, 158, 153, 148, 129, 104 }
}

Definition at line 194 of file opus_celt.c.

Referenced by celt_decode_allocation().

const uint8_t celt_static_caps[4][2][21]
static
Initial value:
= {
{
{224, 224, 224, 224, 224, 224, 224, 224, 160, 160,
160, 160, 185, 185, 185, 178, 178, 168, 134, 61, 37},
{224, 224, 224, 224, 224, 224, 224, 224, 240, 240,
240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40},
}, {
{160, 160, 160, 160, 160, 160, 160, 160, 185, 185,
185, 185, 193, 193, 193, 183, 183, 172, 138, 64, 38},
{240, 240, 240, 240, 240, 240, 240, 240, 207, 207,
207, 207, 204, 204, 204, 193, 193, 180, 143, 66, 40},
}, {
{185, 185, 185, 185, 185, 185, 185, 185, 193, 193,
193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39},
{207, 207, 207, 207, 207, 207, 207, 207, 204, 204,
204, 204, 201, 201, 201, 188, 188, 176, 141, 66, 40},
}, {
{193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39},
{204, 204, 204, 204, 204, 204, 204, 204, 201, 201,
201, 201, 198, 198, 198, 187, 187, 175, 140, 66, 40}
}
}

Definition at line 208 of file opus_celt.c.

Referenced by celt_decode_allocation().

const uint8_t celt_cache_bits[392]
static
Initial value:
= {
40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28,
31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50,
51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65,
66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61,
64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92,
94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123,
124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94,
97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139,
142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35,
28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149,
153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225,
229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157,
166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63,
86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250,
25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180,
185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89,
110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41,
74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138,
163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214,
228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49,
90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47,
87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57,
106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187,
224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127,
182, 234
}

Definition at line 232 of file opus_celt.c.

Referenced by celt_decode_band().

const int16_t celt_cache_index[105]
static
Initial value:
= {
-1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41,
82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41,
41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41,
41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305,
318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240,
305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240,
240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387,
}

Definition at line 262 of file opus_celt.c.

Referenced by celt_decode_band().

const uint8_t celt_log2_frac[]
static
Initial value:
= {
0, 8, 13, 16, 19, 21, 23, 24, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 34, 35, 36, 36, 37, 37
}

Definition at line 272 of file opus_celt.c.

Referenced by celt_decode_allocation().

const uint8_t celt_bit_interleave[]
static
Initial value:
= {
0, 1, 1, 1, 2, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3
}

Definition at line 276 of file opus_celt.c.

Referenced by celt_decode_band().

const uint8_t celt_bit_deinterleave[]
static
Initial value:
= {
0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F,
0xC0, 0xC3, 0xCC, 0xCF, 0xF0, 0xF3, 0xFC, 0xFF
}

Definition at line 280 of file opus_celt.c.

Referenced by celt_decode_band().

const uint8_t celt_hadamard_ordery[]
static
Initial value:
= {
1, 0,
3, 0, 2, 1,
7, 0, 4, 3, 6, 1, 5, 2,
15, 0, 8, 7, 12, 3, 11, 4, 14, 1, 9, 6, 13, 2, 10, 5
}

Definition at line 285 of file opus_celt.c.

Referenced by celt_deinterleave_hadamard(), and celt_interleave_hadamard().

const uint16_t celt_qn_exp2[]
static
Initial value:
= {
16384, 17866, 19483, 21247, 23170, 25267, 27554, 30048
}

Definition at line 292 of file opus_celt.c.

Referenced by celt_compute_qn().

const uint32_t celt_pvq_u[1272]
static

Definition at line 296 of file opus_celt.c.

const float celt_window[120]
static
Initial value:
= {
6.7286966e-05f, 0.00060551348f, 0.0016815970f, 0.0032947962f, 0.0054439943f,
0.0081276923f, 0.011344001f, 0.015090633f, 0.019364886f, 0.024163635f,
0.029483315f, 0.035319905f, 0.041668911f, 0.048525347f, 0.055883718f,
0.063737999f, 0.072081616f, 0.080907428f, 0.090207705f, 0.099974111f,
0.11019769f, 0.12086883f, 0.13197729f, 0.14351214f, 0.15546177f,
0.16781389f, 0.18055550f, 0.19367290f, 0.20715171f, 0.22097682f,
0.23513243f, 0.24960208f, 0.26436860f, 0.27941419f, 0.29472040f,
0.31026818f, 0.32603788f, 0.34200931f, 0.35816177f, 0.37447407f,
0.39092462f, 0.40749142f, 0.42415215f, 0.44088423f, 0.45766484f,
0.47447104f, 0.49127978f, 0.50806798f, 0.52481261f, 0.54149077f,
0.55807973f, 0.57455701f, 0.59090049f, 0.60708841f, 0.62309951f,
0.63891306f, 0.65450896f, 0.66986776f, 0.68497077f, 0.69980010f,
0.71433873f, 0.72857055f, 0.74248043f, 0.75605424f, 0.76927895f,
0.78214257f, 0.79463430f, 0.80674445f, 0.81846456f, 0.82978733f,
0.84070669f, 0.85121779f, 0.86131698f, 0.87100183f, 0.88027111f,
0.88912479f, 0.89756398f, 0.90559094f, 0.91320904f, 0.92042270f,
0.92723738f, 0.93365955f, 0.93969656f, 0.94535671f, 0.95064907f,
0.95558353f, 0.96017067f, 0.96442171f, 0.96834849f, 0.97196334f,
0.97527906f, 0.97830883f, 0.98106616f, 0.98356480f, 0.98581869f,
0.98784191f, 0.98964856f, 0.99125274f, 0.99266849f, 0.99390969f,
0.99499004f, 0.99592297f, 0.99672162f, 0.99739874f, 0.99796667f,
0.99843728f, 0.99882195f, 0.99913147f, 0.99937606f, 0.99956527f,
0.99970802f, 0.99981248f, 0.99988613f, 0.99993565f, 0.99996697f,
0.99998518f, 0.99999457f, 0.99999859f, 0.99999982f, 1.0000000f,
}

Definition at line 439 of file opus_celt.c.

Referenced by ff_celt_decode_frame().

const float ff_celt_window2[120]
Initial value:
= {
4.5275357e-09f, 3.66647e-07f, 2.82777e-06f, 1.08557e-05f, 2.96371e-05f, 6.60594e-05f,
0.000128686f, 0.000227727f, 0.000374999f, 0.000583881f, 0.000869266f, 0.0012475f,
0.0017363f, 0.00235471f, 0.00312299f, 0.00406253f, 0.00519576f, 0.00654601f,
0.00813743f, 0.00999482f, 0.0121435f, 0.0146093f, 0.017418f, 0.0205957f, 0.0241684f,
0.0281615f, 0.0326003f, 0.0375092f, 0.0429118f, 0.0488308f, 0.0552873f, 0.0623012f,
0.0698908f, 0.0780723f, 0.0868601f, 0.0962664f, 0.106301f, 0.11697f, 0.12828f,
0.140231f, 0.152822f, 0.166049f, 0.179905f, 0.194379f, 0.209457f, 0.225123f, 0.241356f,
0.258133f, 0.275428f, 0.293212f, 0.311453f, 0.330116f, 0.349163f, 0.368556f, 0.388253f,
0.40821f, 0.428382f, 0.448723f, 0.469185f, 0.48972f, 0.51028f, 0.530815f, 0.551277f,
0.571618f, 0.59179f, 0.611747f, 0.631444f, 0.650837f, 0.669884f, 0.688547f, 0.706788f,
0.724572f, 0.741867f, 0.758644f, 0.774877f, 0.790543f, 0.805621f, 0.820095f, 0.833951f,
0.847178f, 0.859769f, 0.87172f, 0.88303f, 0.893699f, 0.903734f, 0.91314f, 0.921928f,
0.930109f, 0.937699f, 0.944713f, 0.951169f, 0.957088f, 0.962491f, 0.9674f, 0.971838f,
0.975832f, 0.979404f, 0.982582f, 0.985391f, 0.987857f, 0.990005f, 0.991863f, 0.993454f,
0.994804f, 0.995937f, 0.996877f, 0.997645f, 0.998264f, 0.998753f, 0.999131f, 0.999416f,
0.999625f, 0.999772f, 0.999871f, 0.999934f, 0.99997f, 0.999989f, 0.999997f, 0.99999964f, 1.0f,
}

Definition at line 467 of file opus_celt.c.

Referenced by celt_postfilter_apply_transition(), opus_decode_frame(), and opus_flush_resample().

const uint32_t* const celt_pvq_u_row[15]
static
Initial value:
= {
celt_pvq_u + 0, celt_pvq_u + 176, celt_pvq_u + 351,
celt_pvq_u + 525, celt_pvq_u + 698, celt_pvq_u + 870,
celt_pvq_u + 1041, celt_pvq_u + 1131, celt_pvq_u + 1178,
celt_pvq_u + 1207, celt_pvq_u + 1226, celt_pvq_u + 1240,
celt_pvq_u + 1248, celt_pvq_u + 1254, celt_pvq_u + 1257
}
static const uint32_t celt_pvq_u[1272]
Definition: opus_celt.c:296

Definition at line 486 of file opus_celt.c.

Referenced by celt_cwrsi().