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

📄 g723codec.c

📁 视频会议源码
💻 C
📖 第 1 页 / 共 5 页
字号:
 ReadFromBitstream(&data,&bit,&dd,24); dst_line->lspID=dd;   //read adaptive codebook lag ReadFromBitstream(&data,&bit,&dd,7); if(dd<=123) //reject wrong data  dst_line->olp[0]=(short)dd+pitchmin; else {  dst_line->Crc=1;  return;  }  ReadFromBitstream(&data,&bit,&dd,2); dst_line->closelag[1]=(short)dd;   ReadFromBitstream(&data,&bit,&dd,7); if(dd<=123)   dst_line->olp[1]=(short)dd+pitchmin; else{   dst_line->Crc=1;   return;   }    ReadFromBitstream(&data,&bit,&dd,2); dst_line->closelag[3]=(short)dd;  dst_line->closelag[0]=1; dst_line->closelag[2]=1;  //read gain for(j=0;j<4;j++) {   ReadFromBitstream(&data,&bit,&dd,12);   if((*rate==0)&&(dst_line->olp[j>>1]<(sfsize-2))) {      dst_line->traindrt[j]=(short)(dd>>11);      dd&=(short)0x7ff;      bound=85;      }   else{      dst_line->traindrt[j]=0;      bound=170;      }    dst_line->adptgid[j]=(short)(dd/FixedCodeGainLev);   if(dst_line->adptgid[j]<bound)      dst_line->ampindex[j]=(short)(dd%FixedCodeGainLev);   else{      dst_line->Crc=1;      return;      }   }    //read pulse grid  for(j=0;j<4;j++) {    ReadFromBitstream(&data,&bit,&dd,1);    dst_line->grid[j]=(short)dd;    }      //read pulse position and sign index  if(*rate==0) {//high rate    ReadFromBitstream(&data,&bit,&dd,1);                               //reject reserved bit    ReadFromBitstream(&data,&bit,&dd,13);                              //decode high 13 bits    dst_line->pos[0]=(int)(dd/90)/9;    dst_line->pos[1]=(int)(dd/90)%9;    dst_line->pos[2]=(int)(dd%90)/9;    dst_line->pos[3]=(int)(dd%90)%9;        ReadFromBitstream(&data,&bit,&dd,16);    dst_line->pos[0]=(int)dd+(dst_line->pos[0]<<16);    ReadFromBitstream(&data,&bit,&dd,14);    dst_line->pos[1]=(int)dd+(dst_line->pos[1]<<14);    ReadFromBitstream(&data,&bit,&dd,16);    dst_line->pos[2]=(int)dd+(dst_line->pos[2]<<16);    ReadFromBitstream(&data,&bit,&dd,14);    dst_line->pos[3]=(int)dd+(dst_line->pos[3]<<14);        ReadFromBitstream(&data,&bit,&dd,6);                           //decode pulse sign index    dst_line->sign[0]=(short)dd;    ReadFromBitstream(&data,&bit,&dd,5);    dst_line->sign[1]=(short)dd;    ReadFromBitstream(&data,&bit,&dd,6);    dst_line->sign[2]=(short)dd;    ReadFromBitstream(&data,&bit,&dd,5);    dst_line->sign[3]=(short)dd;    }  else{    for(j=0;j<4;j++) {      ReadFromBitstream(&data,&bit,&dd,12);      dst_line->pos[j]=(short)dd;      }    for(j=0;j<4;j++) {       ReadFromBitstream(&data,&bit,&dd,4);       dst_line->sign[j]=(short)dd;      }    }    return; }        /******Read bits from bitstream*****/void ReadFromBitstream(char **bstr,int *bits,int *dst,int len)          //*bits presents the bit to be read{ int i,tmp;// printf("Welcome to ReadFromBitstream\n"); *dst=0; for(i=0;i<len;i++) {  tmp=1<<(*bits);  tmp&=**bstr;  if(tmp>0)     (*dst)+=1<<i;  (*bits)++;  if(*bits>7) {    *bits=0;    (*bstr)++;    }  }  return;}short  Band0Tb8[LspCbSize*3] = {      0,      0,      0,   -270,  -1372,  -1032,   -541,  -1650,  -1382,   -723,  -2011,  -2213,   -941,  -1122,  -1942,   -780,  -1145,  -2454,   -884,  -1309,  -1373,  -1051,  -1523,  -1766,  -1083,  -1622,  -2300,   -777,  -1377,  -2147,   -935,  -1467,  -2763,   -802,  -1327,  -3471,   -935,  -1959,  -3999,   -240,    -89,    222,   -661,   -257,   -160,   -994,   -466,   -419,   -188,   -164,   -278,   -342,   -512,   -415,   -607,   -511,   -797,     16,     19,   -716,    374,    425,   -972,   -346,    245,   -282,   -265,    506,   -754,   -620,   -147,   1955,   -742,   -860,   2597,   -150,   -352,   2704,    305,    880,   1954,    123,    731,   2766,   -348,    765,   3327,    618,    221,   3258,   -178,    -47,   4219,    393,   1304,   3842,    698,   1702,   4801,     63,   -584,   1229,   -215,   -732,   1704,    172,   -335,   1909,     -2,    216,   1797,    353,    127,   2205,  -1208,    188,     11,   -513,    -75,   -683,   -973,    222,   -646,   -616,   -843,   -388,   -950,  -1113,   -359,  -1431,   -623,   -705,  -1398,  -1063,   -178,    -45,   -461,     35,     -9,   -657,   -216,    127,  -1078,     95,   -950,  -1156,    584,  -1480,  -1494,    449,   -120,   -705,    516,   -368,   -961,    727,   -378,   -526,    973,   -793,   -614,    676,   -801,   -755,   1287,  -1476,   -340,   1636,   -505,  -1254,   1543,  -1243,  -1622,   1532,   -776,  -1477,   -655,  -1151,  -1296,   -823,  -1153,  -1672,  -1124,  -1291,  -2003,  -1702,   -622,  -1283,     57,   -471,  -1611,    509,  -1060,  -1570,   -139,   -873,  -2156,   -536,  -1716,  -2021,   -364,  -2150,  -3218,  -1291,  -1248,  -1945,  -2904,  -1215,  -2633,  -2855,    167,   -244,     84,    349,   -412,   -217,    -40,   -352,    632,    227,   -529,    405,     68,   -383,   -443,    167,   -558,   -706,   -275,   -854,    -14,   -351,  -1089,   -449,    341,    -72,   -289,    603,   -106,   -474,    322,   -219,   -649,    179,   -317,   -998,    450,   -291,   -996,    555,    195,   -525,    784,    272,   -831,   -148,   -384,   -849,     82,   -536,  -1357,    238,   -172,  -1354,    422,   -268,  -1841,    297,   -737,  -2079,   -111,   -801,   -598,      1,   -668,   -984,   -131,   -818,  -1299,   -329,   -521,  -1310,   -151,   -778,  -1834,    -93,   -352,  -1746,   -568,   -640,  -1821,   -509,   -941,  -2183,    464,   -815,  -1250,     79,  -1133,  -1597,   -184,  -1353,  -2123,   -196,   -410,  -2427,   -192,   -833,  -2810,   -259,  -1382,  -3045,   -217,      4,  -1166,   -800,   -325,  -1219,   -363,   -830,   -898,   -661,  -1134,   -960,   -386,   -980,  -1501,   -627,  -1159,  -1722,   -903,   -829,   -855,   -685,   -829,  -1313,  -1065,   -959,  -1405,    441,     25,   -847,    655,    -27,  -1181,   1159,   -110,   -705,    856,    253,  -1671,    415,    404,     -1,    322,    903,   -398,    670,    499,   -292,    803,    591,   -610,   1144,    591,   -814,    717,    183,    393,    857,    381,    106,    609,     62,    -27,    792,    198,   -325,    735,    805,     88,   1142,    812,     78,   1028,    366,   -292,   1309,    743,   -237,   1615,    589,    -79,   1010,    639,   -243,    999,    964,   -311,   1500,   1137,   -615,    988,    357,    646,   1227,    667,    683,   1164,   1565,    894,   1392,   2015,    477,   1138,    533,    250,   1437,    896,    391,   1765,   1118,     99,   1112,   1090,    802,   1596,    846,   1134,    937,   1161,    279,   1719,   1254,    683,   1338,   1086,     35,   1419,   1324,    428,   1428,   1524,     40,   2108,   1594,     89,   1015,    544,   1222,   1121,    925,   1263,   1030,   1318,   1485,   1295,    789,   1817,   1323,   1272,   1909,   1724,   1237,   1803,   1797,   1689,    858,   2149,   1367,   1301,   2302,   1867,    761,   2863,   2351,   1053,     52,    163,    -76,    230,    309,   -492,    -71,    619,     39,   -218,    856,    499,   -654,    736,   -207,   -535,   1259,    155,   -480,   1476,    643,    262,   1081,    102,    309,   1592,   -182,    627,   1629,    534,    337,    643,    456,    758,    670,    713,    202,   1126,    658,    612,   1131,    666,    686,   1223,   1136,   -131,    377,    525,     42,    708,    907,     87,   1488,   1035,    432,   2117,    904,    137,    981,   1332,   -447,   1014,   1136,   -839,   1793,   1246,   -559,    297,    198,   -850,    685,    446,  -1273,    632,    826,   -401,   -544,    173,   -753,   -793,    144,   -436,     -9,    772,   -115,   -243,   1310,   -670,   -269,    374,  -1027,    -13,    639,   -887,    -81,   1137,  -1277,   -455,    158,  -1411,   -720,    736,    172,     88,    403,    386,    255,    756,   -500,    522,    910,   -958,    659,   1388,   -395,    301,   1344,   -356,    768,   1813,   -613,    841,   2419,    445,   -122,    252,    629,    -87,    723,    283,   -253,    870,    456,   -116,   1381,    757,    180,   1059,    532,    408,   1509,    947,    288,   1806,   1325,    994,   2524,    892,   1219,   3023,   1397,   1596,   3406,   1143,   1552,   2546,   1850,   1433,   2710,    -10,    134,   1002,    154,    499,   1323,    508,    792,   1117,    509,   1340,   1616,    762,    862,   1608,    787,    740,   2320,    794,   1727,   1283,    465,   2108,   1660,   -120,   1451,   1613,   -386,   2016,   2169,    891,   1225,   2050,    456,   1480,   2185,   1493,   1283,   1209,   1397,   1636,   1518,   1776,   1738,   1552,   1572,   1698,   2141,   1389,   2126,   1271,   1959,   2413,   1119,   1365,   2892,   1505,   2206,   1971,   1623,   2076,   1950,   2280,   1717,   2291,   1867,   2366,   2515,   1953,   2865,   2838,   2522,   2535,   3465,   2011,   3381,   4127,   2638,    836,   2667,   2289,   1761,   2773,   2337,   1415,   3325,   2911,   2354,   3138,   3126,   2659,   4192,   4010,   1048,   1786,   1818,   1242,   2111,   2240,   1512,   2079,   2780,   1573,   2491,   3138,   2230,   2377,   2782,    416,   1773,   2704,    725,   2336,   3297,   1252,   2373,   3978,   2094,   2268,   3568,   2011,   2712,   4528,   1341,   3507,   3876,   1216,   3919,   4922,   1693,   4793,   6012,   } ;/***  Band1Tb8:****  Purpose:**      Vector Quantize the second 3-vector of the 10 LSP parameters.****  Table Structure:**      8 bit, 256 entry table.*/short  Band1Tb8[LspCbSize*3] = {      0,      0,      0,  -2114,  -1302,     76,  -2652,  -1278,  -1368,  -2847,   -828,   -349,  -3812,  -2190,   -349,  -3946,   -364,   -449,  -2725,  -4492,  -3607,  -3495,  -4764,  -1744,    -51,   -756,     84,   -153,  -1191,    504,    108,  -1418,   1167,   -835,   -896,    390,   -569,  -1702,     87,  -1151,  -1818,    933,  -1826,  -2547,    411,  -1842,  -1818,   1451,  -2438,  -1611,    781,  -2747,  -2477,   1311,   -940,   1252,    477,  -1629,   1688,    602,  -1202,    617,    280,  -1737,    393,    580,  -1528,   1077,   1199,  -2165,   -161,   1408,  -2504,  -1087,   2371,  -3458,   -175,   1395,  -1397,    -98,   -843,  -2252,   -177,  -1149,  -1489,   -726,  -1283,  -1558,   -265,  -1744,  -1867,   -821,  -1897,  -2062,  -1516,  -2340,  -2595,  -1142,  -2861,    170,     46,   -819,   -193,   -204,  -1151,    326,   -196,  -1532,    780,    329,   -816,    201,    369,  -1243,    650,   -209,  -1060,   1144,    -15,  -1216,   1203,   -259,  -1867,   -890,   -564,  -1430,   -638,   -852,  -1921,    177,   -739,  -1358,   -261,   -526,  -1666,    206,   -407,  -2255,    338,   -526,   -822,    421,  -1095,  -1009,    765,   -607,  -1408,    825,  -1295,  -2004,    357,   -905,  -1815,    -58,  -1248,  -1588,   -596,  -1436,  -2046,    -73,  -1159,  -2116,   -115,  -1382,  -2581,   -160,  -1723,  -1952,     -6,  -2196,  -2954,   -649,  -1705,  -2603,   -617,  -1453,  -3282,   -949,  -2019,  -3102,   -812,   1544,   1937,  -1854,    574,   2000,  -1463,   1140,   2649,  -2683,   1748,   1452,  -2486,   2241,   2523,    783,   1910,   1435,    581,   2682,   1376,    236,   2197,   1885,   -453,   2943,   2057,   -682,   2178,   2565,  -1342,   3201,   3328,   -288,   -184,    262,    121,   -149,   -183,    758,   -412,    206,   1038,   -204,    853,   1577,   -457,    700,    937,   -640,   -567,   1508,   -528,  -1024,   -225,   -527,   -427,   -564,  -1095,   -332,   -742,   -353,   -186,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -