amrnbdata.h File Reference

AMR narrowband data and definitions. More...

#include <stdint.h>
#include "libavutil/common.h"
Include dependency graph for amrnbdata.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  AMRNBSubframe
 AMRNB unpacked data subframe. More...
 
struct  AMRNBFrame
 AMRNB unpacked data frame. More...
 

Macros

#define AMR_SUBFRAME_SIZE   40
 samples per subframe More...
 
#define LP_FILTER_ORDER   10
 linear predictive coding filter order More...
 
#define AMR_BIT(field)   (offsetof(AMRNBFrame, field))
 The index of a frame parameter. More...
 
#define AMR_OF(frame_num, variable)   AMR_BIT(subframe[frame_num].variable)
 The index of a subframe-specific parameter. More...
 

Typedefs

typedef struct AMRNBSubframe AMRNBSubframe
 AMRNB unpacked data subframe. More...
 
typedef struct AMRNBFrame AMRNBFrame
 AMRNB unpacked data frame. More...
 

Enumerations

enum  Mode {
  MODE_4k75 = 0, MODE_5k15, MODE_5k9, MODE_6k7,
  MODE_7k4, MODE_7k95, MODE_10k2, MODE_12k2,
  MODE_DTX, N_MODES, NO_DATA = 15, MODE_6k60 = 0,
  MODE_8k85, MODE_12k65, MODE_14k25, MODE_15k85,
  MODE_18k25, MODE_19k85, MODE_23k05, MODE_23k85,
  MODE_SID, SP_LOST = 14, NO_DATA
}
 Frame type (Table 1a in 3GPP TS 26.101) More...
 

Variables

static const uint8_t order_MODE_4k75 []
 
static const uint8_t order_MODE_5k15 []
 
static const uint8_t order_MODE_5k9 []
 
static const uint8_t order_MODE_6k7 []
 
static const uint8_t order_MODE_7k4 []
 
static const uint8_t order_MODE_7k95 []
 
static const uint8_t order_MODE_10k2 []
 
static const uint8_t order_MODE_12k2 []
 
static const uint8_t *const amr_unpacking_bitmaps_per_mode [N_MODES]
 position of the bitmapping data for each packet type in the AMRNBFrame More...
 
static const uint8_t frame_sizes_nb [N_MODES]
 number of bytes for each mode More...
 
static const uint8_t base_five_table [128][3]
 Base-5 representation for values 0-124. More...
 
static const int8_t lsp_sub4_init [10]
 Values for the lsp vector from the 4th subframe of the previous subframe values. More...
 
static const int16_t lsp_avg_init [10]
 Mean lsp values. More...
 
static const int16_t lsf_3_3_MODE_5k15 [128][4]
 
static const int16_t lsf_3_1_MODE_7k95 [512][3]
 
static const int16_t lsf_3_1 [256][3]
 
static const int16_t lsf_3_2 [512][3]
 
static const int16_t lsf_3_3 [512][4]
 
static const int16_t lsf_5_1 [128][4]
 
static const int16_t lsf_5_2 [256][4]
 
static const int16_t lsf_5_3 [256][4]
 
static const int16_t lsf_5_4 [256][4]
 
static const int16_t lsf_5_5 [64][4]
 
static const float lsf_3_mean [10]
 
static const float lsf_5_mean [10]
 
static const float pred_fac [10]
 Prediction factor table for modes other than 12.2kbit/s. More...
 
static const uint8_t pulses_nb_per_mode [] = {2, 2, 2, 3, 4, 4, 8, 10}
 number of pulses per mode More...
 
static const uint8_t track_position [16]
 track start positions for algebraic code book routines More...
 
static const uint8_t gray_decode [8] = { 0, 5, 15, 10, 25, 30, 20, 35 }
 3-bit Gray code to binary lookup table More...
 
static const uint16_t qua_gain_pit [16]
 scalar quantized pitch gain table for 7.95 and 12.2 kbps modes More...
 
static const uint16_t qua_gain_code [32]
 scalar quantized fixed gain table for 7.95 and 12.2 kbps modes More...
 
static const float energy_mean [8]
 desired mean innovation energy, indexed by active mode More...
 
static const float energy_pred_fac [4] = { 0.19, 0.34, 0.58, 0.68 }
 4-tap moving average prediction coefficients in reverse order More...
 
static const uint16_t gains_MODE_4k75 [512][2]
 gain table for 4.75 kbps mode More...
 
static const uint16_t gains_high [128][2]
 gain table for 6.70, 7.40 and 10.2 kbps modes More...
 
static const uint16_t gains_low [64][2]
 gain table for 5.15 and 5.90 kbps modes More...
 
static const float ir_filter_strong_MODE_7k95 [40]
 impulse response filter tables converted to float from Q15 int32_t used for anti-sparseness processing More...
 
static const float ir_filter_strong [40]
 
static const float ir_filter_medium [40]
 
static const float *const ir_filters_lookup [2]
 
static const float *const ir_filters_lookup_MODE_7k95 [2]
 
static const float highpass_zeros [2] = { -2.0, 1.0 }
 
static const float highpass_poles [2] = { -1.933105469, 0.935913085 }
 
static const float highpass_gain = 0.939819335
 

Detailed Description

AMR narrowband data and definitions.

Definition in file amrnbdata.h.

Macro Definition Documentation

#define AMR_BIT (   field)    (offsetof(AMRNBFrame, field))

The index of a frame parameter.

Definition at line 74 of file amrnbdata.h.

#define AMR_OF (   frame_num,
  variable 
)    AMR_BIT(subframe[frame_num].variable)

The index of a subframe-specific parameter.

Definition at line 76 of file amrnbdata.h.

#define AMR_SUBFRAME_SIZE   40

samples per subframe

Definition at line 36 of file amrnbdata.h.

Referenced by amrnb_decode_frame(), apply_ir_filter(), decode_pitch_vector(), postfilter(), synthesis(), and update_state().

Typedef Documentation

typedef struct AMRNBFrame AMRNBFrame

AMRNB unpacked data frame.

typedef struct AMRNBSubframe AMRNBSubframe

AMRNB unpacked data subframe.

Enumeration Type Documentation

enum Mode

Frame type (Table 1a in 3GPP TS 26.101)

Enumerator
MODE_4k75 

4.75 kbit/s

MODE_5k15 

5.15 kbit/s

MODE_5k9 

5.90 kbit/s

MODE_6k7 

6.70 kbit/s

MODE_7k4 

7.40 kbit/s

MODE_7k95 

7.95 kbit/s

MODE_10k2 

10.2 kbit/s

MODE_12k2 

12.2 kbit/s

MODE_DTX 

silent frame

N_MODES 

number of modes

NO_DATA 

no transmission

MODE_6k60 

6.60 kbit/s

MODE_8k85 

8.85 kbit/s

MODE_12k65 

12.65 kbit/s

MODE_14k25 

14.25 kbit/s

MODE_15k85 

15.85 kbit/s

MODE_18k25 

18.25 kbit/s

MODE_19k85 

19.85 kbit/s

MODE_23k05 

23.05 kbit/s

MODE_23k85 

23.85 kbit/s

MODE_SID 

comfort noise frame

SP_LOST 

speech lost

NO_DATA 

no transmission

Definition at line 39 of file amrnbdata.h.

Variable Documentation

const uint8_t* const amr_unpacking_bitmaps_per_mode[N_MODES]
static
Initial value:
= {
}
static const uint8_t order_MODE_7k95[]
Definition: amrnbdata.h:206
static const uint8_t order_MODE_12k2[]
Definition: amrnbdata.h:280
static const uint8_t order_MODE_5k9[]
Definition: amrnbdata.h:129
static const uint8_t order_MODE_6k7[]
Definition: amrnbdata.h:152
static const uint8_t order_MODE_7k4[]
Definition: amrnbdata.h:179
static const uint8_t order_MODE_4k75[]
Definition: amrnbdata.h:85
static const uint8_t order_MODE_10k2[]
Definition: amrnbdata.h:237
static const uint8_t order_MODE_5k15[]
Definition: amrnbdata.h:106

position of the bitmapping data for each packet type in the AMRNBFrame

Definition at line 345 of file amrnbdata.h.

Referenced by unpack_bitstream().

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

Base-5 representation for values 0-124.

This is useful for decoding pulse positions in 10.2 kbit/s frames. Safe values are provided for out of range positions 125-127.

Definition at line 367 of file amrnbdata.h.

Referenced by decode_10bit_pulse().

const float energy_mean[8]
static
Initial value:
= {
33.0, 33.0, 33.0, 28.75, 30.0, 36.0, 33.0, 36.0
}

desired mean innovation energy, indexed by active mode

Definition at line 1458 of file amrnbdata.h.

Referenced by amrnb_decode_frame().

const float energy_pred_fac[4] = { 0.19, 0.34, 0.58, 0.68 }
static

4-tap moving average prediction coefficients in reverse order

Definition at line 1463 of file amrnbdata.h.

Referenced by amrnb_decode_frame(), and amrwb_decode_frame().

const uint8_t frame_sizes_nb[N_MODES]
static
Initial value:
= {
12, 13, 15, 17, 19, 20, 26, 31, 5
}

number of bytes for each mode

Definition at line 357 of file amrnbdata.h.

Referenced by amrnb_decode_frame(), and unpack_bitstream().

const uint16_t gains_high[128][2]
static
Initial value:
= {
{ 577, 662}, { 806, 1836}, { 3109, 1052}, { 4181, 1387}, { 2373, 1425},
{ 3248, 1985}, { 1827, 2320}, { 941, 3314}, { 2351, 2977}, { 3616, 2420},
{ 3451, 3096}, { 2955, 4301}, { 1848, 4500}, { 3884, 5416}, { 1187, 7210},
{ 3083, 9000}, { 7384, 883}, { 5962, 1506}, { 5155, 2134}, { 7944, 2009},
{ 6507, 2250}, { 7670, 2752}, { 5952, 3016}, { 4898, 3764}, { 6989, 3588},
{ 8174, 3978}, { 6064, 4404}, { 7709, 5087}, { 5523, 6021}, { 7769, 7126},
{ 6060, 7938}, { 5594,11487}, {10581, 1356}, { 9049, 1597}, { 9794, 2035},
{ 8946, 2415}, {10296, 2584}, { 9407, 2734}, { 8700, 3218}, { 9757, 3395},
{10177, 3892}, { 9170, 4528}, {10152, 5004}, { 9114, 5735}, {10500, 6266},
{10110, 7631}, { 8844, 8727}, { 8956,12496}, {12924, 976}, {11435, 1755},
{12138, 2328}, {11388, 2368}, {10700, 3064}, {12332, 2861}, {11722, 3327},
{11270, 3700}, {10861, 4413}, {12082, 4533}, {11283, 5205}, {11960, 6305},
{11167, 7534}, {12128, 8329}, {10969,10777}, {10300,17376}, {13899, 1681},
{12580, 2045}, {13265, 2439}, {14033, 2989}, {13452, 3098}, {12396, 3658},
{13510, 3780}, {12880, 4272}, {13533, 4861}, {12667, 5457}, {13854, 6106},
{13031, 6483}, {13557, 7721}, {12957, 9311}, {13714,11551}, {12591,15206},
{15113, 1540}, {15072, 2333}, {14527, 2511}, {14692, 3199}, {15382, 3560},
{14133, 3960}, {15102, 4236}, {14332, 4824}, {14846, 5451}, {15306, 6083},
{14329, 6888}, {15060, 7689}, {14406, 9426}, {15387, 9741}, {14824,14271},
{13600,24939}, {16396, 1969}, {16817, 2832}, {15713, 2843}, {16104, 3336},
{16384, 3963}, {16940, 4579}, {15711, 4599}, {16222, 5448}, {16832, 6382},
{15745, 7141}, {16326, 7469}, {16611, 8624}, {17028,10418}, {15905,11817},
{16878,14690}, {16515,20870}, {18142, 2083}, {19401, 3178}, {17508, 3426},
{20054, 4027}, {18069, 4249}, {18952, 5066}, {17711, 5402}, {19835, 6192},
{17950, 7014}, {21318, 7877}, {17910, 9289}, {19144, 9290}, {20517,11381},
{18075,14485}, {19999,17882}, {18842,32764}
}

gain table for 6.70, 7.40 and 10.2 kbps modes

second index is {pitch_gain, fixed_gain_factor}

Definition at line 1578 of file amrnbdata.h.

Referenced by decode_gains().

const uint16_t gains_low[64][2]
static
Initial value:
= {
{10813,28753}, {20480, 2785}, {18841, 6594}, { 6225, 7413}, {17203,10444},
{21626, 1269}, {21135, 4423}, {11304, 1556}, {19005,12820}, {17367, 2498},
{17858, 4833}, { 9994, 2498}, {17530, 7864}, {14254, 1884}, {15892, 3153},
{ 6717, 1802}, {18186,20193}, {18022, 3031}, {16711, 5857}, { 8847, 4014},
{15892, 8970}, {18022, 1392}, {16711, 4096}, { 8192, 655}, {15237,13926},
{14254, 3112}, {14090, 4669}, { 5406, 2703}, {13434, 6553}, {12451, 901},
{12451, 2662}, { 3768, 655}, {14745,23511}, {19169, 2457}, {20152, 5079},
{ 6881, 4096}, {20480, 8560}, {19660, 737}, {19005, 4259}, { 7864, 2088},
{11468,12288}, {15892, 1474}, {15728, 4628}, { 9175, 1433}, {16056, 7004},
{14827, 737}, {15073, 2252}, { 5079, 1228}, {13271,17326}, {16547, 2334},
{15073, 5816}, { 3932, 3686}, {14254, 8601}, {16875, 778}, {15073, 3809},
{ 6062, 614}, { 9338, 9256}, {13271, 1761}, {13271, 3522}, { 2457, 1966},
{11468, 5529}, {10485, 737}, {11632, 3194}, { 1474, 778}
}

gain table for 5.15 and 5.90 kbps modes

second index is {pitch_gain, fixed_gain_factor}

Definition at line 1610 of file amrnbdata.h.

Referenced by decode_gains().

const uint16_t gains_MODE_4k75[512][2]
static

gain table for 4.75 kbps mode

first index has even/odd indexes for subframes 0,2/1,3 second index is {pitch_gain, fixed_gain_factor}

Definition at line 1469 of file amrnbdata.h.

Referenced by decode_gains().

const uint8_t gray_decode[8] = { 0, 5, 15, 10, 25, 30, 20, 35 }
static

3-bit Gray code to binary lookup table

Definition at line 1438 of file amrnbdata.h.

Referenced by decode_fixed_sparse().

const float highpass_gain = 0.939819335
static

Definition at line 1669 of file amrnbdata.h.

Referenced by amrnb_decode_frame().

const float highpass_poles[2] = { -1.933105469, 0.935913085 }
static

Definition at line 1668 of file amrnbdata.h.

Referenced by amrnb_decode_frame().

const float highpass_zeros[2] = { -2.0, 1.0 }
static

Definition at line 1667 of file amrnbdata.h.

Referenced by amrnb_decode_frame().

const float ir_filter_medium[40]
static
Initial value:
= {
0.923889, 0.116913, -0.123169, 0.090698, -0.031982, -0.030579, 0.075592,
-0.092865, 0.085907, -0.068085, 0.053497, -0.049164, 0.052307, -0.054169,
0.047089, -0.030762, 0.013092, -0.005157, 0.014404, -0.038574, 0.066406,
-0.082581, 0.076996, -0.049469, 0.010498, 0.025208, -0.046661, 0.052612,
-0.050568, 0.051910, -0.062958, 0.080688, -0.093384, 0.088409, -0.060364,
0.016998, 0.023804, -0.041779, 0.025696, 0.019989,
}

Definition at line 1649 of file amrnbdata.h.

const float ir_filter_strong[40]
static
Initial value:
= {
0.448303, 0.351501, 0.038696, -0.084259, -0.173065, 0.229309, -0.001068,
-0.085663, -0.092773, 0.147186, 0.090088, -0.257080, 0.115509, 0.044403,
0.066498, -0.263580, 0.245697, -0.064178, -0.044373, 0.023712, 0.033813,
-0.072784, 0.068787, -0.011078, -0.020569, -0.064178, 0.184509, -0.173370,
0.032715, 0.095306, -0.154358, 0.162109, -0.071075, -0.113770, 0.211304,
-0.118683, 0.020599, -0.054169, 0.000885, 0.309601,
}

Definition at line 1640 of file amrnbdata.h.

const float ir_filter_strong_MODE_7k95[40]
static
Initial value:
= {
0.817169, 0.024445, 0.076447, -0.020844, -0.042175, 0.017761, 0.018433,
-0.038879, 0.107147, -0.179871, 0.138367, -0.015228, -0.059204, 0.091888,
-0.154358, 0.171326, -0.060730, -0.032379, -0.044525, 0.135559, -0.021362,
-0.162811, 0.140656, 0.013794, -0.017975, -0.102295, 0.090118, 0.038666,
-0.036987, -0.079041, 0.052826, 0.112000, -0.136566, -0.029755, 0.134003,
-0.077423, 0.028961, -0.041595, -0.029877, 0.174988,
}

impulse response filter tables converted to float from Q15 int32_t used for anti-sparseness processing

Definition at line 1631 of file amrnbdata.h.

const float* const ir_filters_lookup[2]
static
Initial value:
= {
}
static const float ir_filter_medium[40]
Definition: amrnbdata.h:1649
static const float ir_filter_strong[40]
Definition: amrnbdata.h:1640

Definition at line 1658 of file amrnbdata.h.

Referenced by anti_sparseness().

const float* const ir_filters_lookup_MODE_7k95[2]
static
Initial value:
= {
}
static const float ir_filter_medium[40]
Definition: amrnbdata.h:1649
static const float ir_filter_strong_MODE_7k95[40]
impulse response filter tables converted to float from Q15 int32_t used for anti-sparseness processin...
Definition: amrnbdata.h:1631

Definition at line 1661 of file amrnbdata.h.

Referenced by anti_sparseness().

const int16_t lsf_3_1[256][3]
static

Definition at line 633 of file amrnbdata.h.

Referenced by lsf2lsp_3().

const int16_t lsf_3_1_MODE_7k95[512][3]
static

Definition at line 459 of file amrnbdata.h.

Referenced by lsf2lsp_3().

const int16_t lsf_3_2[512][3]
static

Definition at line 723 of file amrnbdata.h.

Referenced by lsf2lsp_3().

const int16_t lsf_3_3[512][4]
static

Definition at line 897 of file amrnbdata.h.

Referenced by lsf2lsp_3().

const int16_t lsf_3_3_MODE_5k15[128][4]
static

Definition at line 413 of file amrnbdata.h.

Referenced by lsf2lsp_3().

const float lsf_3_mean[10]
static
Initial value:
= {
377.441, 554.688, 922.363, 1339.84, 1702.15,
2046.390, 2452.880, 2741.460, 3116.70, 3348.14
}

Definition at line 1409 of file amrnbdata.h.

Referenced by lsf2lsp_3().

const int16_t lsf_5_1[128][4]
static

Definition at line 1071 of file amrnbdata.h.

Referenced by lsf2lsp_5().

const int16_t lsf_5_2[256][4]
static

Definition at line 1117 of file amrnbdata.h.

Referenced by lsf2lsp_5().

const int16_t lsf_5_3[256][4]
static

Definition at line 1206 of file amrnbdata.h.

Referenced by lsf2lsp_5().

const int16_t lsf_5_4[256][4]
static

Definition at line 1295 of file amrnbdata.h.

Referenced by lsf2lsp_5().

const int16_t lsf_5_5[64][4]
static
Initial value:
= {
{-1002, -929,-1096,-1203}, { -641, -931, -604, -961}, { -779, -673, -835, -788},
{ -416, -664, -458, -766}, { -652, -521, -662, -495}, {-1023, -509,-1023, -428},
{ -444, -552, -368, -449}, { -479, -211,-1054, -903}, { -316, -249, -569, -591},
{ -569, -275, -541, -191}, { -716, -188, -842, -264}, { -333, -248, -318, -228},
{ -275, 1, -567, -228}, { -115, -221, -238, -374}, { -197, -507, -222, -579},
{ -258, -432, -61, -244}, { -345, 2, -338, 39}, { -215, -169, -58, 0},
{ -56, -6, -203, -131}, { 1, -186, -5, -211}, { 6, -380, 11, -418},
{ -116, 131, -134, 113}, { 89, -4, 71, -2}, { -19, -192, 262, 24},
{ 189, 151, -133, -109}, { 186, -153, 166, -219}, { 37, 139, 193, 171},
{ 337, 124, 158, -61}, { 141, 226, -13, 190}, { 231, 34, 354, 109},
{ 316, 201, 244, 164}, { 330, -85, 390, -84}, { 254, 327, 257, 335},
{ 491, 147, 476, 105}, { 54, 77, 437, 370}, { 421, 314, 449, 342},
{ 329, 126, 673, 292}, { 571, 388, 243, 193}, { 653, 320, 621, 280},
{ 194, 380, 517, 581}, { 45, 323, 111, 422}, { 489, 395, 734, 534},
{ 622, 546, 486, 502}, { 318, 572, 189, 550}, { 385, 422, -157, 153},
{ -125, 382, -197, 386}, { -263, 334, 228, 697}, { -188, 1, 51, 297},
{ -507, 213, -376, 397}, { -24, 255, -547, 89}, { -502, -94, 387, 179},
{ -620, 68, -684, 112}, { -642, -350, -260, 172}, { -438, -324, 264, 648},
{ -964, -4,-1121, 7}, { -134, 134,-1133, -306}, { 143, 96, -420, -497},
{-1221, -350,-1527, -685}, { -161, 72, 873, 691}, { 732, 283, 921, 353},
{ 334, 475, 1095, 821}, { 864, 524, 843, 497}, { 714, 711, 788, 750},
{ 1076, 714, 1204, 753}
}

Definition at line 1384 of file amrnbdata.h.

Referenced by lsf2lsp_5().

const float lsf_5_mean[10]
static
Initial value:
= {
337.891, 507.080, 834.961, 1247.07, 1646.00,
1982.910, 2407.960, 2708.010, 3104.00, 3344.97
}

Definition at line 1414 of file amrnbdata.h.

Referenced by lsf2lsp_5().

const int16_t lsp_avg_init[10]
static
Initial value:
= {
1384, 2077, 3420, 5108, 6742, 8122, 9863, 11092, 12714, 13701
}

Mean lsp values.

Note
: Taken from Decoder_amr_reset in Q15

Definition at line 404 of file amrnbdata.h.

Referenced by amrnb_decode_init().

const int8_t lsp_sub4_init[10]
static
Initial value:
= {
30, 26, 21, 15, 8, 0, -8, -15, -21, -26
}

Values for the lsp vector from the 4th subframe of the previous subframe values.

Note
: Taken from Decoder_amr_reset in Q15 using val/1000

Definition at line 395 of file amrnbdata.h.

Referenced by amrnb_decode_init().

const uint8_t order_MODE_10k2[]
static

Definition at line 237 of file amrnbdata.h.

const uint8_t order_MODE_12k2[]
static

Definition at line 280 of file amrnbdata.h.

const uint8_t order_MODE_4k75[]
static
Initial value:
= {
8, (offsetof(AMRNBFrame, lsf[0] )), 7, 6, 5, 4, 3, 2, 1, 0,
8, (offsetof(AMRNBFrame, lsf[1] )), 15, 14, 13, 12, 11, 10, 9, 8,
7, (offsetof(AMRNBFrame, lsf[2] )), 51, 35, 34, 50, 33, 49, 32,
8, (offsetof(AMRNBFrame, subframe[ 0 ]. p_lag )), 23, 22, 21, 20, 19, 18, 43, 42,
8, (offsetof(AMRNBFrame, subframe[ 0 ]. p_gain )), 54, 55, 40, 41, 24, 25, 26, 27,
7, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[0] )), 92, 68, 67, 84, 66, 65, 80,
2, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[1] )), 53, 52,
4, (offsetof(AMRNBFrame, subframe[ 1 ]. p_lag )), 17, 16, 48, 63,
7, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[0] )), 91, 64, 79, 83, 78, 77, 95,
2, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[1] )), 62, 61,
4, (offsetof(AMRNBFrame, subframe[ 2 ]. p_lag )), 31, 30, 60, 59,
8, (offsetof(AMRNBFrame, subframe[ 2 ]. p_gain )), 44, 45, 46, 47, 36, 37, 38, 39,
7, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[0] )), 90, 76, 75, 82, 74, 73, 94,
2, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[1] )), 58, 57,
4, (offsetof(AMRNBFrame, subframe[ 3 ]. p_lag )), 29, 28, 56, 71,
7, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[0] )), 89, 72, 87, 81, 86, 85, 93,
2, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[1] )), 70, 69,
0
}
AMRNB unpacked data frame.
Definition: amrnbdata.h:68
static const int8_t pulses[4]
Number of non-zero pulses in the MP-MLQ excitation.
Definition: g723_1_data.h:608

Definition at line 85 of file amrnbdata.h.

const uint8_t order_MODE_5k15[]
static
Initial value:
= {
8, (offsetof(AMRNBFrame, lsf[0] )), 0, 1, 2, 3, 4, 5, 6, 7,
8, (offsetof(AMRNBFrame, lsf[1] )), 8, 9, 10, 11, 12, 13, 14, 15,
7, (offsetof(AMRNBFrame, lsf[2] )), 70, 51, 43, 71, 50, 60, 49,
8, (offsetof(AMRNBFrame, subframe[ 0 ]. p_lag )), 23, 22, 21, 20, 19, 47, 54, 59,
6, (offsetof(AMRNBFrame, subframe[ 0 ]. p_gain )), 48, 42, 35, 29, 30, 31,
7, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[0] )), 92, 84, 82, 100, 79, 72, 88,
2, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[1] )), 67, 68,
4, (offsetof(AMRNBFrame, subframe[ 1 ]. p_lag )), 18, 46, 53, 58,
6, (offsetof(AMRNBFrame, subframe[ 1 ]. p_gain )), 63, 41, 34, 26, 27, 28,
7, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[0] )), 91, 83, 81, 99, 78, 87, 103,
2, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[1] )), 65, 66,
4, (offsetof(AMRNBFrame, subframe[ 2 ]. p_lag )), 17, 45, 52, 57,
6, (offsetof(AMRNBFrame, subframe[ 2 ]. p_gain )), 62, 40, 33, 39, 24, 25,
7, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[0] )), 90, 80, 95, 98, 77, 86, 102,
2, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[1] )), 75, 64,
4, (offsetof(AMRNBFrame, subframe[ 3 ]. p_lag )), 16, 44, 56, 69,
6, (offsetof(AMRNBFrame, subframe[ 3 ]. p_gain )), 61, 55, 32, 36, 37, 38,
7, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[0] )), 89, 94, 93, 97, 76, 85, 101,
2, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[1] )), 73, 74,
0
}
AMRNB unpacked data frame.
Definition: amrnbdata.h:68
static const int8_t pulses[4]
Number of non-zero pulses in the MP-MLQ excitation.
Definition: g723_1_data.h:608

Definition at line 106 of file amrnbdata.h.

const uint8_t order_MODE_5k9[]
static
Initial value:
= {
8, (offsetof(AMRNBFrame, lsf[0] )), 7, 6, 0, 3, 5, 4, 2, 1,
9, (offsetof(AMRNBFrame, lsf[1] )), 13, 12, 8, 11, 10, 15, 9, 14, 23,
9, (offsetof(AMRNBFrame, lsf[2] )), 71, 56, 60, 70, 59, 57, 58, 69, 76,
8, (offsetof(AMRNBFrame, subframe[ 0 ]. p_lag )), 16, 18, 22, 20, 30, 38, 44, 42,
6, (offsetof(AMRNBFrame, subframe[ 0 ]. p_gain )), 75, 48, 52, 40, 34, 26,
9, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[0] )), 101, 89, 93, 117, 105, 81, 85, 109, 97,
2, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[1] )), 67, 78,
4, (offsetof(AMRNBFrame, subframe[ 1 ]. p_lag )), 28, 36, 46, 87,
6, (offsetof(AMRNBFrame, subframe[ 1 ]. p_gain )), 74, 63, 51, 55, 33, 25,
9, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[0] )), 100, 88, 92, 116, 104, 80, 84, 108, 96,
2, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[1] )), 64, 79,
8, (offsetof(AMRNBFrame, subframe[ 2 ]. p_lag )), 31, 17, 21, 19, 29, 37, 43, 41,
6, (offsetof(AMRNBFrame, subframe[ 2 ]. p_gain )), 73, 62, 50, 54, 32, 24,
9, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[0] )), 99, 103, 91, 115, 119, 95, 83, 107, 111,
2, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[1] )), 66, 77,
4, (offsetof(AMRNBFrame, subframe[ 3 ]. p_lag )), 27, 35, 45, 86,
6, (offsetof(AMRNBFrame, subframe[ 3 ]. p_gain )), 72, 61, 49, 53, 47, 39,
9, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[0] )), 98, 102, 90, 114, 118, 94, 82, 106, 110,
2, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[1] )), 65, 68,
0
}
AMRNB unpacked data frame.
Definition: amrnbdata.h:68
static const int8_t pulses[4]
Number of non-zero pulses in the MP-MLQ excitation.
Definition: g723_1_data.h:608

Definition at line 129 of file amrnbdata.h.

const uint8_t order_MODE_6k7[]
static
Initial value:
= {
8, (offsetof(AMRNBFrame, lsf[0] )), 7, 6, 15, 4, 5, 3, 2, 0,
9, (offsetof(AMRNBFrame, lsf[1] )), 14, 13, 8, 12, 10, 1, 9, 11, 29,
9, (offsetof(AMRNBFrame, lsf[2] )), 57, 58, 50, 56, 60, 59, 49, 71, 70,
8, (offsetof(AMRNBFrame, subframe[ 0 ]. p_lag )), 17, 19, 23, 21, 31, 24, 32, 52,
7, (offsetof(AMRNBFrame, subframe[ 0 ]. p_gain )), 36, 82, 69, 46, 42, 48, 77,
11, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[0] )), 109, 97, 133, 121, 101, 89, 125, 113, 93, 117,
105,
3, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[1] )), 81, 73, 65,
4, (offsetof(AMRNBFrame, subframe[ 1 ]. p_lag )), 28, 26, 38, 54,
7, (offsetof(AMRNBFrame, subframe[ 1 ]. p_gain )), 35, 83, 68, 45, 41, 63, 76,
11, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[0] )), 108, 96, 132, 120, 100, 88, 124, 112, 92, 116,
104,
3, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[1] )), 80, 72, 64,
8, (offsetof(AMRNBFrame, subframe[ 2 ]. p_lag )), 16, 18, 22, 20, 30, 39, 47, 51,
7, (offsetof(AMRNBFrame, subframe[ 2 ]. p_gain )), 34, 84, 67, 44, 40, 62, 75,
11, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[0] )), 107, 111, 131, 135, 99, 103, 123, 127, 91, 115,
119,
3, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[1] )), 95, 87, 79,
4, (offsetof(AMRNBFrame, subframe[ 3 ]. p_lag )), 27, 25, 37, 53,
7, (offsetof(AMRNBFrame, subframe[ 3 ]. p_gain )), 33, 85, 66, 43, 55, 61, 74,
11, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[0] )), 106, 110, 130, 134, 98, 102, 122, 126, 90, 114,
118,
3, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[1] )), 94, 86, 78,
0
}
AMRNB unpacked data frame.
Definition: amrnbdata.h:68
static const int8_t pulses[4]
Number of non-zero pulses in the MP-MLQ excitation.
Definition: g723_1_data.h:608

Definition at line 152 of file amrnbdata.h.

const uint8_t order_MODE_7k4[]
static
Initial value:
= {
8, (offsetof(AMRNBFrame, lsf[0] )), 7, 6, 5, 4, 3, 2, 1, 0,
9, (offsetof(AMRNBFrame, lsf[1] )), 15, 14, 13, 12, 11, 10, 9, 8, 23,
9, (offsetof(AMRNBFrame, lsf[2] )), 53, 52, 51, 58, 40, 55, 54, 57, 56,
8, (offsetof(AMRNBFrame, subframe[ 0 ]. p_lag )), 22, 20, 18, 16, 30, 50, 95, 94,
7, (offsetof(AMRNBFrame, subframe[ 0 ]. p_gain )), 28, 24, 73, 36, 32, 62, 67,
13, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[0] )), 127, 123, 135, 131, 143, 139, 151, 103, 102, 101,
100, 99, 98,
4, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[1] )), 83, 75, 79, 71,
5, (offsetof(AMRNBFrame, subframe[ 1 ]. p_lag )), 44, 42, 49, 93, 92,
7, (offsetof(AMRNBFrame, subframe[ 1 ]. p_gain )), 27, 39, 72, 35, 47, 61, 66,
13, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[0] )), 126, 122, 134, 130, 142, 138, 150, 97, 96, 111,
110, 109, 108,
4, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[1] )), 82, 74, 78, 70,
8, (offsetof(AMRNBFrame, subframe[ 2 ]. p_lag )), 21, 19, 17, 31, 29, 48, 91, 90,
7, (offsetof(AMRNBFrame, subframe[ 2 ]. p_gain )), 26, 38, 87, 34, 46, 60, 65,
13, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[0] )), 125, 121, 133, 129, 141, 137, 149, 107, 106, 105,
104, 119, 118,
4, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[1] )), 81, 85, 77, 69,
5, (offsetof(AMRNBFrame, subframe[ 3 ]. p_lag )), 43, 41, 63, 89, 88,
7, (offsetof(AMRNBFrame, subframe[ 3 ]. p_gain )), 25, 37, 86, 33, 45, 59, 64,
13, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[0] )), 124, 120, 132, 128, 140, 136, 148, 117, 116, 115,
114, 113, 112,
4, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[1] )), 80, 84, 76, 68,
0
}
AMRNB unpacked data frame.
Definition: amrnbdata.h:68
static const int8_t pulses[4]
Number of non-zero pulses in the MP-MLQ excitation.
Definition: g723_1_data.h:608

Definition at line 179 of file amrnbdata.h.

const uint8_t order_MODE_7k95[]
static
Initial value:
= {
9, (offsetof(AMRNBFrame, lsf[0] )), 67, 68, 1, 2, 3, 4, 5, 6, 7,
9, (offsetof(AMRNBFrame, lsf[1] )), 14, 13, 9, 12, 11, 0, 10, 15, 8,
9, (offsetof(AMRNBFrame, lsf[2] )), 18, 19, 23, 17, 22, 20, 21, 66, 65,
8, (offsetof(AMRNBFrame, subframe[ 0 ]. p_lag )), 44, 42, 40, 54, 52, 56, 64, 78,
4, (offsetof(AMRNBFrame, subframe[ 0 ]. p_gain )), 36, 32, 72, 80,
5, (offsetof(AMRNBFrame, subframe[ 0 ]. fixed_gain )), 16, 28, 24, 60, 84,
13, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[0] )), 135, 109, 144, 156, 120, 97, 148, 121, 101, 122,
123, 89, 124,
4, (offsetof(AMRNBFrame, subframe[ 0 ]. pulses[1] )), 125, 126, 127, 112,
6, (offsetof(AMRNBFrame, subframe[ 1 ]. p_lag )), 50, 48, 62, 70, 76, 74,
4, (offsetof(AMRNBFrame, subframe[ 1 ]. p_gain )), 35, 47, 87, 95,
5, (offsetof(AMRNBFrame, subframe[ 1 ]. fixed_gain )), 31, 27, 39, 59, 83,
13, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[0] )), 129, 108, 159, 155, 130, 96, 147, 131, 100, 132,
133, 88, 134,
4, (offsetof(AMRNBFrame, subframe[ 1 ]. pulses[1] )), 113, 114, 115, 116,
8, (offsetof(AMRNBFrame, subframe[ 2 ]. p_lag )), 43, 41, 55, 53, 51, 71, 79, 77,
4, (offsetof(AMRNBFrame, subframe[ 2 ]. p_gain )), 34, 46, 86, 94,
5, (offsetof(AMRNBFrame, subframe[ 2 ]. fixed_gain )), 30, 26, 38, 58, 82,
13, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[0] )), 139, 107, 158, 154, 140, 111, 146, 141, 99, 142,
143, 103, 128,
4, (offsetof(AMRNBFrame, subframe[ 2 ]. pulses[1] )), 105, 90, 91, 92,
6, (offsetof(AMRNBFrame, subframe[ 3 ]. p_lag )), 49, 63, 61, 69, 75, 73,
4, (offsetof(AMRNBFrame, subframe[ 3 ]. p_gain )), 33, 45, 85, 93,
5, (offsetof(AMRNBFrame, subframe[ 3 ]. fixed_gain )), 29, 25, 37, 57, 81,
13, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[0] )), 149, 106, 157, 153, 150, 110, 145, 151, 98, 136,
137, 102, 138,
4, (offsetof(AMRNBFrame, subframe[ 3 ]. pulses[1] )), 117, 118, 119, 104,
0
}
AMRNB unpacked data frame.
Definition: amrnbdata.h:68
static const int8_t pulses[4]
Number of non-zero pulses in the MP-MLQ excitation.
Definition: g723_1_data.h:608

Definition at line 206 of file amrnbdata.h.

const float pred_fac[10]
static
Initial value:
= {
0.291626, 0.328644, 0.383636, 0.405640, 0.438873,
0.355560, 0.323120, 0.298065, 0.262238, 0.197876,
}

Prediction factor table for modes other than 12.2kbit/s.

Definition at line 1420 of file amrnbdata.h.

Referenced by lsf2lsp_3().

const uint8_t pulses_nb_per_mode[] = {2, 2, 2, 3, 4, 4, 8, 10}
static

number of pulses per mode

Definition at line 1430 of file amrnbdata.h.

const uint16_t qua_gain_code[32]
static
Initial value:
= {
159, 206, 268, 349, 419, 482, 554, 637,
733, 842, 969, 1114, 1281, 1473, 1694, 1948,
2241, 2577, 2963, 3408, 3919, 4507, 5183, 5960,
6855, 7883, 9065, 10425, 12510, 16263, 21142, 27485
}

scalar quantized fixed gain table for 7.95 and 12.2 kbps modes

Definition at line 1450 of file amrnbdata.h.

Referenced by decode_gains().

const uint16_t qua_gain_pit[16]
static
Initial value:
= {
0, 3277, 6556, 8192, 9830, 11469, 12288, 13107,
13926, 14746, 15565, 16384, 17203, 18022, 18842, 19661
}

scalar quantized pitch gain table for 7.95 and 12.2 kbps modes

Definition at line 1444 of file amrnbdata.h.

Referenced by decode_gains().

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

track start positions for algebraic code book routines

Definition at line 1433 of file amrnbdata.h.

Referenced by decode_fixed_sparse().