⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabamrwb.c

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 C
📖 第 1 页 / 共 2 页
字号:
   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 + -