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

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

?? dtxcng.dsp

?? 基于A(yíng)DSP的G.729語(yǔ)音編解碼程序
?? DSP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/************************************************************************
* DTX and Comfort Noise Generator - Encoder part                        *
* $$01/10/2000 checked Dtxmod module data variables and function        *
* $$01/16/2001 modified and printed,Author: Jason.wang (zhigang wang)   *
* $$01/16/2001 Email: wzg119@yeah.net,  BP: 86+02195950-161452          *
* $$01/16/2001 This modlue is not optimized! should be test on Emulator *
*************************************************************************/
.MODULE/SEG=App_PM        Dtxmod;

/************************************************************************/
#include       "ld8a.inc"
#include	   "vad.inc"
#include	   "dtx.inc"
#include	   "tab_dtx.inc"
#include	   "tab_ld8a.inc"

/************************************************************************/
/* $$01/10/2000 static memory and pointer                               */
/************************************************************************/
.VAR/DM/RAM/SEG=App_DMmem    lspSid_q[M] ;
.VAR/DM/RAM/SEG=App_DMmem    pastCoeff[MP1];
.VAR/DM/RAM/SEG=App_DMmem    RCoeff[MP1];
.VAR/DM/RAM/SEG=App_DMmem    Acf[SIZ_ACF];
.VAR/DM/RAM/SEG=App_DMmem    sh_Acf[NB_CURACF];
.VAR/DM/RAM/SEG=App_DMmem    sumAcf[SIZ_SUMACF];
.VAR/DM/RAM/SEG=App_DMmem    sh_sumAcf[NB_SUMACF];
.VAR/DM/RAM/SEG=App_DMmem    ener[NB_GAIN];
.VAR/DM/RAM/SEG=App_DMmem    sh_ener[NB_GAIN];
.VAR/DM/RAM/SEG=App_DMmem    sh_RCoeff,sid_gain,Enc_curgain;
.VAR/DM/RAM/SEG=App_DMmem    fr_cur,nb_ener,count_fr0;
.VAR/DM/RAM/SEG=App_DMmem    flag_chang,prev_energy;
.GLOBAL        lspSid_q;

/*************************************************************************/
.EXTERNAL      Enc_excit;
.EXTERNAL      Enc_seed;
.EXTERNAL      Enc_lspold_q;
.EXTERNAL      Enc_pastVad;
.EXTERNAL      analy,Enc_Aqt;
.EXTERNAL      Az_lsp;
.EXTERNAL      Int_qlpc;
.EXTERNAL      Levinson;
.EXTERNAL      lsfq_noise;
.EXTERNAL      Qua_Sidgain;
.EXTERNAL      Calc_exc_rand;

/**************************************************************************
* procedure Init_Cod_cng:                                                 *
*   Initialize variables used for dtx at the encoder                      *
* $$01/10/2000 checked Dtxmod module data variables and function          *
* Calling Parameters												      *	
* Return Values														      *
* Altered Registers: MR,SR,AR,I0,I1,I2,I3,AX0,MY0                         *	
* Computation Time : 18 cycles										      *	
***************************************************************************/
.ENTRY         Init_Cod_cng;

Init_Cod_cng:  I1=^sumAcf;
			   CNTR=SIZ_SUMACF;
               DO zero_sumAcf UNTIL CE;
zero_sumAcf:   DM(I1,M1)=0;
			   I1=^sh_sumAcf;
			   CNTR=NB_SUMACF;
			   DO zero_shsumAcf UNTIL CE;
zero_shsumAcf: DM(I1,M1)=40;
			   I1=^Acf;
               CNTR=SIZ_ACF;
			   DO zero_Acf UNTIL CE;
zero_Acf:	   DM(I1,M1)=0;
			   I1=^sh_Acf;
			   CNTR=NB_CURACF;
			   DO zero_shAcf UNTIL CE;
zero_shAcf:	   DM(I1,M1)=40;
			   I2=^ener;
			   I1=^sh_ener;
			   CNTR=NB_GAIN;
			   DO zero_ener UNTIL CE;
			   DM(I1,M1)=40;
zero_ener:     DM(I2,M1)=0;
               AR=PASS 0;
			   DM(Enc_curgain)=AR;
			   DM(fr_cur)=AR;
			   DM(flag_chang)=AR;
               RTS;
/**************************************************************************
* procedure Cod_cng:                                                      *
* $$01/10/2000 checked Dtxmod module data variables and function          *
*   computes DTX decision                                                 *
*   encodes SID frames                                                    *
*   computes CNG excitation for encoder update                            *
* Calling Parameters												      *	
*   *exc,          : excitation array									  *	
*   Enc_pastVad    : previous VAD decision								  *
*   Enc_lspold_q   : previous quantized lsp								  *
*     Enc_Aqt      : set of interpolated LPC coefficients				  *
*    analy         : coded SID parameters								  *
*   lsfq_mem       : previous LPS for quantization						  *
*   seed           : random generator seed								  *
* Return Values														      *
* Altered Registers: MR,SR,AR,I0,I1,I2,I3,AX0,MY0                         *	
* Computation Time : 18 cycles										      *	
***************************************************************************/
.ENTRY         Cod_cng;
.VAR/DM/RAM/SEG=App_DMtmp    lpcCoeff,cur_igain,energyq;
.VAR/DM/RAM/SEG=App_DMbuf    curAcf[MP1],curCoeff[MP1],lsp_new[M];             

Cod_cng:       AR=DM(ener);
     /*--------Update Ener and sh_ener-------------*/
			   DM(ener+1)=AR;
			   AR=DM(sh_ener);
			   DM(sh_ener+1)=AR;
     /*--------Compute current Acfs---------------*/
			   I2=^Acf;
			   I1=^sh_Acf;
			   I3=^curAcf;
			   AY0=NB_CURACF;
			   CALL Calc_sum_acf; 
			   DM(sh_ener)=AR;
			   SR0=DM(curAcf);
			   AR=PASS SR0;
			   IF EQ JUMP zero_curAcf;
			   I0=^zero;
			   CNTR=MP1;
			   DO zero_zero UNTIL CE;
zero_zero:     DM(I0,M1)=0;
               I3=^curAcf;
			   I2=^zero;
			   I0=^curCoeff;
			   I1=^bid;
               CALL Levinson; 
    /*---------if first frame of silence => SID frame-----*/
zero_curAcf:   DM(ener)=SR0;
		       AR=DM(Enc_pastVad);
			   AR=PASS AR;
			   IF EQ JUMP gain_next;
			   I6=DM(analy);
			   AY0=1;
			   AR=PASS 0;
			   DM(I6,M4)=2;
			   DM(nb_ener)=AY0;
			   DM(count_fr0)=AR;
               I1=^ener;
			   I2=^sh_ener;
			   CALL Qua_Sidgain;
			   DM(energyq)=AR;
			   DM(cur_igain)=AX0;
			   JUMP gain_comm;
gain_next:     AY0=DM(nb_ener);
               AR=AY0+1;
			   AY0=NB_GAIN;
			   NONE=AR-AY0;
			   IF GT AR=PASS AY0;
			   DM(nb_ener)=AR;
			   I1=^ener;
               I2=^sh_ener;
			   AY0=DM(nb_ener);
			   CALL Qua_Sidgain;
			   DM(energyq)=AR;
			   DM(cur_igain)=AX0;
	/*---------Compute stationarity of current filter---------*/
	/*---------versus reference filter-------------------------*/
			   MX1=DM(ener);
			   MY1=FRAC_THRESH1;
			   CALL Cmp_filt; 
			   AR=DM(flag_chang);
			   AF=PASS AF;			   
			   IF NE AR=PASS 1;
	/*---------compare energy difference between current frame and last frame */
			   AX0=DM(prev_energy);
			   AY0=DM(energyq);
			   AR=AX0-AY0,AX1=AR;
			   AF=ABS AR;
			   AX0=2;
			   AF=AF-AX0,AR=AX1;
			   IF GT AR=PASS 1;
               DM(flag_chang)=AR;
			   AY0=DM(count_fr0);
			   AF=AY0+1,AX1=AR;
			   AR=PASS 0;
			   AX0=FR_SID_MIN;
			   NONE=AF-AX0;
			   IF LT JUMP gain_con;
               NONE=PASS AX1;
			   IF NE AR=PASS 2;
			   AF=PASS AX0;
gain_con:	   I6=DM(analy);
	           AR=PASS AF,DM(I6,M4)=AR;
               DM(count_fr0)=AR;
gain_comm:     I6=DM(analy);
			   AR=DM(I6,M4);
			   DM(analy)=I6;
			   AR=AR-2;
			   IF NE JUMP gain_abc_con;
	 /*--------Reset frame count and change flag */
			   DM(count_fr0)=AR;
			   DM(flag_chang)=AR;
 	 /*--------Compute past average filter */
			   CALL Calc_pastfilt; 
               I0=^RCoeff;
			   AX0=^pastCoeff;
			   CALL Calc_RCoeff; 
			   DM(sh_RCoeff)=AR;  
	 /*--------Compute stationarity of current filter  ---- */
	 /*--------versus past average filter               ----*/
	 /*--------if stationary--------------------------------*/
	 /*--------transmit average filter => new ref. filter---*/
			   MX1=DM(ener);
			   MY1=FRAC_THRESH2;
			   CALL Cmp_filt;     
			   AF=PASS AF;
			   I1=^pastCoeff;
			   IF EQ JUMP tran_con;
	 /*--------transmit current filter => new ref. filter */
			   I0=^RCoeff;
			   AX0=^curCoeff;
			   CALL Calc_RCoeff; 
			   DM(sh_RCoeff)=AR;
               I1=^curCoeff;
tran_con:      M3=M;
			   I2=I1;
			   MODIFY(I1,M1);
			   MODIFY(I2,M3);
	 /*--------Compute SID frame codes-----*/
			   I0=^lsp_new;
			   I3=^Enc_lspold_q;
			   CALL Az_lsp; 
	 /*--------LSP quantization------------*/
			   I1=^lsp_new+M-1;
			   CALL lsfq_noise; 
			   AR=DM(energyq);
			   DM(prev_energy)=AR;
   			   I6=DM(analy);
			   AR=DM(cur_igain);
			   DM(I6,M6)=AR;
			   DM(analy)=I6;
			   I4=^tab_Sidgain;
			   M5=AR;
			   MODIFY(I4,M5);
			   AR=PM(I4,M4);
			   DM(sid_gain)=AR;
      /*-------Compute new excitation-----------*/
gain_abc_con:  AR=DM(sid_gain);
			   AX0=DM(Enc_pastVad);
			   NONE=PASS AX0;
			   IF NE JUMP gain_cde;			  
			   MY0=A_GAIN1;
			   MR=AR * MY0(RND);
			   MY0=A_GAIN0;
			   AR=DM(Enc_curgain);
			   MR=AR * MY0(RND),AY0=MR1;
			   AR=MR1+AY0;
gain_cde:      DM(Enc_curgain)=AR;
			   I1=DM(Enc_excit);
			   MX0=DM(Enc_seed);
			   AX0=DM(Enc_curgain);		      
			   CALL Calc_exc_rand;
			   DM(Enc_seed)=MX0;
			   I1=^Enc_lspold_q;
			   I2=^lspSid_q;
			   I0=^Enc_Aqt;
			   CALL Int_qlpc;
//			   CNTR=M;
			   I1=^lspSid_q;
			   I0=^Enc_lspold_q;
			   CNTR=M;
			   DO old_sid UNTIL CE;
			   AR=DM(I1,M1);
old_sid:       DM(I0,M1)=AR;
    /*---------Update sumAcf if fr_cur = 0-------*/
			   AR=DM(fr_cur);
			   AR=PASS AR;
			   IF EQ CALL Update_sumAcf;
			   RTS;
/***************************************************************************
* procedure Update_cng:                                                    *
* Updates autocorrelation arrays                                           *
* used for DTX/CNG                                                         *
* If Vad=1 : updating of array sumAcf                                      *
* $$01/10/2000 checked Dtxmod module data variables and function           *
* Calling Parameters													   *	
*         I2   : MSB of frame autocorrelation					           *
*         AX0  : scaling factor associated								   * 
*         AY0  : current Vad decision								       *
* Return Values															   *
* Altered Registers: AR,AX0,AY0,AY1,SI,I1,I2,I3                            *	
* Computation Time : 18 cycles											   *	
****************************************************************************/
.ENTRY         Update_cng;

Update_cng:    //CNTR=SIZ_ACF-MP1;
			   I1=^Acf+SIZ_ACF-1;
			   I3=^Acf+SIZ_ACF-MP1-1;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区0| 久久精品国产一区二区| 欧洲一区在线电影| 视频一区中文字幕| 26uuu亚洲| 色综合久久综合| 日欧美一区二区| 国产偷国产偷精品高清尤物| 99精品视频一区| 亚洲aⅴ怡春院| 久久蜜臀精品av| 欧洲色大大久久| 国产一区二区三区在线观看精品| 亚洲图片激情小说| 欧美一区二区三区系列电影| 青椒成人免费视频| 国产精品人妖ts系列视频 | 视频一区二区欧美| 久久无码av三级| 欧美主播一区二区三区美女| 久久成人免费日本黄色| 亚洲欧美日韩在线播放| 日韩一区二区三区在线视频| 成+人+亚洲+综合天堂| 蜜臀av一区二区在线免费观看 | 成人欧美一区二区三区在线播放| 色天天综合色天天久久| 秋霞成人午夜伦在线观看| 中文字幕在线不卡视频| 日韩精品一区二区三区在线播放| 91麻豆成人久久精品二区三区| 蜜臀91精品一区二区三区| 亚洲男人天堂av| 精品成人佐山爱一区二区| 欧美性受xxxx黑人xyx| 国产一区不卡在线| 蜜臀久久久久久久| 亚洲国产日韩一区二区| 国产精品色婷婷| 精品国产伦一区二区三区免费| 欧美自拍丝袜亚洲| 99re成人在线| 丁香婷婷深情五月亚洲| 久久精品国产精品青草| 亚洲一区二区精品3399| 国产精品入口麻豆九色| 777色狠狠一区二区三区| 在线免费观看视频一区| 成人短视频下载| 国产91精品一区二区麻豆亚洲| 激情综合色综合久久综合| 韩国av一区二区三区在线观看| 韩国女主播一区| 国产91精品欧美| 色一情一伦一子一伦一区| 在线观看免费成人| 欧美精品久久久久久久久老牛影院| 欧美日韩国产成人在线免费| 91麻豆精品国产综合久久久久久 | 久久九九国产精品| 国产精品午夜在线观看| 中文字幕一区二区三区蜜月| 亚洲欧美一区二区三区孕妇| 亚洲愉拍自拍另类高清精品| 日韩精品一二三区| 极品美女销魂一区二区三区 | 亚洲制服欧美中文字幕中文字幕| 亚洲综合免费观看高清完整版 | 成人精品小蝌蚪| 91国偷自产一区二区三区观看| 欧美人妖巨大在线| 久久综合色8888| 亚洲欧洲精品一区二区三区| 亚洲国产婷婷综合在线精品| 蜜臀精品一区二区三区在线观看| 国产福利一区二区三区视频在线 | 国产成人综合网| 色老头久久综合| 日韩手机在线导航| 国产精品网站在线播放| 亚洲一区二区在线观看视频| 久久黄色级2电影| 99麻豆久久久国产精品免费优播| 欧美日韩一区在线观看| 久久精品水蜜桃av综合天堂| 伊人开心综合网| 国产在线视频精品一区| 91黄色免费版| 欧美激情中文不卡| 日本少妇一区二区| 99v久久综合狠狠综合久久| 911精品产国品一二三产区| 欧美精彩视频一区二区三区| 亚洲在线观看免费视频| 国产成人精品影视| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲第一会所有码转帖| 日韩av一区二区三区| 99久久伊人精品| 欧美一级久久久久久久大片| 1区2区3区精品视频| 美女在线视频一区| 91视视频在线直接观看在线看网页在线看| 91激情在线视频| 欧美激情一区二区在线| 日本成人超碰在线观看| 色8久久精品久久久久久蜜| 精品成人a区在线观看| 亚洲一区二区三区小说| 粉嫩绯色av一区二区在线观看| 91精品福利在线一区二区三区| 国产精品国产自产拍高清av王其| 免费日韩伦理电影| 欧美影院一区二区| 亚洲日本在线观看| 国产盗摄一区二区| 日韩欧美色综合| 视频一区二区三区中文字幕| 欧洲一区二区三区免费视频| 国产精品理伦片| 国产99久久精品| 国产校园另类小说区| 另类调教123区| 欧美精品高清视频| 亚洲成人一区二区| 91国产丝袜在线播放| 亚洲免费在线播放| av不卡在线播放| 国产精品国产三级国产普通话蜜臀 | 精品无人码麻豆乱码1区2区| 欧美精品一二三| 午夜视频在线观看一区二区 | 看电视剧不卡顿的网站| 欧美理论电影在线| 亚洲一区二区三区四区的| 色婷婷av一区二区三区软件| 亚洲视频精选在线| jlzzjlzz亚洲女人18| 国产精品亲子伦对白| 成人综合激情网| 国产色产综合色产在线视频| 国产精品一区一区三区| 国产亚洲一区二区三区四区 | 亚洲色图另类专区| 91在线一区二区| 伊人夜夜躁av伊人久久| 欧美在线啊v一区| 性做久久久久久免费观看| 4438成人网| 久久国产精品区| 欧美精彩视频一区二区三区| www.一区二区| 一二三区精品视频| 欧美一区二区日韩| 国产资源精品在线观看| 国产日韩欧美制服另类| 99视频精品全部免费在线| 夜色激情一区二区| 欧美一区二区三区免费大片| 精品一区二区三区在线播放| 精品国产91乱码一区二区三区| 国产一区 二区 三区一级| 国产亚洲精品精华液| 91美女视频网站| 日韩二区三区四区| 久久午夜色播影院免费高清| 不卡一区二区在线| 性做久久久久久久免费看| 精品国产乱码久久久久久1区2区| 国产成人午夜精品影院观看视频| 最好看的中文字幕久久| 欧美男男青年gay1069videost| 蜜桃久久久久久久| 国产精品美女久久久久aⅴ国产馆| 日本韩国欧美国产| 另类综合日韩欧美亚洲| 国产精品家庭影院| 欧美三区在线观看| 国产剧情av麻豆香蕉精品| 一区二区三区精品在线观看| 日韩视频一区二区在线观看| 成人免费av网站| 日韩av电影天堂| 国产精品伦理一区二区| 欧美日韩国产123区| 粗大黑人巨茎大战欧美成人| 亚洲午夜激情网站| 国产日韩精品一区二区三区| 欧美三级中文字幕| 成人免费av在线| 蜜桃传媒麻豆第一区在线观看| 国产精品久久久久久福利一牛影视 | 91亚洲永久精品| 日本午夜精品一区二区三区电影| 久久久99精品久久| 51久久夜色精品国产麻豆| av电影在线观看一区| 捆绑变态av一区二区三区| 亚洲综合一区二区| 18欧美乱大交hd1984|