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

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

?? lpc.c

?? 視頻會議源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
 /*  * Input a single impulse  */    Acc0 = (Word32) 0x04000000L ; /*  * Do for all elements in a subframe  */    for ( i = 0 ; i < SubFrLen ; i ++ ) { /*  * Synthesis filter  */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, QntLpc[j], FirDl[j] ) ;        Acc1 = L_shl( Acc0, (Word16) 2 ) ; /*  * Perceptual weighting filter  */        /* FIR part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_msu( Acc0, PerLpc[j], FirDl[j] ) ;                                Acc0 = L_shl( Acc0, (Word16) 1 ) ;        for ( j = LpcOrder-1 ; j > 0 ; j -- )            FirDl[j] = FirDl[j-1] ;        FirDl[0] = round( Acc1 ) ;        /* Iir part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, PerLpc[LpcOrder+j], IirDl[j] ) ;        for ( j = LpcOrder-1 ; j > 0 ; j -- )            IirDl[j] = IirDl[j-1] ;        Acc0 = L_shl( Acc0, (Word16) 2 ) ;        IirDl[0] = round( Acc0 ) ;        Temp[PitchMax+i] = IirDl[0] ; /*  * Harmonic noise shaping filter  */        Acc0 = L_deposit_h( IirDl[0] ) ;        Acc0 = L_msu( Acc0, Pw.Gain, Temp[PitchMax-Pw.Indx+i] ) ;        ImpResp[i] = round( Acc0 ) ;        Acc0 = (Word32) 0 ;    }}/***** Function:        Sub_Ring()**** Description:     Computes the zero-input response of the**          combined formant perceptual weighting filter,**          harmonic noise shaping filter, and synthesis**          filter for a subframe.  Subtracts the**          zero-input response from the harmonic noise**          weighted speech vector to produce the target **          speech vector.**** Links to text:   Section 2.13**** Arguments:       ****  Word16 Dpnt[]       Harmonic noise weighted vector w[n] (60 words)**  Word16 QntLpc[]     Quantized LPC coefficients (10 words)**  Word16 PerLpc[]     Perceptual filter coefficients (20 words)**  Word16 PrevErr[]    Harmonic noise shaping filter memory (145 words)**  PWDEF Pw        Harmonic noise shaping filter parameters**  ** Inputs:****  CodStat.RingFirDl[] Perceptual weighting filter FIR memory from **               previous subframe (10 words)**  CodStat.RingIirDl[] Perceptual weighting filter IIR memory from **               previous subframe (10 words)**** Outputs:     ****  Word16 Dpnt[]       Target vector t[n] (60 words)**** Return value:    None***/void  Sub_Ring( Word16 *Dpnt, Word16 *QntLpc, Word16 *PerLpc, Word16*PrevErr, PWDEF Pw ){    int   i,j   ;    Word32   Acc0,Acc1 ;    Word16   FirDl[LpcOrder] ;    Word16   IirDl[LpcOrder] ;    Word16   Temp[PitchMax+SubFrLen] ; /*  * Initialize the memory  */    for ( i = 0 ; i < PitchMax ; i ++ )        Temp[i] = PrevErr[i] ;    for ( i = 0 ; i < LpcOrder ; i ++ ) {        FirDl[i] = CodStat.RingFirDl[i] ;        IirDl[i] = CodStat.RingIirDl[i] ;    } /*  * Do for all elements in a subframe  */    for ( i = 0 ; i < SubFrLen ; i ++ ) { /*  * Input zero  */        Acc0 = (Word32) 0 ; /*  * Synthesis filter  */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, QntLpc[j], FirDl[j] ) ;        Acc1 = L_shl( Acc0, (Word16) 2 ) ; /*  * Perceptual weighting filter  */        /* Fir part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_msu( Acc0, PerLpc[j], FirDl[j] ) ;        for ( j = LpcOrder-1 ; j > 0 ; j -- )            FirDl[j] = FirDl[j-1] ;        FirDl[0] = round( Acc1 ) ;        /* Iir part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, PerLpc[LpcOrder+j], IirDl[j] ) ;        Acc0 = L_shl( Acc0, (Word16) 2 ) ;        for ( j = LpcOrder-1 ; j > 0 ; j -- )            IirDl[j] = IirDl[j-1] ;        IirDl[0] = round( Acc0 ) ;        Temp[PitchMax+i] = IirDl[0] ; /*  * Do the harmonic noise shaping filter and subtract the result  * from the harmonic noise weighted vector.  */        Acc0 = L_deposit_h( sub( Dpnt[i], IirDl[0] ) ) ;        Acc0 = L_mac( Acc0, Pw.Gain, Temp[PitchMax-(int)Pw.Indx+i] ) ;        Dpnt[i] = round ( Acc0 ) ;    }}/***** Function:        Upd_Ring()**** Description:     Updates the memory of the combined formant**          perceptual weighting filter, harmonic noise**          shaping filter, and synthesis filter for a**          subframe.  The update is done by passing the**          current subframe's excitation through the**          combined filter.**** Links to text:   Section 2.19**** Arguments:       ****  Word16 Dpnt[]       Decoded excitation for the current subframe e[n] **               (60 words)**  Word16 QntLpc[]     Quantized LPC coefficients (10 words)**  Word16 PerLpc[]     Perceptual filter coefficients (20 words)**  Word16 PrevErr[]    Harmonic noise shaping filter memory (145 words)**  ** Inputs:****  CodStat.RingFirDl[] Perceptual weighting filter FIR memory from **               previous subframe (10 words)**  CodStat.RingIirDl[] Perceptual weighting filter IIR memory from **               previous subframe (10 words)**** Outputs:     ****  Word16 PrevErr[]    Updated harmonic noise shaping filter memory **  CodStat.RingFirDl[] Updated perceptual weighting filter FIR memory **  CodStat.RingIirDl[] Updated perceptual weighting filter IIR memory **** Return value:    None***/void  Upd_Ring( Word16 *Dpnt, Word16 *QntLpc, Word16 *PerLpc, Word16*PrevErr ){    int   i,j   ;    Word32   Acc0,Acc1   ; /*  * Shift the harmonic noise shaping filter memory  */    for ( i = SubFrLen ; i < PitchMax ; i ++ )        PrevErr[i-SubFrLen] = PrevErr[i] ; /*  * Do for all elements in the subframe  */    for ( i = 0 ; i < SubFrLen ; i ++ ) { /*  * Input the current subframe's excitation  */        Acc0 = L_deposit_h( Dpnt[i] ) ;        Acc0 = L_shr( Acc0, (Word16) 3 ) ; /*  * Synthesis filter  */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, QntLpc[j], CodStat.RingFirDl[j] ) ;        Acc1 = L_shl( Acc0, (Word16) 2 ) ;        Dpnt[i] = shl( round( Acc1 ), (Word16) 1 ) ; /*  * Perceptual weighting filter  */        /* FIR part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_msu( Acc0, PerLpc[j], CodStat.RingFirDl[j] ) ;        /* Update FIR memory */        for ( j = LpcOrder-1 ; j > 0 ; j -- )            CodStat.RingFirDl[j] = CodStat.RingFirDl[j-1] ;        CodStat.RingFirDl[0] = round( Acc1 ) ;        /* IIR part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, PerLpc[LpcOrder+j], CodStat.RingIirDl[j] ) ;        Acc0 = L_shl( Acc0, (Word16) 2 ) ;        /* Update IIR memory */        for ( j = LpcOrder-1 ; j > 0 ; j -- )            CodStat.RingIirDl[j] = CodStat.RingIirDl[j-1] ;        CodStat.RingIirDl[0] = round( Acc0 ) ;        /* Update harmonic noise shaping memory */        PrevErr[PitchMax-SubFrLen+i] = CodStat.RingIirDl[0] ;    }}/***** Function:        Synt()**** Description:     Implements the decoder synthesis filter for a**          subframe.  This is a tenth-order IIR filter.**** Links to text:   Section 3.7**** Arguments:       ****  Word16 Dpnt[]       Pitch-postfiltered excitation for the current**               subframe ppf[n] (60 words)**  Word16 Lpc[]        Quantized LPC coefficients (10 words)**  ** Inputs:****  DecStat.SyntIirDl[] Synthesis filter memory from previoussubframe (10 words)**** Outputs:     ****  Word16 Dpnt[]       Synthesized speech vector sy[n]**  DecStat.SyntIirDl[] Updated synthesis filter memory **** Return value:    None***/void     Synt( Word16 *Dpnt, Word16 *Lpc ){    int   i,j   ;    Word32   Acc0  ; /*  * Do for all elements in the subframe  */    for ( i = 0 ; i < SubFrLen ; i ++ ) { /*  * Input the current subframe's excitation  */        Acc0 = L_deposit_h( Dpnt[i] ) ;        Acc0 = L_shr( Acc0, (Word16) 3 ) ; /*  * Synthesis  */        /* Filter */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, Lpc[j], DecStat.SyntIirDl[j] ) ;        /* Update memory */        for ( j = LpcOrder-1 ; j > 0 ; j -- )            DecStat.SyntIirDl[j] = DecStat.SyntIirDl[j-1] ;        Acc0 = L_shl( Acc0, (Word16) 2 ) ;        DecStat.SyntIirDl[0] = round( Acc0 ) ; /*  * Scale output if postfilter is off.  (Otherwise output is  * scaled by the gain scaling unit.)  */        if ( UsePf )            Dpnt[i] = DecStat.SyntIirDl[0] ;        else            Dpnt[i] = shl( DecStat.SyntIirDl[0], (Word16) 1 ) ;    }}/***** Function:        Spf()**** Description:     Implements the formant postfilter for a**          subframe.  The formant postfilter is a**          10-pole, 10-zero ARMA filter followed by a**          single-tap tilt compensation filter.**** Links to text:   Section 3.8**** Arguments:****  Word16 Tv[]     Synthesized speech vector sy[n] (60 words)**  Word16 Lpc[]        Quantized LPC coefficients (10 words)**** Inputs:****  DecStat.PostIirDl[] Postfilter IIR memory from previoussubframe (10 words)**  DecStat.PostFirDl[] Postfilter FIR memory from previoussubframe (10 words)**  DecStat.Park        Previous value of compensation filter parameter**** Outputs:****  Word16 Tv[]     Postfiltered speech vector pf[n] (60 words)**  DecStat.PostIirDl[] Updated postfilter IIR memory**  DecStat.PostFirDl[] Updated postfilter FIR memory**  DecStat.Park        Updated compensation filter parameter**** Return value: Input vector energy***/Word32  Spf( Word16 *Tv, Word16 *Lpc ){    int   i,j   ;    Word32   Acc0,Acc1   ;    Word32   Sen ;    Word16   Tmp ;    Word16   Exp ;    Word16   FirCoef[LpcOrder] ;    Word16   IirCoef[LpcOrder] ;    Word16   TmpVect[SubFrLen] ; /*  * Compute ARMA coefficients.  Compute the jth FIR coefficient by  * multiplying the jth quantized LPC coefficient by (0.65)^j.  * Compute the jth IIR coefficient by multiplying the jth quantized  * LPC coefficient by (0.75)^j.  This emphasizes the formants in  * the frequency response.  */    for ( i = 0 ; i < LpcOrder ; i ++ ) {        FirCoef[i] = mult_r( Lpc[i], PostFiltZeroTable[i] ) ;        IirCoef[i] = mult_r( Lpc[i], PostFiltPoleTable[i] ) ;    } /*  * Normalize the speech vector.  */    for ( i = 0 ; i < SubFrLen ; i ++ )        TmpVect[i] = Tv[i] ;    Exp = Vec_Norm( TmpVect, (Word16) SubFrLen ) ; /*  * Compute the first two autocorrelation coefficients R[0] and R[1]  */    Acc0 = (Word32) 0 ;    Acc1 = L_mult( TmpVect[0], TmpVect[0] ) ;    for ( i = 1 ; i < SubFrLen ; i ++ ) {        Acc0 = L_mac( Acc0, TmpVect[i], TmpVect[i-1] ) ;        Acc1 = L_mac( Acc1, TmpVect[i], TmpVect[i] ) ;    } /*  * Scale the energy for the later use.  */    Sen = L_shr( Acc1, (Word16)(2*Exp + 4) ) ; /*  * Compute the first-order partial correlation coefficient of the  * input speech vector.  */    Tmp = extract_h( Acc1 ) ;    if ( Tmp != (Word16) 0 ) {        /* Compute first parkor */        Acc0 = L_shr( Acc0, (Word16) 1 ) ;        Acc1 = Acc0 ;        Acc0 = L_abs( Acc0 ) ;        Tmp = div_l( Acc0, Tmp ) ;        if ( Acc1 < (Word32) 0 )            Tmp = negate( Tmp ) ;    }    else        Tmp = (Word16) 0 ; /*  * Compute the compensation filter parameter and update the memory  */    Acc0 = L_deposit_h( DecStat.Park ) ;    Acc0 = L_msu( Acc0, DecStat.Park, (Word16) 0x2000 ) ;    Acc0 = L_mac( Acc0, Tmp, (Word16) 0x2000 ) ;    DecStat.Park = round( Acc0 ) ;    Tmp  = mult( DecStat.Park, PreCoef ) ;    Tmp &= (Word16) 0xfffc ; /*  *  Do for all elements in the subframe  */    for ( i = 0 ; i < SubFrLen ; i ++ ) { /*  * Input the speech vector  */        Acc0 = L_deposit_h( Tv[i] ) ;        Acc0 = L_shr( Acc0, (Word16) 2 ) ; /*  * Formant postfilter  */        /* FIR part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_msu( Acc0, FirCoef[j], DecStat.PostFirDl[j] ) ;        /* Update FIR memory */        for ( j = LpcOrder-1 ; j > 0 ; j -- )            DecStat.PostFirDl[j] = DecStat.PostFirDl[j-1] ;        DecStat.PostFirDl[0] = Tv[i] ;        /* IIR part */        for ( j = 0 ; j < LpcOrder ; j ++ )            Acc0 = L_mac( Acc0, IirCoef[j], DecStat.PostIirDl[j] ) ;        /* Update IIR memory */        for ( j = LpcOrder-1 ; j > 0 ; j -- )            DecStat.PostIirDl[j] = DecStat.PostIirDl[j-1] ;        Acc0 = L_shl( Acc0, (Word16) 2 ) ;        Acc1 = Acc0 ;        DecStat.PostIirDl[0] = round( Acc0 ) ; /*  * Compensation filter  */        Acc1 = L_mac( Acc1, DecStat.PostIirDl[1], Tmp ) ;        Tv[i] = round( Acc1 ) ;    }    return Sen ;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久资源速度| 欧美色偷偷大香| 成+人+亚洲+综合天堂| 91成人网在线| 国产亚洲精品中文字幕| 亚洲日本丝袜连裤袜办公室| 美日韩一区二区| 91在线观看下载| 日韩免费高清电影| 亚洲综合视频在线观看| 国产高清在线精品| 日韩欧美资源站| 亚洲成人黄色影院| 91在线观看污| 日本一区二区免费在线| 看片网站欧美日韩| 欧美日韩卡一卡二| 综合激情成人伊人| 成人在线综合网| 久久综合视频网| 美国精品在线观看| 欧美精品乱码久久久久久按摩| 亚洲视频图片小说| youjizz久久| 国产欧美一区二区精品性| 久久se这里有精品| 日韩一卡二卡三卡四卡| 天天综合色天天综合色h| 欧美色精品天天在线观看视频| 国产精品蜜臀av| 成人夜色视频网站在线观看| 亚洲精品在线观看网站| 激情深爱一区二区| 久久综合网色—综合色88| 国内精品在线播放| 亚洲九九爱视频| 91色视频在线| 亚洲视频一区二区在线观看| 91丨九色丨国产丨porny| 成人欧美一区二区三区| av一区二区久久| 亚洲美女视频一区| 91精品办公室少妇高潮对白| 亚洲国产精品一区二区www| 欧美中文字幕一区| 偷拍与自拍一区| 欧美一区二区成人| 精久久久久久久久久久| 国产欧美一区二区精品忘忧草| 国产成人在线观看| 亚洲欧洲在线观看av| 色噜噜狠狠色综合中国| 午夜伊人狠狠久久| 欧美sm美女调教| 不卡一区中文字幕| 亚洲制服丝袜av| 欧美一区二区三区四区久久| 国产一区二区在线视频| 国产精品视频看| 欧美视频你懂的| 美女国产一区二区三区| 中文字幕国产一区| 91精品福利在线| 精品综合免费视频观看| 日本一区二区三级电影在线观看| 91视频观看免费| 青草国产精品久久久久久| 国产日韩欧美一区二区三区综合| 97精品久久久久中文字幕| 午夜精品一区二区三区三上悠亚| 日韩一级二级三级精品视频| 成人av网站在线观看| 天堂成人国产精品一区| 国产农村妇女毛片精品久久麻豆| 色8久久人人97超碰香蕉987| 久久国产精品区| 一区二区久久久久| 久久婷婷一区二区三区| 欧美在线色视频| 国产91在线|亚洲| 天天av天天翘天天综合网| 国产精品嫩草影院av蜜臀| 欧美另类变人与禽xxxxx| 丁香婷婷综合五月| 日韩欧美一区在线| 亚洲国产成人在线| 在线免费观看视频一区| 国产一区久久久| 亚洲高清视频中文字幕| 国产精品丝袜在线| 日韩片之四级片| 欧美主播一区二区三区美女| 国产乱码精品一品二品| 日韩激情中文字幕| 亚洲乱码国产乱码精品精小说| 久久这里只有精品6| 欧美体内she精视频| 成人av网址在线| 国产毛片精品视频| 麻豆久久久久久久| 婷婷中文字幕综合| 亚洲码国产岛国毛片在线| 国产精品理伦片| 在线观看日韩精品| 成人av在线一区二区| 韩国女主播一区| 激情图片小说一区| 日韩激情一区二区| 天天综合天天做天天综合| 一区二区三区蜜桃网| 自拍偷拍国产亚洲| 国产精品久久看| 国产精品日韩精品欧美在线| 久久尤物电影视频在线观看| 欧美成人三级在线| 欧美大片在线观看一区| 欧美一区二区三区影视| 欧美日韩久久不卡| 这里只有精品99re| 777奇米四色成人影色区| 8x8x8国产精品| 制服丝袜中文字幕亚洲| 91精品欧美福利在线观看| 欧美日韩dvd在线观看| 欧美绝品在线观看成人午夜影视| 欧美午夜免费电影| 欧美日韩国产中文| 日韩一区二区免费高清| 精品国产网站在线观看| 久久精品一区二区| 国产精品久久久久一区二区三区共 | 蜜臀精品久久久久久蜜臀| 日韩成人免费电影| 精品一区二区日韩| 国产美女一区二区三区| jlzzjlzz亚洲日本少妇| 色成人在线视频| 日韩一级片网址| 中文字幕国产一区二区| 亚洲猫色日本管| 美脚の诱脚舐め脚责91 | 国产精品中文欧美| 成人h版在线观看| 色婷婷国产精品综合在线观看| 欧美在线不卡一区| 日韩精品一区二区三区视频在线观看 | 欧美一级黄色录像| 国产婷婷精品av在线| 国产精品国产自产拍高清av王其| 亚洲综合色噜噜狠狠| 久久99久久久久久久久久久| 粉嫩欧美一区二区三区高清影视| 色播五月激情综合网| 日韩欧美一区电影| ...中文天堂在线一区| 婷婷夜色潮精品综合在线| 国产成人亚洲综合a∨婷婷图片 | 欧美精品在线一区二区三区| 欧美mv和日韩mv国产网站| 中文字幕中文字幕在线一区 | 91精品国产免费| 国产精品视频第一区| 日韩电影在线看| av亚洲精华国产精华精华| 欧美一区二区二区| 亚洲人成网站在线| 国产在线精品一区二区夜色| 欧美亚洲一区二区在线| 国产网站一区二区| 日韩中文欧美在线| 色8久久精品久久久久久蜜| 欧美精品一区二区在线播放| 亚洲午夜精品在线| av在线一区二区三区| 欧美精品一区二区三区蜜桃视频| 亚洲美女视频在线| 国产99久久久国产精品免费看| 日韩视频一区二区三区在线播放| 18涩涩午夜精品.www| 国产精品夜夜爽| 精品美女在线观看| 日韩高清在线电影| 欧美日韩在线三级| 亚洲视频资源在线| 成人激情视频网站| 久久久久九九视频| 精品一区二区三区视频| 欧美一区日本一区韩国一区| 一区二区三区美女视频| 欧美zozo另类异族| 欧美三区在线观看| 国产人妖乱国产精品人妖| 日韩 欧美一区二区三区| 91福利国产精品| 亚洲精品乱码久久久久久日本蜜臀| 国产成人在线视频播放| 久久亚洲综合av| 国产美女av一区二区三区| 亚洲精品在线三区| 国产一区二区精品久久99|