📄 tabamrwb.c
字号:
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
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,
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,
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,
7, 7, 7, 7, 7, 7, 7, 7
};
__ALIGN32 CONST short IspInitTbl[LP_ORDER] =
{
32138, 30274, 27246, 23170,
18205, 12540, 6393, 0,
-6393, -12540, -18205, -23170,
-27246, -30274, -32138, 1475
};
__ALIGN32 CONST short IsfInitTbl[LP_ORDER] =
{
1024, 2048, 3072, 4096,
5120, 6144, 7168, 8192,
9216, 10240, 11264, 12288,
13312, 14336, 15360, 3840
};
/* High Band encoding */
__ALIGN32 CONST short HPGainTbl[16] =
{
3624, 4673, 5597, 6479,
7425, 8378, 9324, 10264,
11210, 12206, 13391, 14844,
16770, 19655, 24289, 32728
};
__ALIGN32 CONST short Fir6k_7kTbl[31] =
{
-32, 47, 32, -27, -369, 1122,
-1421, 0, 3798, -8880, 12349, -10984,
3548, 7766, -18001, 22118, -18001, 7766,
3548, -10984, 12349, -8880, 3798, 0,
-1421, 1122, -369, -27, 32, 47,
-32
};
__ALIGN32 CONST short Fir7kTbl[31] =
{
-21, 47, -89, 146, -203, 229,
-177, 0, 335, -839, 1485, -2211,
2931, -3542, 3953, 28682, 3953, -3542,
2931, -2211, 1485, -839, 335, 0,
-177, 229, -203, 146, -89, 47,
-21
};
__ALIGN32 CONST short InterpolFracTbl[NUMBER_SUBFRAME] = {14746, 26214, 31457, 32767};
__ALIGN32 CONST short BCoeffHP50Tbl[3] = {4053, -8106, 4053};
__ALIGN32 CONST short ACoeffHP50Tbl[3] = {8192, 16211, -8021};
__ALIGN32 CONST short BCoeffHP400Tbl[3] = {915, -1830, 915};
__ALIGN32 CONST short ACoeffHP400Tbl[3] = {16384, 29280, -14160};
__ALIGN32 CONST short PCoeffDownUnusableTbl[7] = {32767, 31130, 29491, 24576, 7537, 1638, 328};
__ALIGN32 CONST short CCoeffDownUnusableTbl[7] = {32767, 16384, 8192, 8192, 8192, 4915, 3277};
__ALIGN32 CONST short PCoeffDownUsableTbl[7] = {32767, 32113, 31457, 24576, 7537, 1638, 328};
__ALIGN32 CONST short CCoeffDownUsableTbl[7] = {32767, 32113, 32113, 32113, 32113, 32113, 22938};
__ALIGN32 CONST short ACoeffTbl[4] = {8192, 21663, -19258, 5734};
__ALIGN32 CONST short BCoeffTbl[4] = {-3432, +10280, -10280, +3432};
/* number of parameters per modes (values must be <= MAX_PRM_SIZE!) */
enum _PRMNO_MR {
PRMNO_MR660 = 18,
PRMNO_MR8850 = 32,
PRMNO_MR12650 = 36,
PRMNO_MR14250 = 36,
PRMNO_MR15850 = 36,
PRMNO_MR18250 = 52,
PRMNO_MR19850 = 52,
PRMNO_MR23050 = 52,
PRMNO_MR23850 = 56,
PRMNO_MRDTX = 7
};
/* number of parameters per modes (values must be <= MAX_PRM_SIZE!) */
__ALIGN32 CONST short NumberPrmsTbl[NUM_OF_MODES] = {
PRMNO_MR660, PRMNO_MR8850, PRMNO_MR12650, PRMNO_MR14250,
PRMNO_MR15850, PRMNO_MR18250, PRMNO_MR19850, PRMNO_MR23050,
PRMNO_MR23850, PRMNO_MRDTX
};
/* parameter sizes (# of bits), one table per rate */
static __ALIGN32 CONST short NumberBits660Tbl[PRMNO_MR660] = {
1, /* VAD */
8, 8, 7, 7, 6, /* ISFs */
8, 12, 6, /* first subframe */
5, 12, 6, /* second subframe */
5, 12, 6, /* third subframe */
5, 12, 6, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits8850Tbl[PRMNO_MR8850] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
8, 5, 5, 5, 5, 6, /* first subframe */
5, 5, 5, 5, 5, 6, /* second subframe */
8, 5, 5, 5, 5, 6, /* third subframe */
5, 5, 5, 5, 5, 6, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits12650Tbl[PRMNO_MR12650] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
9, 1, 9, 9, 9, 9, 7, /* first subframe */
6, 1, 9, 9, 9, 9, 7, /* second subframe */
9, 1, 9, 9, 9, 9, 7, /* third subframe */
6, 1, 9, 9, 9, 9, 7, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits14250Tbl[PRMNO_MR14250] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
9, 1, 13, 13, 9, 9, 7, /* first subframe */
6, 1, 13, 13, 9, 9, 7, /* second subframe */
9, 1, 13, 13, 9, 9, 7, /* third subframe */
6, 1, 13, 13, 9, 9, 7, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits15850Tbl[PRMNO_MR15850] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
9, 1, 13, 13, 13, 13, 7, /* first subframe */
6, 1, 13, 13, 13, 13, 7, /* second subframe */
9, 1, 13, 13, 13, 13, 7, /* third subframe */
6, 1, 13, 13, 13, 13, 7, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits18250Tbl[PRMNO_MR18250] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
9, 1, 2, 2, 2, 2, 14, 14, 14, 14, 7, /* first subframe */
6, 1, 2, 2, 2, 2, 14, 14, 14, 14, 7, /* second subframe */
9, 1, 2, 2, 2, 2, 14, 14, 14, 14, 7, /* third subframe */
6, 1, 2, 2, 2, 2, 14, 14, 14, 14, 7, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits19850Tbl[PRMNO_MR19850] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
9, 1, 10, 10, 2, 2, 10, 10, 14, 14, 7, /* first subframe */
6, 1, 10, 10, 2, 2, 10, 10, 14, 14, 7, /* second subframe */
9, 1, 10, 10, 2, 2, 10, 10, 14, 14, 7, /* third subframe */
6, 1, 10, 10, 2, 2, 10, 10, 14, 14, 7, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits23050Tbl[PRMNO_MR23050] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
9, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, /* first subframe */
6, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, /* second subframe */
9, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, /* third subframe */
6, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBits23850Tbl[PRMNO_MR23850] = {
1, /* VAD */
8, 8, 6, 7, 7, 5, 5, /* ISFs */
9, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, 4, /* first subframe */
6, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, 4, /* second subframe */
9, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, 4, /* third subframe */
6, 1, 11, 11, 11, 11, 11, 11, 11, 11, 7, 4, /* fourth subframe */
};
static __ALIGN32 CONST short NumberBitsDTXTbl[PRMNO_MRDTX] = {
6, 6, 6, 5, 5, /* ISFs */
6, /* log_en_index */
1, /* CN_dith */
};
/* overall table with all parameter sizes for all modes */
__ALIGN32 CONST short *pNumberBitsTbl[NUM_OF_MODES] = {
NumberBits660Tbl, NumberBits8850Tbl, NumberBits12650Tbl, NumberBits14250Tbl,
NumberBits15850Tbl, NumberBits18250Tbl, NumberBits19850Tbl, NumberBits23050Tbl,
NumberBits23850Tbl, NumberBitsDTXTbl
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -