亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lpcfunc.c

?? G.729加解碼程序
?? C
字號(hào):
/*   ITU-T G.729A Speech Coder    ANSI-C Source Code   Version 1.1    Last modified: September 1996   Copyright (c) 1996,   AT&T, France Telecom, NTT, Universite de Sherbrooke   All rights reserved.*//*-------------------------------------------------------------* *  Procedure Lsp_Az:                                          * *            ~~~~~~                                           * *   Compute the LPC coefficients from lsp (order=10)          * *-------------------------------------------------------------*/#include "typedef.h"#include "basic_op.h"#include "oper_32b.h"#include "ld8a.h"#include "tab_ld8a.h"/* local function */static void Get_lsp_pol(Word16 *lsp, Word32 *f);void Lsp_Az(  Word16 lsp[],    /* (i) Q15 : line spectral frequencies            */  Word16 a[]       /* (o) Q12 : predictor coefficients (order = 10)  */){  Word16 i, j;  Word32 f1[6], f2[6];  Word32 t0;  Get_lsp_pol(&lsp[0],f1);  Get_lsp_pol(&lsp[1],f2);  for (i = 5; i > 0; i--)  {    f1[i] = L_add(f1[i], f1[i-1]);        /* f1[i] += f1[i-1]; */    f2[i] = L_sub(f2[i], f2[i-1]);        /* f2[i] -= f2[i-1]; */  }  a[0] = 4096;  for (i = 1, j = 10; i <= 5; i++, j--)  {    t0   = L_add(f1[i], f2[i]);                 /* f1[i] + f2[i]             */    a[i] = extract_l( L_shr_r(t0, 13) );        /* from Q24 to Q12 and * 0.5 */    t0   = L_sub(f1[i], f2[i]);                 /* f1[i] - f2[i]             */    a[j] = extract_l( L_shr_r(t0, 13) );        /* from Q24 to Q12 and * 0.5 */  }  return;}/*-----------------------------------------------------------* * procedure Get_lsp_pol:                                    * *           ~~~~~~~~~~~                                     * *   Find the polynomial F1(z) or F2(z) from the LSPs        * *-----------------------------------------------------------* *                                                           * * Parameters:                                               * *  lsp[]   : line spectral freq. (cosine domain)    in Q15  * *  f[]     : the coefficients of F1 or F2           in Q24  * *-----------------------------------------------------------*/static void Get_lsp_pol(Word16 *lsp, Word32 *f){  Word16 i,j, hi, lo;  Word32 t0;   /* All computation in Q24 */   *f = L_mult(4096, 2048);             /* f[0] = 1.0;             in Q24  */   f++;   *f = L_msu((Word32)0, *lsp, 512);    /* f[1] =  -2.0 * lsp[0];  in Q24  */   f++;   lsp += 2;                            /* Advance lsp pointer             */   for(i=2; i<=5; i++)   {     *f = f[-2];     for(j=1; j<i; j++, f--)     {       L_Extract(f[-1] ,&hi, &lo);       t0 = Mpy_32_16(hi, lo, *lsp);         /* t0 = f[-1] * lsp    */       t0 = L_shl(t0, 1);       *f = L_add(*f, f[-2]);                /* *f += f[-2]         */       *f = L_sub(*f, t0);                   /* *f -= t0            */     }     *f   = L_msu(*f, *lsp, 512);            /* *f -= lsp<<9        */     f   += i;                               /* Advance f pointer   */     lsp += 2;                               /* Advance lsp pointer */   }   return;}/*___________________________________________________________________________ |                                                                           | |   Functions : Lsp_lsf and Lsf_lsp                                         | |                                                                           | |      Lsp_lsf   Transformation lsp to lsf                                  | |      Lsf_lsp   Transformation lsf to lsp                                  | |---------------------------------------------------------------------------| |  Algorithm:                                                               | |                                                                           | |   The transformation from lsp[i] to lsf[i] and lsf[i] to lsp[i] are       | |   approximated by a look-up table and interpolation.                      | |___________________________________________________________________________|*/void Lsf_lsp(  Word16 lsf[],    /* (i) Q15 : lsf[m] normalized (range: 0.0<=val<=0.5) */  Word16 lsp[],    /* (o) Q15 : lsp[m] (range: -1<=val<1)                */  Word16 m         /* (i)     : LPC order                                */){  Word16 i, ind, offset;  Word32 L_tmp;  for(i=0; i<m; i++)  {    ind    = shr(lsf[i], 8);               /* ind    = b8-b15 of lsf[i] */    offset = lsf[i] & (Word16)0x00ff;      /* offset = b0-b7  of lsf[i] */    /* lsp[i] = table[ind]+ ((table[ind+1]-table[ind])*offset) / 256 */    L_tmp   = L_mult(sub(table[ind+1], table[ind]), offset);    lsp[i] = add(table[ind], extract_l(L_shr(L_tmp, 9)));  }  return;}void Lsp_lsf(  Word16 lsp[],    /* (i) Q15 : lsp[m] (range: -1<=val<1)                */  Word16 lsf[],    /* (o) Q15 : lsf[m] normalized (range: 0.0<=val<=0.5) */  Word16 m         /* (i)     : LPC order                                */){  Word16 i, ind, tmp;  Word32 L_tmp;  ind = 63;    /* begin at end of table -1 */  for(i= m-(Word16)1; i >= 0; i--)  {    /* find value in table that is just greater than lsp[i] */    while( sub(table[ind], lsp[i]) < 0 )    {      ind = sub(ind,1);    }    /* acos(lsp[i])= ind*256 + ( ( lsp[i]-table[ind] ) * slope[ind] )/4096 */    L_tmp  = L_mult( sub(lsp[i], table[ind]) , slope[ind] );    tmp = round(L_shl(L_tmp, 3));     /*(lsp[i]-table[ind])*slope[ind])>>12*/    lsf[i] = add(tmp, shl(ind, 8));  }  return;}/*___________________________________________________________________________ |                                                                           | |   Functions : Lsp_lsf and Lsf_lsp                                         | |                                                                           | |      Lsp_lsf   Transformation lsp to lsf                                  | |      Lsf_lsp   Transformation lsf to lsp                                  | |---------------------------------------------------------------------------| |  Algorithm:                                                               | |                                                                           | |   The transformation from lsp[i] to lsf[i] and lsf[i] to lsp[i] are       | |   approximated by a look-up table and interpolation.                      | |___________________________________________________________________________|*/void Lsf_lsp2(  Word16 lsf[],    /* (i) Q13 : lsf[m] (range: 0.0<=val<PI) */  Word16 lsp[],    /* (o) Q15 : lsp[m] (range: -1<=val<1)   */  Word16 m         /* (i)     : LPC order                   */){  Word16 i, ind;  Word16 offset;   /* in Q8 */  Word16 freq;     /* normalized frequency in Q15 */  Word32 L_tmp;  for(i=0; i<m; i++)  {/*    freq = abs_s(freq);*/    freq = mult(lsf[i], 20861);          /* 20861: 1.0/(2.0*PI) in Q17 */    ind    = shr(freq, 8);               /* ind    = b8-b15 of freq */    offset = freq & (Word16)0x00ff;      /* offset = b0-b7  of freq */    if ( sub(ind, 63)>0 ){      ind = 63;                 /* 0 <= ind <= 63 */    }    /* lsp[i] = table2[ind]+ (slope_cos[ind]*offset >> 12) */    L_tmp   = L_mult(slope_cos[ind], offset);   /* L_tmp in Q28 */    lsp[i] = add(table2[ind], extract_l(L_shr(L_tmp, 13)));  }  return;}void Lsp_lsf2(  Word16 lsp[],    /* (i) Q15 : lsp[m] (range: -1<=val<1)   */  Word16 lsf[],    /* (o) Q13 : lsf[m] (range: 0.0<=val<PI) */  Word16 m         /* (i)     : LPC order                   */){  Word16 i, ind;  Word16 offset;   /* in Q15 */  Word16 freq;     /* normalized frequency in Q16 */  Word32 L_tmp;  ind = 63;           /* begin at end of table2 -1 */  for(i= m-(Word16)1; i >= 0; i--)  {    /* find value in table2 that is just greater than lsp[i] */    while( sub(table2[ind], lsp[i]) < 0 )    {      ind = sub(ind,1);      if ( ind <= 0 )        break;    }    offset = sub(lsp[i], table2[ind]);    /* acos(lsp[i])= ind*512 + (slope_acos[ind]*offset >> 11) */    L_tmp  = L_mult( slope_acos[ind], offset );   /* L_tmp in Q28 */    freq = add(shl(ind, 9), extract_l(L_shr(L_tmp, 12)));    lsf[i] = mult(freq, 25736);           /* 25736: 2.0*PI in Q12 */  }  return;}/*-------------------------------------------------------------* *  procedure Weight_Az                                        * *            ~~~~~~~~~                                        * * Weighting of LPC coefficients.                              * *   ap[i]  =  a[i] * (gamma ** i)                             * *                                                             * *-------------------------------------------------------------*/void Weight_Az(  Word16 a[],      /* (i) Q12 : a[m+1]  LPC coefficients             */  Word16 gamma,    /* (i) Q15 : Spectral expansion factor.           */  Word16 m,        /* (i)     : LPC order.                           */  Word16 ap[]      /* (o) Q12 : Spectral expanded LPC coefficients   */){  Word16 i, fac;  ap[0] = a[0];  fac   = gamma;  for(i=1; i<m; i++)  {    ap[i] = round( L_mult(a[i], fac) );    fac   = round( L_mult(fac, gamma) );  }  ap[m] = round( L_mult(a[m], fac) );  return;}/*----------------------------------------------------------------------* * Function Int_qlpc()                                                  * * ~~~~~~~~~~~~~~~~~~~                                                  * * Interpolation of the LPC parameters.                                 * *----------------------------------------------------------------------*//* Interpolation of the quantized LSP's */void Int_qlpc( Word16 lsp_old[], /* input : LSP vector of past frame              */ Word16 lsp_new[], /* input : LSP vector of present frame           */ Word16 Az[]       /* output: interpolated Az() for the 2 subframes */){  Word16 i;  Word16 lsp[M];  /*  lsp[i] = lsp_new[i] * 0.5 + lsp_old[i] * 0.5 */  for (i = 0; i < M; i++) {    lsp[i] = add(shr(lsp_new[i], 1), shr(lsp_old[i], 1));  }  Lsp_Az(lsp, Az);              /* Subframe 1 */  Lsp_Az(lsp_new, &Az[MP1]);    /* Subframe 2 */  return;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一区二区三区四区 | 日本不卡视频一二三区| 一本到三区不卡视频| 亚洲美女少妇撒尿| 欧美日韩久久久久久| 免费精品视频最新在线| 精品黑人一区二区三区久久| 69av一区二区三区| 久久国产精品区| 中文字幕乱码日本亚洲一区二区| caoporn国产精品| 亚洲成av人片一区二区梦乃| 91精品国产一区二区三区香蕉| 激情伊人五月天久久综合| 国产女人水真多18毛片18精品视频| caoporn国产精品| 偷拍亚洲欧洲综合| 国产日韩欧美电影| 91久久精品网| 激情五月播播久久久精品| 国产精品色哟哟| 欧美人妖巨大在线| 国产精品自拍av| 亚洲一区在线播放| 久久香蕉国产线看观看99| 99国产精品一区| 天涯成人国产亚洲精品一区av| 久久伊99综合婷婷久久伊| 91国内精品野花午夜精品| 麻豆91精品91久久久的内涵| 最新国产精品久久精品| 91精品国产黑色紧身裤美女| 成人免费毛片高清视频| 三级久久三级久久久| 国产精品每日更新在线播放网址 | 日本欧美大码aⅴ在线播放| 国产色综合久久| 欧美高清www午色夜在线视频| 国产99久久精品| 秋霞电影网一区二区| 亚洲人成在线播放网站岛国| 91精品免费在线| 99久久久精品| 国产一区二区三区观看| 五月综合激情网| 中文字幕字幕中文在线中不卡视频| 日韩三级免费观看| 欧美影视一区在线| 成人18视频日本| 国产一区二区不卡老阿姨| 偷窥国产亚洲免费视频| 亚洲精选在线视频| 国产精品国产三级国产普通话蜜臀| 日韩女优电影在线观看| 欧美三电影在线| 色老汉av一区二区三区| 国产成人av电影在线播放| 美女视频一区二区三区| 五月天欧美精品| 亚洲综合精品自拍| 亚洲人成人一区二区在线观看| 国产亚洲精久久久久久| 精品三级在线看| 日韩午夜在线观看| 亚洲妇女屁股眼交7| 中文字幕色av一区二区三区| 国产欧美日韩综合| 久久久久久毛片| 久久无码av三级| 久久综合色婷婷| 欧美成人性战久久| 精品美女在线播放| 精品精品欲导航| 精品99久久久久久| 久久综合九色综合欧美亚洲| 精品成人在线观看| 久久综合狠狠综合久久激情| 久久―日本道色综合久久| 精品盗摄一区二区三区| 久久久精品日韩欧美| 中文字幕国产一区| 中文字幕制服丝袜成人av| 成人欧美一区二区三区黑人麻豆| 成人免费视频在线观看| 最新国产精品久久精品| 一区二区三区不卡在线观看| 亚洲一线二线三线久久久| 五月天婷婷综合| 久久国产日韩欧美精品| 国产精品亚洲一区二区三区妖精 | 日本韩国欧美国产| 欧美亚洲尤物久久| 欧美美女黄视频| 精品剧情在线观看| 中文字幕成人在线观看| 亚洲欧美自拍偷拍色图| 午夜影院久久久| 伦理电影国产精品| 丁香啪啪综合成人亚洲小说| 91蜜桃视频在线| 欧美日本在线看| 日韩欧美黄色影院| 亚洲国产高清aⅴ视频| 亚洲精品视频一区二区| 免费xxxx性欧美18vr| 粉嫩嫩av羞羞动漫久久久| 色一区在线观看| 欧美va在线播放| 亚洲视频资源在线| 免费在线看一区| 成人av网站大全| 91精品国产综合久久久久久久| 亚洲精品一区二区三区四区高清 | 成人一区二区三区中文字幕| 91麻豆swag| 日韩午夜中文字幕| 国产精品萝li| 日韩av中文字幕一区二区 | 五月婷婷激情综合网| 国产毛片精品视频| 在线观看一区日韩| 久久午夜色播影院免费高清| 一区二区欧美国产| 国产美女一区二区三区| 欧美色倩网站大全免费| 国产亚洲一区二区在线观看| 亚洲国产另类av| 盗摄精品av一区二区三区| 欧美理论片在线| 亚洲欧美一区二区三区极速播放 | 亚洲成av人片在线观看| 国产美女精品一区二区三区| 欧美日韩精品一区二区天天拍小说| 精品电影一区二区| 婷婷中文字幕综合| 成人国产免费视频| 精品区一区二区| 午夜精彩视频在线观看不卡| 成人动漫视频在线| 欧美精品一区二区蜜臀亚洲| 天天综合网 天天综合色| 91麻豆精东视频| 日本一区二区三区在线观看| 蜜臀av一区二区在线免费观看 | 午夜激情久久久| 91女厕偷拍女厕偷拍高清| 国产无一区二区| 久久精品国产免费| 欧美一级在线视频| 亚洲成在人线免费| 日本久久一区二区三区| 亚洲日本在线看| 成人av第一页| 国产精品狼人久久影院观看方式| 国产精品正在播放| 欧美成人综合网站| 麻豆91免费观看| 欧美成人欧美edvon| 蜜臀av一级做a爰片久久| 欧美妇女性影城| 日韩激情视频网站| 欧美肥胖老妇做爰| 天天综合网天天综合色| 欧美日韩国产三级| 婷婷丁香久久五月婷婷| 欧美酷刑日本凌虐凌虐| 天天综合网天天综合色| 69精品人人人人| 免费成人在线观看| 欧美xxxx老人做受| 国产一区欧美一区| 久久久国产精品午夜一区ai换脸| 韩国v欧美v亚洲v日本v| 337p粉嫩大胆噜噜噜噜噜91av| 国产麻豆精品视频| 国产肉丝袜一区二区| 不卡av在线网| 亚洲精品视频在线观看网站| 欧美亚洲尤物久久| 日本中文在线一区| 精品国产91久久久久久久妲己| 国内精品国产三级国产a久久| 久久亚洲综合色| 成人av在线资源网站| 一区二区三区**美女毛片| 欧美日本视频在线| 久久不见久久见免费视频7| www日韩大片| 91在线看国产| 午夜一区二区三区在线观看| 欧美一区二区三区电影| 玖玖九九国产精品| 欧美国产日韩在线观看| 在线观看日韩一区| 蜜桃精品视频在线观看| 国产欧美一区二区在线| 91久久精品日日躁夜夜躁欧美| 日本欧美一区二区| 中文字幕精品一区二区三区精品| 欧美色倩网站大全免费|