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

Opus SILK decoder. More...

#include <stdint.h>
#include "opus.h"

Go to the source code of this file.

Data Structures

struct  SilkFrame
 
struct  SilkContext
 

Macros

#define SILK_MAX_LAG   (288 + LTP_ORDER / 2)
 Maximum residual history according to 4.2.7.6.1. More...
 
#define LTP_ORDER   5
 Order of the LTP filter. More...
 

Functions

static void silk_stabilize_lsf (int16_t nlsf[16], int order, const uint16_t min_delta[17])
 
static int silk_is_lpc_stable (const int16_t lpc[16], int order)
 
static void silk_lsp2poly (const int32_t lsp[16], int32_t pol[16], int half_order)
 
static void silk_lsf2lpc (const int16_t nlsf[16], float lpcf[16], int order)
 
static void silk_decode_lpc (SilkContext *s, SilkFrame *frame, OpusRangeCoder *rc, float lpc_leadin[16], float lpc[16], int *lpc_order, int *has_lpc_leadin, int voiced)
 
static void silk_count_children (OpusRangeCoder *rc, int model, int32_t total, int32_t child[2])
 
static void silk_decode_excitation (SilkContext *s, OpusRangeCoder *rc, float *excitationf, int qoffset_high, int active, int voiced)
 
static void silk_decode_frame (SilkContext *s, OpusRangeCoder *rc, int frame_num, int channel, int coded_channels, int active, int active1)
 
static void silk_unmix_ms (SilkContext *s, float *l, float *r)
 
static void silk_flush_frame (SilkFrame *frame)
 
int ff_silk_decode_superframe (SilkContext *s, OpusRangeCoder *rc, float *output[2], enum OpusBandwidth bandwidth, int coded_channels, int duration_ms)
 Decode the LP layer of one Opus frame (which may correspond to several SILK frames). More...
 
void ff_silk_free (SilkContext **ps)
 
void ff_silk_flush (SilkContext *s)
 
int ff_silk_init (AVCodecContext *avctx, SilkContext **ps, int output_channels)
 

Variables

static const uint16_t silk_model_stereo_s1 []
 
static const uint16_t silk_model_stereo_s2 [] = {256, 85, 171, 256}
 
static const uint16_t silk_model_stereo_s3 [] = {256, 51, 102, 154, 205, 256}
 
static const uint16_t silk_model_mid_only [] = {256, 192, 256}
 
static const uint16_t silk_model_frame_type_inactive [] = {256, 26, 256}
 
static const uint16_t silk_model_frame_type_active [] = {256, 24, 98, 246, 256}
 
static const uint16_t silk_model_gain_highbits [3][9]
 
static const uint16_t silk_model_gain_lowbits [] = {256, 32, 64, 96, 128, 160, 192, 224, 256}
 
static const uint16_t silk_model_gain_delta []
 
static const uint16_t silk_model_lsf_s1 [2][2][33]
 
static const uint16_t silk_model_lsf_s2 [32][10]
 
static const uint16_t silk_model_lsf_s2_ext [] = { 256, 156, 216, 240, 249, 253, 255, 256 }
 
static const uint16_t silk_model_lsf_interpolation_offset [] = { 256, 13, 35, 64, 75, 256 }
 
static const uint16_t silk_model_pitch_highbits []
 
static const uint16_t silk_model_pitch_lowbits_nb [] = { 256, 64, 128, 192, 256 }
 
static const uint16_t silk_model_pitch_lowbits_mb [] = { 256, 43, 85, 128, 171, 213, 256 }
 
static const uint16_t silk_model_pitch_lowbits_wb [] = { 256, 32, 64, 96, 128, 160, 192, 224, 256 }
 
static const uint16_t silk_model_pitch_delta []
 
static const uint16_t silk_model_pitch_contour_nb10ms [] = { 256, 143, 193, 256 }
 
static const uint16_t silk_model_pitch_contour_nb20ms []
 
static const uint16_t silk_model_pitch_contour_mbwb10ms []
 
static const uint16_t silk_model_pitch_contour_mbwb20ms []
 
static const uint16_t silk_model_ltp_filter [] = { 256, 77, 157, 256 }
 
static const uint16_t silk_model_ltp_filter0_sel []
 
static const uint16_t silk_model_ltp_filter1_sel []
 
static const uint16_t silk_model_ltp_filter2_sel []
 
static const uint16_t silk_model_ltp_scale_index [] = { 256, 128, 192, 256 }
 
static const uint16_t silk_model_lcg_seed [] = { 256, 64, 128, 192, 256 }
 
static const uint16_t silk_model_exc_rate [2][10]
 
static const uint16_t silk_model_pulse_count [11][19]
 
static const uint16_t silk_model_pulse_location [4][168]
 
static const uint16_t silk_model_excitation_lsb [] = {256, 136, 256}
 
static const uint16_t silk_model_excitation_sign [3][2][7][3]
 
static const int16_t silk_stereo_weights []
 
static const uint8_t silk_lsf_s2_model_sel_nbmb [32][10]
 
static const uint8_t silk_lsf_s2_model_sel_wb [32][16]
 
static const uint8_t silk_lsf_pred_weights_nbmb [2][9]
 
static const uint8_t silk_lsf_pred_weights_wb [2][15]
 
static const uint8_t silk_lsf_weight_sel_nbmb [32][9]
 
static const uint8_t silk_lsf_weight_sel_wb [32][15]
 
static const uint8_t silk_lsf_codebook_nbmb [32][10]
 
static const uint8_t silk_lsf_codebook_wb [32][16]
 
static const uint16_t silk_lsf_min_spacing_nbmb []
 
static const uint16_t silk_lsf_min_spacing_wb []
 
static const uint8_t silk_lsf_ordering_nbmb []
 
static const uint8_t silk_lsf_ordering_wb []
 
static const int16_t silk_cosine []
 
static const uint16_t silk_pitch_scale [] = { 4, 6, 8}
 
static const uint16_t silk_pitch_min_lag [] = { 16, 24, 32}
 
static const uint16_t silk_pitch_max_lag [] = {144, 216, 288}
 
static const int8_t silk_pitch_offset_nb10ms [3][2]
 
static const int8_t silk_pitch_offset_nb20ms [11][4]
 
static const int8_t silk_pitch_offset_mbwb10ms [12][2]
 
static const int8_t silk_pitch_offset_mbwb20ms [34][4]
 
static const int8_t silk_ltp_filter0_taps [8][5]
 
static const int8_t silk_ltp_filter1_taps [16][5]
 
static const int8_t silk_ltp_filter2_taps [32][5]
 
static const uint16_t silk_ltp_scale_factor [] = {15565, 12288, 8192}
 
static const uint8_t silk_shell_blocks [3][2]
 
static const uint8_t silk_quant_offset [2][2]
 
static const int silk_stereo_interp_len [3]
 

Detailed Description

Opus SILK decoder.

Definition in file opus_silk.c.

Macro Definition Documentation

#define SILK_MAX_LAG   (288 + LTP_ORDER / 2)

Maximum residual history according to 4.2.7.6.1.

Definition at line 1218 of file opus_silk.c.

Referenced by silk_decode_frame().

#define LTP_ORDER   5

Order of the LTP filter.

Definition at line 1221 of file opus_silk.c.

Referenced by silk_decode_frame().

Function Documentation

static void silk_stabilize_lsf ( int16_t  nlsf[16],
int  order,
const uint16_t  min_delta[17] 
)
inlinestatic

Definition at line 788 of file opus_silk.c.

Referenced by silk_decode_lpc().

static int silk_is_lpc_stable ( const int16_t  lpc[16],
int  order 
)
inlinestatic

Definition at line 867 of file opus_silk.c.

Referenced by silk_lsf2lpc().

static void silk_lsp2poly ( const int32_t  lsp[16],
int32_t  pol[16],
int  half_order 
)
static

Definition at line 918 of file opus_silk.c.

Referenced by silk_lsf2lpc().

static void silk_lsf2lpc ( const int16_t  nlsf[16],
float  lpcf[16],
int  order 
)
static

Definition at line 934 of file opus_silk.c.

Referenced by silk_decode_lpc().

static void silk_decode_lpc ( SilkContext s,
SilkFrame frame,
OpusRangeCoder rc,
float  lpc_leadin[16],
float  lpc[16],
int *  lpc_order,
int *  has_lpc_leadin,
int  voiced 
)
inlinestatic

Definition at line 1019 of file opus_silk.c.

Referenced by silk_decode_frame().

static void silk_count_children ( OpusRangeCoder rc,
int  model,
int32_t  total,
int32_t  child[2] 
)
inlinestatic

Definition at line 1116 of file opus_silk.c.

Referenced by silk_decode_excitation().

static void silk_decode_excitation ( SilkContext s,
OpusRangeCoder rc,
float *  excitationf,
int  qoffset_high,
int  active,
int  voiced 
)
inlinestatic

Definition at line 1129 of file opus_silk.c.

Referenced by silk_decode_frame().

static void silk_decode_frame ( SilkContext s,
OpusRangeCoder rc,
int  frame_num,
int  channel,
int  coded_channels,
int  active,
int  active1 
)
static

Definition at line 1223 of file opus_silk.c.

Referenced by ff_silk_decode_superframe().

static void silk_unmix_ms ( SilkContext s,
float *  l,
float *  r 
)
static

Definition at line 1450 of file opus_silk.c.

Referenced by ff_silk_decode_superframe().

static void silk_flush_frame ( SilkFrame frame)
static

Definition at line 1480 of file opus_silk.c.

Referenced by ff_silk_decode_superframe(), and ff_silk_flush().

int ff_silk_decode_superframe ( SilkContext s,
OpusRangeCoder rc,
float *  output[2],
enum OpusBandwidth  bandwidth,
int  coded_channels,
int  duration_ms 
)

Decode the LP layer of one Opus frame (which may correspond to several SILK frames).

Definition at line 1498 of file opus_silk.c.

Referenced by opus_decode_frame().

void ff_silk_free ( SilkContext **  ps)

Definition at line 1562 of file opus_silk.c.

Referenced by opus_decode_close().

void ff_silk_flush ( SilkContext s)

Definition at line 1567 of file opus_silk.c.

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

int ff_silk_init ( AVCodecContext avctx,
SilkContext **  ps,
int  output_channels 
)

Definition at line 1575 of file opus_silk.c.

Referenced by opus_decode_init().

Variable Documentation

const uint16_t silk_model_stereo_s1[]
static
Initial value:
= {
256, 7, 9, 10, 11, 12, 22, 46, 54, 55, 56, 59, 82, 174, 197, 200,
201, 202, 210, 234, 244, 245, 246, 247, 249, 256
}

Definition at line 64 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_stereo_s2[] = {256, 85, 171, 256}
static

Definition at line 69 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_stereo_s3[] = {256, 51, 102, 154, 205, 256}
static

Definition at line 71 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_mid_only[] = {256, 192, 256}
static

Definition at line 73 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_frame_type_inactive[] = {256, 26, 256}
static

Definition at line 75 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_frame_type_active[] = {256, 24, 98, 246, 256}
static

Definition at line 77 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_gain_highbits[3][9]
static
Initial value:
= {
{256, 32, 144, 212, 241, 253, 254, 255, 256},
{256, 2, 19, 64, 124, 186, 233, 252, 256},
{256, 1, 4, 30, 101, 195, 245, 254, 256}
}

Definition at line 79 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_gain_lowbits[] = {256, 32, 64, 96, 128, 160, 192, 224, 256}
static

Definition at line 85 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_gain_delta[]
static
Initial value:
= {
256, 6, 11, 22, 53, 185, 206, 214, 218, 221, 223, 225, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256
}

Definition at line 87 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_lsf_s1[2][2][33]
static
Initial value:
= {
{
{
256, 44, 78, 108, 127, 148, 160, 171, 174, 177, 179, 195, 197, 199, 200, 205,
207, 208, 211, 214, 215, 216, 218, 220, 222, 225, 226, 235, 244, 246, 253, 255, 256
}, {
256, 1, 11, 12, 20, 23, 31, 39, 53, 66, 80, 81, 95, 107, 120, 131,
142, 154, 165, 175, 185, 196, 204, 213, 221, 228, 236, 237, 238, 244, 245, 251, 256
}
}, {
{
256, 31, 52, 55, 72, 73, 81, 98, 102, 103, 121, 137, 141, 143, 146, 147,
157, 158, 161, 177, 188, 204, 206, 208, 211, 213, 224, 225, 229, 238, 246, 253, 256
}, {
256, 1, 5, 21, 26, 44, 55, 60, 74, 89, 90, 93, 105, 118, 132, 146,
152, 166, 178, 180, 186, 187, 199, 211, 222, 232, 235, 245, 250, 251, 252, 253, 256
}
}
}

Definition at line 92 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint16_t silk_model_lsf_s2[32][10]
static
Initial value:
= {
{ 256, 1, 2, 3, 18, 242, 253, 254, 255, 256 },
{ 256, 1, 2, 4, 38, 221, 253, 254, 255, 256 },
{ 256, 1, 2, 6, 48, 197, 252, 254, 255, 256 },
{ 256, 1, 2, 10, 62, 185, 246, 254, 255, 256 },
{ 256, 1, 4, 20, 73, 174, 248, 254, 255, 256 },
{ 256, 1, 4, 21, 76, 166, 239, 254, 255, 256 },
{ 256, 1, 8, 32, 85, 159, 226, 252, 255, 256 },
{ 256, 1, 2, 20, 83, 161, 219, 249, 255, 256 },
{ 256, 1, 2, 3, 12, 244, 253, 254, 255, 256 },
{ 256, 1, 2, 4, 32, 218, 253, 254, 255, 256 },
{ 256, 1, 2, 5, 47, 199, 252, 254, 255, 256 },
{ 256, 1, 2, 12, 61, 187, 252, 254, 255, 256 },
{ 256, 1, 5, 24, 72, 172, 249, 254, 255, 256 },
{ 256, 1, 2, 16, 70, 170, 242, 254, 255, 256 },
{ 256, 1, 2, 17, 78, 165, 226, 251, 255, 256 },
{ 256, 1, 8, 29, 79, 156, 237, 254, 255, 256 }
}

Definition at line 112 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint16_t silk_model_lsf_s2_ext[] = { 256, 156, 216, 240, 249, 253, 255, 256 }
static

Definition at line 134 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint16_t silk_model_lsf_interpolation_offset[] = { 256, 13, 35, 64, 75, 256 }
static

Definition at line 136 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint16_t silk_model_pitch_highbits[]
static
Initial value:
= {
256, 3, 6, 12, 23, 44, 74, 106, 125, 136, 146, 158, 171, 184, 196, 207,
216, 224, 231, 237, 241, 243, 245, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256
}

Definition at line 138 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_lowbits_nb[] = { 256, 64, 128, 192, 256 }
static

Definition at line 143 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_lowbits_mb[] = { 256, 43, 85, 128, 171, 213, 256 }
static

Definition at line 145 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_lowbits_wb[] = { 256, 32, 64, 96, 128, 160, 192, 224, 256 }
static

Definition at line 147 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_delta[]
static
Initial value:
= {
256, 46, 48, 50, 53, 57, 63, 73, 88, 114, 152, 182, 204, 219, 229, 236,
242, 246, 250, 252, 254, 256
}

Definition at line 149 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_contour_nb10ms[] = { 256, 143, 193, 256 }
static

Definition at line 154 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_contour_nb20ms[]
static
Initial value:
= {
256, 68, 80, 101, 118, 137, 159, 189, 213, 230, 246, 256
}

Definition at line 156 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_contour_mbwb10ms[]
static
Initial value:
= {
256, 91, 137, 176, 195, 209, 221, 229, 236, 242, 247, 252, 256
}

Definition at line 160 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_pitch_contour_mbwb20ms[]
static
Initial value:
= {
256, 33, 55, 73, 89, 104, 118, 132, 145, 158, 168, 177, 186, 194, 200, 206,
212, 217, 221, 225, 229, 232, 235, 238, 240, 242, 244, 246, 248, 250, 252, 253,
254, 255, 256
}

Definition at line 164 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_ltp_filter[] = { 256, 77, 157, 256 }
static

Definition at line 170 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_ltp_filter0_sel[]
static
Initial value:
= {
256, 185, 200, 213, 226, 235, 244, 250, 256
}

Definition at line 172 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_ltp_filter1_sel[]
static
Initial value:
= {
256, 57, 91, 112, 132, 147, 160, 172, 185, 195, 205, 214, 224, 233, 241, 248, 256
}

Definition at line 176 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_ltp_filter2_sel[]
static
Initial value:
= {
256, 15, 31, 45, 57, 69, 81, 92, 103, 114, 124, 133, 142, 151, 160, 168,
176, 184, 192, 199, 206, 212, 218, 223, 227, 232, 236, 240, 244, 247, 251, 254, 256
}

Definition at line 180 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_ltp_scale_index[] = { 256, 128, 192, 256 }
static

Definition at line 185 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_model_lcg_seed[] = { 256, 64, 128, 192, 256 }
static

Definition at line 187 of file opus_silk.c.

Referenced by silk_decode_excitation().

const uint16_t silk_model_exc_rate[2][10]
static
Initial value:
= {
{ 256, 15, 66, 78, 124, 169, 182, 215, 242, 256 },
{ 256, 33, 63, 99, 116, 150, 199, 217, 238, 256 }
}

Definition at line 189 of file opus_silk.c.

Referenced by silk_decode_excitation().

const uint16_t silk_model_pulse_count[11][19]
static
Initial value:
= {
{ 256, 131, 205, 230, 238, 241, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256 },
{ 256, 58, 151, 211, 234, 241, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256 },
{ 256, 43, 94, 140, 173, 197, 213, 224, 232,
238, 241, 244, 247, 249, 250, 251, 253, 254, 256 },
{ 256, 17, 69, 140, 197, 228, 240, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256 },
{ 256, 6, 27, 68, 121, 170, 205, 226, 237,
243, 246, 248, 250, 251, 252, 253, 254, 255, 256 },
{ 256, 7, 21, 43, 71, 100, 128, 153, 173,
190, 203, 214, 223, 230, 235, 239, 243, 246, 256 },
{ 256, 2, 7, 21, 50, 92, 138, 179, 210,
229, 240, 246, 249, 251, 252, 253, 254, 255, 256 },
{ 256, 1, 3, 7, 17, 36, 65, 100, 137,
171, 199, 219, 233, 241, 246, 250, 252, 254, 256 },
{ 256, 1, 3, 5, 10, 19, 33, 53, 77,
104, 132, 158, 181, 201, 216, 227, 235, 241, 256 },
{ 256, 1, 2, 3, 9, 36, 94, 150, 189,
214, 228, 238, 244, 247, 250, 252, 253, 254, 256 },
{ 256, 2, 3, 9, 36, 94, 150, 189, 214,
228, 238, 244, 247, 250, 252, 253, 254, 256, 256 }
}

Definition at line 194 of file opus_silk.c.

Referenced by silk_decode_excitation().

const uint16_t silk_model_pulse_location[4][168]
static

Definition at line 219 of file opus_silk.c.

Referenced by silk_count_children().

const uint16_t silk_model_excitation_lsb[] = {256, 136, 256}
static

Definition at line 291 of file opus_silk.c.

Referenced by silk_decode_excitation().

const uint16_t silk_model_excitation_sign[3][2][7][3]
static

Definition at line 293 of file opus_silk.c.

Referenced by silk_decode_excitation().

const int16_t silk_stereo_weights[]
static
Initial value:
= {
-13732, -10050, -8266, -7526, -6500, -5000, -2950, -820,
820, 2950, 5000, 6500, 7526, 8266, 10050, 13732
}

Definition at line 351 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint8_t silk_lsf_s2_model_sel_nbmb[32][10]
static

Definition at line 356 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_s2_model_sel_wb[32][16]
static

Definition at line 391 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_pred_weights_nbmb[2][9]
static
Initial value:
= {
{179, 138, 140, 148, 151, 149, 153, 151, 163},
{116, 67, 82, 59, 92, 72, 100, 89, 92}
}

Definition at line 426 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_pred_weights_wb[2][15]
static
Initial value:
= {
{175, 148, 160, 176, 178, 173, 174, 164, 177, 174, 196, 182, 198, 192, 182},
{ 68, 62, 66, 60, 72, 117, 85, 90, 118, 136, 151, 142, 160, 142, 155}
}

Definition at line 431 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_weight_sel_nbmb[32][9]
static

Definition at line 436 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_weight_sel_wb[32][15]
static

Definition at line 471 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_codebook_nbmb[32][10]
static

Definition at line 506 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_codebook_wb[32][16]
static

Definition at line 541 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint16_t silk_lsf_min_spacing_nbmb[]
static
Initial value:
= {
250, 3, 6, 3, 3, 3, 4, 3, 3, 3, 461
}

Definition at line 576 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint16_t silk_lsf_min_spacing_wb[]
static
Initial value:
= {
100, 3, 40, 3, 3, 3, 5, 14, 14, 10, 11, 3, 8, 9, 7, 3, 347
}

Definition at line 580 of file opus_silk.c.

Referenced by silk_decode_lpc().

const uint8_t silk_lsf_ordering_nbmb[]
static
Initial value:
= {
0, 9, 6, 3, 4, 5, 8, 1, 2, 7
}

Definition at line 584 of file opus_silk.c.

Referenced by silk_lsf2lpc().

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

Definition at line 588 of file opus_silk.c.

Referenced by silk_lsf2lpc().

const int16_t silk_cosine[]
static

Definition at line 592 of file opus_silk.c.

Referenced by silk_lsf2lpc().

const uint16_t silk_pitch_scale[] = { 4, 6, 8}
static

Definition at line 628 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_pitch_min_lag[] = { 16, 24, 32}
static

Definition at line 630 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_pitch_max_lag[] = {144, 216, 288}
static

Definition at line 632 of file opus_silk.c.

Referenced by silk_decode_frame().

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

Definition at line 634 of file opus_silk.c.

Referenced by silk_decode_frame().

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

Definition at line 640 of file opus_silk.c.

Referenced by silk_decode_frame().

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

Definition at line 654 of file opus_silk.c.

Referenced by silk_decode_frame().

const int8_t silk_pitch_offset_mbwb20ms[34][4]
static

Definition at line 669 of file opus_silk.c.

Referenced by silk_decode_frame().

const int8_t silk_ltp_filter0_taps[8][5]
static
Initial value:
= {
{ 4, 6, 24, 7, 5},
{ 0, 0, 2, 0, 0},
{ 12, 28, 41, 13, -4},
{ -9, 15, 42, 25, 14},
{ 1, -2, 62, 41, -9},
{-10, 37, 65, -4, 3},
{ -6, 4, 66, 7, -8},
{ 16, 14, 38, -3, 33}
}

Definition at line 706 of file opus_silk.c.

Referenced by silk_decode_frame().

const int8_t silk_ltp_filter1_taps[16][5]
static
Initial value:
= {
{ 13, 22, 39, 23, 12},
{ -1, 36, 64, 27, -6},
{ -7, 10, 55, 43, 17},
{ 1, 1, 8, 1, 1},
{ 6, -11, 74, 53, -9},
{-12, 55, 76, -12, 8},
{ -3, 3, 93, 27, -4},
{ 26, 39, 59, 3, -8},
{ 2, 0, 77, 11, 9},
{ -8, 22, 44, -6, 7},
{ 40, 9, 26, 3, 9},
{ -7, 20, 101, -7, 4},
{ 3, -8, 42, 26, 0},
{-15, 33, 68, 2, 23},
{ -2, 55, 46, -2, 15},
{ 3, -1, 21, 16, 41}
}

Definition at line 717 of file opus_silk.c.

Referenced by silk_decode_frame().

const int8_t silk_ltp_filter2_taps[32][5]
static

Definition at line 736 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint16_t silk_ltp_scale_factor[] = {15565, 12288, 8192}
static

Definition at line 771 of file opus_silk.c.

Referenced by silk_decode_frame().

const uint8_t silk_shell_blocks[3][2]
static
Initial value:
= {
{ 5, 10},
{ 8, 15},
{10, 20}
}

Definition at line 773 of file opus_silk.c.

Referenced by silk_decode_excitation().

const uint8_t silk_quant_offset[2][2]
static
Initial value:
= {
{25, 60},
{ 8, 25}
}

Definition at line 779 of file opus_silk.c.

Referenced by silk_decode_excitation().

const int silk_stereo_interp_len[3]
static
Initial value:
= {
64, 96, 128
}

Definition at line 784 of file opus_silk.c.

Referenced by silk_unmix_ms().