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

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

?? exc_lbc.c

?? linux系統的網絡編程(C++) 實現視頻會議
?? C
?? 第 1 頁 / 共 5 頁
字號:
    Exp = norm_l( Acc1 ) ;    for ( i = 0 ; i < 5 ; i ++ ) {        Acc0 = L_shl( Lcr[i], Exp ) ;        Scr[i] = extract_h( Acc0 ) ;    }    /* 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 ) ;        //2*e(n)*scaleGain        Acc0 = L_mac( Acc0, Buff[PitchMax+(int)Sfc*SubFrLen+(int)Pf.Indx+i],Pf.Gain ) ;//2*e(n)*scaleGain+2*e(n-delay)*gain        Tv[(int)Sfc*SubFrLen+i] = round( Acc0 ) ;                              // extract high 16 bits to output    }    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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久精品| aaa欧美色吧激情视频| 韩国视频一区二区| 亚洲精品国产成人久久av盗摄| 极品少妇xxxx精品少妇偷拍| 91麻豆国产福利精品| 国产精品影视网| 欧美日韩中文字幕一区| 日韩免费看的电影| 国产精品不卡在线| 亚洲激情五月婷婷| 日韩不卡免费视频| 色综合一区二区三区| 久久免费偷拍视频| 精品亚洲国内自在自线福利| 欧美性色黄大片| 国产精品入口麻豆原神| 轻轻草成人在线| 精品黑人一区二区三区久久| 亚洲6080在线| 欧美肥妇free| 五月天欧美精品| 极品尤物av久久免费看| 91麻豆精品国产自产在线观看一区 | 精品综合久久久久久8888| 久久精品国产一区二区| 欧美日韩国产高清一区二区三区 | 欧美一级片在线| 亚洲午夜电影网| 一本一本大道香蕉久在线精品| 色成人在线视频| 国产成人av福利| 国产欧美一区二区精品忘忧草| 亚洲午夜日本在线观看| 7777精品伊人久久久大香线蕉的 | 国产精品乱码一区二区三区软件| 麻豆成人91精品二区三区| 成人av在线一区二区三区| 亚洲国产精品99久久久久久久久 | 午夜精品影院在线观看| 91视频一区二区三区| 亚洲欧美日韩在线| 青青草97国产精品免费观看 | 国产精品萝li| 欧美综合在线视频| 欧美日韩中文字幕一区| 日日骚欧美日韩| 国产馆精品极品| 欧美日韩国产片| 经典三级视频一区| 夜夜揉揉日日人人青青一国产精品| 91视频免费看| 欧美色综合网站| 在线成人av网站| 91国偷自产一区二区使用方法| 国产一区二区三区黄视频 | 国产精品亚洲第一区在线暖暖韩国| 成人黄色片在线观看| 56国语精品自产拍在线观看| 国产精品夫妻自拍| 日韩欧美一级二级三级| 欧美一级高清片| 成人av电影在线播放| 椎名由奈av一区二区三区| 国产网红主播福利一区二区| 制服丝袜日韩国产| 欧美人狂配大交3d怪物一区| 美女视频一区二区| 精品亚洲免费视频| 欧美日韩在线免费视频| 欧美日本高清视频在线观看| 欧美日韩免费不卡视频一区二区三区| 欧美一区二区不卡视频| 欧美一区二区三区免费视频| 欧美夫妻性生活| 亚洲欧美日韩中文播放| 极品销魂美女一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 中文字幕中文乱码欧美一区二区| 中文字幕中文乱码欧美一区二区| 亚洲视频一区二区在线观看| 99re成人在线| 免费在线观看视频一区| 亚洲最色的网站| 国产亚洲一区二区三区| 色一情一乱一乱一91av| 中文字幕亚洲区| 成人小视频免费在线观看| 成人动漫视频在线| 中日韩av电影| 国产成人h网站| 日韩一区二区三区av| 丝袜美腿亚洲综合| 欧美一级片在线看| 成人激情小说网站| 亚洲欧美在线观看| 91精品国产综合久久久久久久久久| 日韩成人免费看| 国产精品久久久久久久久快鸭| 国产激情视频一区二区在线观看| 91久久精品一区二区| 欧美成人精品高清在线播放| 国产高清在线观看免费不卡| 一区二区三区日韩精品视频| 国产精品久久网站| 婷婷国产v国产偷v亚洲高清| 男人的天堂亚洲一区| 欧美猛男男办公室激情| 亚洲成av人片在线| 日韩免费观看高清完整版| 中文字幕一区日韩精品欧美| 蜜桃一区二区三区在线观看| 亚洲精品国产一区二区精华液| 亚洲电影视频在线| 日本一区二区在线不卡| 老鸭窝一区二区久久精品| 国产欧美日韩在线| 国产传媒一区在线| 亚洲免费在线观看视频| 国产91对白在线观看九色| 国产日韩欧美精品一区| 欧美日韩国产首页在线观看| 成人免费看片app下载| 精品一区二区在线免费观看| 国产精品萝li| 在线国产亚洲欧美| 成人免费毛片片v| 亚洲成人精品在线观看| 欧美日韩国产免费一区二区| 国产激情91久久精品导航| 精品一区二区三区影院在线午夜| 国产精品综合一区二区三区| 成人免费观看男女羞羞视频| 99久久精品免费看| 欧美精品视频www在线观看| 国产剧情一区二区| 亚洲美女少妇撒尿| 色综合久久88色综合天天| 亚洲免费视频成人| 欧美日韩国产天堂| 高清成人在线观看| 亚洲一区在线观看视频| 国产精品久久久久婷婷二区次| 日韩欧美123| 成人午夜电影久久影院| 91精品一区二区三区在线观看| 美腿丝袜一区二区三区| 亚洲三级免费电影| 久久这里只有精品6| 日韩色在线观看| 日本道色综合久久| 欧美精品vⅰdeose4hd| 99精品偷自拍| 另类成人小视频在线| 亚洲欧洲无码一区二区三区| 色八戒一区二区三区| 国产超碰在线一区| 99久久99久久久精品齐齐| 韩国女主播成人在线| 国产麻豆9l精品三级站| 寂寞少妇一区二区三区| 免费成人av资源网| 国产欧美日韩另类视频免费观看| 久久综合999| 久久综合色天天久久综合图片| 久久综合狠狠综合久久综合88| 中文字幕av一区二区三区| 亚洲欧洲性图库| 久久电影国产免费久久电影| 一级做a爱片久久| 亚洲线精品一区二区三区| 肉色丝袜一区二区| 日韩在线一区二区三区| 成人午夜av影视| 日韩欧美在线观看一区二区三区| 国产欧美视频一区二区| 国产精品进线69影院| 视频在线在亚洲| 久久综合999| 亚洲午夜羞羞片| 91麻豆精品在线观看| 国产精品久久久久桃色tv| 国产精品乡下勾搭老头1| 国产日韩在线不卡| 91久久精品一区二区三区| 国产亚洲欧美色| 五月激情综合色| 国产经典欧美精品| 欧美久久久久久蜜桃| 亚洲欧美在线观看| 欧美日韩国产bt| 亚洲高清视频的网址| 亚洲国产精品成人综合| 久久久久久黄色| 成人免费视频一区二区| 成人夜色视频网站在线观看| 国产成人h网站| 日韩一区二区三区精品视频 | 一区二区三区在线视频免费| 久久99国产精品免费|