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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? exc_lbc.c

?? G.723及其附件A以下簡稱為G.723A 論文首先對語音編碼的各種方案進行了比較并對G.723編碼方案的特點等進 行了全面的比較然后對語音信號的特征及其分析方法語音信號的形成機理的 數學模型以
?? C
?? 第 1 頁 / 共 5 頁
字號:
    /* Select the best pair */    if ( (Bindx != (Word16) 0) && ( Findx == (Word16) 0) )        Pf = Get_Ind( Bindx, Scr[0], Scr[1], Scr[2] ) ;    if ( (Bindx == (Word16) 0) && ( Findx != (Word16) 0) )        Pf = Get_Ind( Findx, Scr[0], Scr[3], Scr[4] ) ;    if ( (Bindx != (Word16) 0) && ( Findx != (Word16) 0) ) {        Exp = mult_r( Scr[1], Scr[1] ) ;        Acc0 = L_mult( Exp, Scr[4] ) ;        Exp = mult_r( Scr[3], Scr[3] ) ;        Acc1 = L_mult( Exp, Scr[2] ) ;        if ( Acc0 > Acc1 )            Pf = Get_Ind( Bindx, Scr[0], Scr[1], Scr[2] ) ;        else            Pf = Get_Ind( Findx, Scr[0], Scr[3], Scr[4] ) ;    }    return Pf ;}/***** Function:        Find_B()**** Description:     Computes best pitch postfilter backward lag by**                  backward cross correlation maximization around the**                  decoded pitch lag**                  of the subframe 0 (for subframes 0 & 1)**                  of the subframe 2 (for subframes 2 & 3)**** Links to text:   Section 3.6**** Arguments:****  Word16 *Buff    decoded excitation**  Word16 Olp      Decoded pitch lag**  Word16 Sfc      Subframe index**** Outputs:     None**** Return value:****  Word16   Pitch postfilter backward lag*/Word16   Find_B( Word16 *Buff, Word16 Olp, Word16 Sfc ){    int   i,j   ;    Word16   Indx = 0 ;    Word32   Acc0,Acc1 ;    if ( Olp > (Word16) (PitchMax-3) )        Olp = (Word16) (PitchMax-3) ;    Acc1 = (Word32) 0 ;    for ( i = (int)Olp-3 ; i <= (int)Olp+3 ; i ++ ) {        Acc0 = (Word32) 0 ;        for ( j = 0 ; j < SubFrLen ; j ++ )            Acc0 = L_mac( Acc0, Buff[PitchMax+(int)Sfc*SubFrLen+j],                                    Buff[PitchMax+(int)Sfc*SubFrLen-i+j] ) ;        if ( Acc0 > Acc1 ) {            Acc1 = Acc0 ;            Indx = -(Word16) i ;        }    }    return Indx ;}/***** Function:        Find_F()**** Description:     Computes best pitch postfilter forward lag by**                  forward cross correlation maximization around the**                  decoded pitch lag**                  of the subframe 0 (for subframes 0 & 1)**                  of the subframe 2 (for subframes 2 & 3)**** Links to text:   Section 3.6**** Arguments:****  Word16 *Buff    decoded excitation**  Word16 Olp      Decoded pitch lag**  Word16 Sfc      Subframe index**** Outputs:     None**** Return value:****  Word16    Pitch postfilter forward lag*/Word16   Find_F( Word16 *Buff, Word16 Olp, Word16 Sfc ){    int   i,j   ;    Word16   Indx = 0 ;    Word32   Acc0,Acc1 ;    if ( Olp > (Word16) (PitchMax-3) )        Olp = (Word16) (PitchMax-3) ;    Acc1 = (Word32) 0 ;    for ( i = Olp-3 ; i <= Olp+3 ; i ++ ) {        Acc0 = (Word32) 0 ;        if ( ((int)Sfc*SubFrLen+SubFrLen+i) <= Frame ) {            for ( j = 0 ; j < SubFrLen ; j ++ )                Acc0 = L_mac( Acc0, Buff[PitchMax+(int)Sfc*SubFrLen+j],                            Buff[PitchMax+(int)Sfc*SubFrLen+i+j] ) ;        }        if ( Acc0 > Acc1 ) {            Acc1 = Acc0 ;            Indx = (Word16) i ;        }    }    return Indx ;}/***** Function:        Get_Ind()**** Description:     Computes gains of the pitch postfilter.**                  The gains are calculated using the cross correlation**                  (forward or backward, the one with the greatest contribution)**                  and the energy of the signal. Also, a test is performed on**                  the prediction gain to see whether the pitch postfilter**                  should be used or not.******** Links to text:   Section 3.6**** Arguments:****  Word16 Ind      Pitch postfilter lag**  Word16 Ten      energy of the current subframe excitation vector**  Word16 Ccr      Crosscorrelation of the excitation**  Word16 Enr      Energy of the (backward or forward) "delayed" excitation**** Outputs:     None**** Return value:****  PFDEF**         Word16   Indx    Pitch postfilter lag**         Word16   Gain    Pitch postfilter gain**         Word16   ScGn    Pitch postfilter scaling gain***/PFDEF Get_Ind( Word16 Ind, Word16 Ten, Word16 Ccr, Word16 Enr ){    Word32   Acc0,Acc1 ;    Word16   Exp   ;    PFDEF Pf ;    Pf.Indx = Ind ;    /* Check valid gain */    Acc0 = L_mult( Ten, Enr ) ;    Acc0 = L_shr( Acc0, (Word16) 2 ) ;    Acc1 = L_mult( Ccr, Ccr ) ;    if ( Acc1 > Acc0 ) {        if ( Ccr >= Enr )            Pf.Gain = LpfConstTable[(int)WrkRate] ;        else {            Pf.Gain = div_s( Ccr, Enr ) ;            Pf.Gain = mult( Pf.Gain, LpfConstTable[(int)WrkRate] ) ;        }        /* Compute scaling gain */        Acc0 = L_deposit_h( Ten ) ;        Acc0 = L_shr( Acc0, (Word16) 1 ) ;        Acc0 = L_mac( Acc0, Ccr, Pf.Gain ) ;        Exp  = mult( Pf.Gain, Pf.Gain ) ;        Acc1 = L_mult( Enr, Exp ) ;        Acc1 = L_shr( Acc1, (Word16) 1 ) ;        Acc0 = L_add( Acc0, Acc1 ) ;        Exp = round( Acc0 ) ;        Acc1 = L_deposit_h( Ten ) ;        Acc0 = L_deposit_h( Exp ) ;        Acc1 = L_shr( Acc1, (Word16) 1 ) ;        if ( Acc1 >= Acc0 )            Exp = (Word16) 0x7fff ;        else            Exp = div_l( Acc1, Exp ) ;        Acc0 = L_deposit_h( Exp ) ;        Pf.ScGn = Sqrt_lbc( Acc0 ) ;    }    else {        Pf.Gain = (Word16) 0 ;        Pf.ScGn = (Word16) 0x7fff ;    }    Pf.Gain = mult( Pf.Gain, Pf.ScGn ) ;    return Pf ;}/***** Function:        Filt_Lpf()**** Description:     Applies the pitch postfilter for each subframe.**** Links to text:   Section 3.6**** Arguments:****  Word16 *Tv      Pitch postfiltered excitation**  Word16 *Buff    decoded excitation**  PFDEF Pf        Pitch postfilter parameters**  Word16 Sfc      Subframe index**** Outputs:****  Word16 *Tv      Pitch postfiltered excitation**** Return value: None***/void  Filt_Lpf( Word16 *Tv, Word16 *Buff, PFDEF Pf, Word16 Sfc ){    int   i  ;    Word32   Acc0 ;    for ( i = 0 ; i < SubFrLen ; i ++ ) {        Acc0 = L_mult( Buff[PitchMax+(int)Sfc*SubFrLen+i], Pf.ScGn ) ;        Acc0 = L_mac( Acc0, Buff[PitchMax+(int)Sfc*SubFrLen+(int)Pf.Indx+i],                                                                Pf.Gain ) ;        Tv[(int)Sfc*SubFrLen+i] = round( Acc0 ) ;    }    return;}/***** Function:        ACELP_LBC_code()**** Description:     Find Algebraic codebook for low bit rate LBC encoder**** Links to text:   Section 2.16**** Arguments:****   Word16 X[]              Target vector.     (in Q0)**   Word16 h[]              Impulse response.  (in Q12)**   Word16 T0               Pitch period.**   Word16 code[]           Innovative vector.        (in Q12)**   Word16 gain             Innovative vector gain.   (in Q0)**   Word16 sign             Signs of the 4 pulses.**   Word16 shift            Shift of the innovative vector**   Word16 gain_T0          Gain for pitch synchronous fiter**** Inputs :****   Word16 X[]              Target vector.     (in Q0)**   Word16 h[]              Impulse response.  (in Q12)**   Word16 T0               Pitch period.**   Word16 gain_T0          Gain for pitch synchronous fiter**** Outputs:****   Word16 code[]           Innovative vector.        (in Q12)**   Word16 gain             Innovative vector gain.   (in Q0)**   Word16 sign             Signs of the 4 pulses.**   Word16 shift            Shift of the innovative vector.**** Return value:****   Word16 index            Innovative codebook index***/Word16  ACELP_LBC_code(Word16 X[], Word16 h[], Word16 T0, Word16 code[],        Word16 *ind_gain, Word16 *shift, Word16 *sign, Word16 gain_T0){    Word16 i, index, gain_q;    Word16 Dn[SubFrLen2], tmp_code[SubFrLen2];    Word16 rr[DIM_RR]; /*  * Include fixed-gain pitch contribution into impulse resp. h[]  * Find correlations of h[] needed for the codebook search. */    for (i = 0; i < SubFrLen; i++)    /* Q13 -->  Q12*/        h[i] = shr(h[i], 1);    if (T0 < SubFrLen-2) {        for (i = T0; i < SubFrLen; i++)    /* h[i] += gain_T0*h[i-T0] */        h[i] = add(h[i], mult(h[i-T0], gain_T0));    }    Cor_h(h, rr); /*  * Compute correlation of target vector with impulse response.  */    Cor_h_X(h, X, Dn); /*  * Find innovative codebook.  * rr input matrix autocorrelation  *    output filtered codeword  */    index = D4i64_LBC(Dn, rr, h, tmp_code, rr, shift, sign); /*  * Compute innovation vector gain.  * Include fixed-gain pitch contribution into code[].  */    *ind_gain = G_code(X, rr, &gain_q);    for (i = 0; i < SubFrLen; i++)   {        code[i] = i_mult(tmp_code[i], gain_q);    }    if(T0 < SubFrLen-2)        for (i = T0; i < SubFrLen; i++)    /* code[i] += gain_T0*code[i-T0] */            code[i] = add(code[i], mult(code[i-T0], gain_T0));    return index;}/***** Function:        Cor_h()**** Description:     Compute correlations of h[] needed for the codebook search.**** Links to text:   Section 2.16**** Arguments:****  Word16 h[]              Impulse response.**  Word16 rr[]             Correlations.****  Outputs:****  Word16 rr[]             Correlations.****  Return value :          None*/void Cor_h(Word16 *H, Word16 *rr){    Word16 *rri0i0, *rri1i1, *rri2i2, *rri3i3;    Word16 *rri0i1, *rri0i2, *rri0i3;    Word16 *rri1i2, *rri1i3, *rri2i3;    Word16 *p0, *p1, *p2, *p3;    Word16 *ptr_hd, *ptr_hf, *ptr_h1, *ptr_h2;    Word32 cor;    Word16 i, k, ldec, l_fin_sup, l_fin_inf;    Word16 h[SubFrLen2];    /* Scaling for maximum precision */    cor = 0;    for(i=0; i<SubFrLen; i++)        cor = L_mac(cor, H[i], H[i]);    if(extract_h(cor) > 32000 ) {        for(i=0; i<SubFrLen; i++) h[i+4] = shr(H[i], 1);    }    else {        k = norm_l(cor);        k = shr(k, 1);        for(i=0; i<SubFrLen; i++) h[i+4] = shl(H[i], k);    }    for(i=0; i<4; i++) h[i] = 0;    /* Init pointers */    rri0i0 = rr;    rri1i1 = rri0i0 + NB_POS;    rri2i2 = rri1i1 + NB_POS;    rri3i3 = rri2i2 + NB_POS;    rri0i1 = rri3i3 + NB_POS;    rri0i2 = rri0i1 + MSIZE;    rri0i3 = rri0i2 + MSIZE;    rri1i2 = rri0i3 + MSIZE;    rri1i3 = rri1i2 + MSIZE;    rri2i3 = rri1i3 + MSIZE; /*  * Compute rri0i0[], rri1i1[], rri2i2[] and rri3i3[]  */    p0 = rri0i0 + NB_POS-1;   /* Init pointers to last position of rrixix[] */    p1 = rri1i1 + NB_POS-1;    p2 = rri2i2 + NB_POS-1;    p3 = rri3i3 + NB_POS-1;    ptr_h1 = h;    cor    = 0;    for(i=0;  i<NB_POS; i++) {        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        *p3-- = extract_h(cor);        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        *p2-- = extract_h(cor);        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        *p1-- = extract_h(cor);        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        cor = L_mac(cor, *ptr_h1, *ptr_h1); ptr_h1++;        *p0-- = extract_h(cor);    } /*  * Compute elements of: rri0i1[], rri0i3[], rri1i2[] and rri2i3[]  */    l_fin_sup = MSIZE-1;    l_fin_inf = l_fin_sup-(Word16)1;    ldec = NB_POS+1;    ptr_hd = h;    ptr_hf = ptr_hd + 2;    for(k=0; k<NB_POS; k++) {        p3 = rri2i3 + l_fin_sup;        p2 = rri1i2 + l_fin_sup;        p1 = rri0i1 + l_fin_sup;        p0 = rri0i3 + l_fin_inf;        cor = 0;        ptr_h1 = ptr_hd;        ptr_h2 =  ptr_hf;        for(i=k+(Word16)1; i<NB_POS; i++ ) {            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            *p3 = extract_h(cor);            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            *p2 = extract_h(cor);            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            *p1 = extract_h(cor);            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;            *p0 = extract_h(cor);            p3 -= ldec;            p2 -= ldec;            p1 -= ldec;            p0 -= ldec;        }        cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;        cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;        *p3 = extract_h(cor);        cor = L_mac(cor, *ptr_h1, *ptr_h2); ptr_h1++; ptr_h2++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区| 国产激情一区二区三区| 91免费国产在线观看| 日本一区二区不卡视频| 国产成人午夜片在线观看高清观看| 欧美变态tickle挠乳网站| 久久99日本精品| 中文字幕第一区第二区| 色域天天综合网| 亚洲图片欧美一区| 4438x成人网最大色成网站| 麻豆精品国产91久久久久久| 欧美tk—视频vk| av在线不卡免费看| 亚洲国产日韩一区二区| 欧美一区二区三区性视频| 国内一区二区在线| 国产精品乱人伦中文| 欧美主播一区二区三区| 日本美女一区二区| 国产日本欧美一区二区| 91久久精品网| 久久国产精品露脸对白| 国产精品女主播av| 欧美军同video69gay| 黄色成人免费在线| 亚洲色图欧洲色图| 91精品欧美久久久久久动漫| 国产成人99久久亚洲综合精品| 亚洲精选免费视频| 日韩精品资源二区在线| 成人av电影在线| 精品一区精品二区高清| 国产三级三级三级精品8ⅰ区| 色综合久久久网| 久久99精品久久久久| 日韩伦理电影网| 欧美大度的电影原声| 色视频一区二区| 韩国午夜理伦三级不卡影院| 一区二区三区精品视频| 国产亚洲制服色| 欧美日韩亚洲另类| 成人一区二区视频| 日本欧美韩国一区三区| 一区二区三区四区蜜桃| 久久亚洲精精品中文字幕早川悠里| 91浏览器打开| 国产精品一区二区久久精品爱涩| 亚洲一区二区综合| 国产精品人妖ts系列视频| 欧美一区二区国产| 欧洲精品中文字幕| 国产91精品露脸国语对白| 蜜臀av一区二区在线免费观看 | 欧美男人的天堂一二区| 国产91精品久久久久久久网曝门| 日韩中文字幕1| 亚洲精选视频免费看| 国产精品伦理在线| 久久久精品影视| 欧美大片在线观看一区二区| 日本韩国精品在线| 成人福利在线看| 国产美女在线观看一区| 麻豆精品视频在线观看视频| 亚洲一级二级在线| 一区二区三区国产| 亚洲日本在线a| 国产精品五月天| 久久久久久久久久久99999| 日韩女优毛片在线| 欧美成人性福生活免费看| 91麻豆精品国产无毒不卡在线观看| 在线视频欧美区| 色香蕉成人二区免费| 不卡一区中文字幕| 不卡一区在线观看| 91农村精品一区二区在线| av电影在线观看完整版一区二区| 高清在线成人网| 国产精品99久| 波多野结衣一区二区三区| 成人av免费观看| 色美美综合视频| 欧美日韩国产欧美日美国产精品| 欧美日韩精品是欧美日韩精品| 欧美吞精做爰啪啪高潮| 欧美日韩高清在线播放| 欧美电影在线免费观看| 7777精品伊人久久久大香线蕉完整版 | 欧美成人video| 欧美精品一区二区三区在线| wwwwww.欧美系列| 国产人久久人人人人爽| 中文字幕人成不卡一区| 一区二区三区不卡在线观看 | 亚洲一卡二卡三卡四卡五卡| 亚洲第一主播视频| 石原莉奈一区二区三区在线观看 | 日韩你懂的电影在线观看| 欧美第一区第二区| 国产精品伦理在线| 亚洲成人激情社区| 久久99国产精品久久99| 成人av电影免费观看| 欧美色图天堂网| 精品欧美乱码久久久久久1区2区| 国产视频在线观看一区二区三区| 18欧美乱大交hd1984| 亚洲1区2区3区视频| 紧缚奴在线一区二区三区| 成人精品电影在线观看| 在线欧美日韩精品| 精品国产污网站| 中文字幕中文字幕中文字幕亚洲无线| 亚洲一区视频在线| 国产一区日韩二区欧美三区| jlzzjlzz亚洲女人18| 久久综合色8888| 国产精品免费丝袜| 亚洲自拍另类综合| 国产一区二区在线电影| 91在线精品一区二区三区| 3d动漫精品啪啪| 国产精品全国免费观看高清| 亚洲成a人在线观看| 精品亚洲aⅴ乱码一区二区三区| 成人av网址在线观看| 91精品国产色综合久久| 国产精品国产自产拍高清av王其| 亚洲国产婷婷综合在线精品| 国产一二三精品| 欧美亚洲国产bt| 久久久久久免费| 婷婷亚洲久悠悠色悠在线播放| 丰满少妇久久久久久久| 91麻豆精品国产无毒不卡在线观看 | 国产一区在线看| 欧美男男青年gay1069videost| 国产欧美一区二区在线观看| 日韩精品三区四区| 91在线免费视频观看| 国产午夜三级一区二区三| 三级欧美韩日大片在线看| 91碰在线视频| 国产精品福利av| 国产精品综合视频| 在线综合+亚洲+欧美中文字幕| 亚洲另类中文字| 国产91综合网| 久久综合九色综合欧美就去吻| 午夜伊人狠狠久久| 91在线观看一区二区| 国产网站一区二区三区| 美腿丝袜在线亚洲一区| 欧美日韩国产电影| 伊人婷婷欧美激情| 9l国产精品久久久久麻豆| 国产午夜一区二区三区| 国产一区二区三区国产| 欧美电影免费观看高清完整版 | 成人午夜又粗又硬又大| 久久久五月婷婷| 国产在线精品视频| 日韩小视频在线观看专区| 日韩中文字幕区一区有砖一区| 色婷婷av久久久久久久| 一个色在线综合| 欧洲精品在线观看| 亚洲精品免费视频| 在线亚洲一区二区| 亚洲一区在线观看免费| 欧美综合一区二区| 亚洲一区中文日韩| 欧美日韩电影在线播放| 国产综合久久久久久鬼色| 91精品国产免费久久综合| 日韩精品久久理论片| 日韩精品一区二区在线观看| 麻豆成人综合网| 精品国产第一区二区三区观看体验| 精品一区二区三区免费毛片爱| 日韩女优电影在线观看| 国产精品一区二区在线播放| 亚洲国产精品二十页| av电影在线观看完整版一区二区| 亚洲人一二三区| 91成人网在线| 亚洲va国产va欧美va观看| 日韩一区二区三区电影 | 亚洲超丰满肉感bbw| 在线不卡a资源高清| 久久国产精品99久久久久久老狼| 久久综合久久综合久久综合| 成人精品一区二区三区四区| 亚洲欧美中日韩| 欧美日韩中文精品| 久久国产精品第一页| 亚洲欧洲日韩在线|