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

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

?? g729a_cod_ld8a.c

?? DSP上優化的G.729A代碼
?? C
字號:
#include "../Common/typedef.h"
#include "../Include/G729A_basic_op.h"
#include "../Include/G729A_ld8a.h"

static Word16 G729A_old_speech[G729A_L_TOTAL];
static Word16 *G729A_speech, *G729A_p_window;

Word16 *G729A_new_speech;  //全局變量

static Word16 G729A_old_wsp[G729A_L_FRAME+G729A_PIT_MAX];
static Word16 *G729A_wsp;

static Word16 G729A_old_exc[G729A_L_FRAME+G729A_PIT_MAX+G729A_L_INTERPOL];
static Word16 *G729A_exc;

static Word16 G729A_lsp_old[G729A_M]={30000, 26000, 21000, 15000, 8000, 0, -8000,-15000,-21000,-26000};
static Word16 G729A_lsp_old_q[G729A_M];
	
static Word16  G729A_mem_w0[G729A_M], G729A_mem_w[G729A_M], G729A_mem_zero[G729A_M];
static Word16  G729A_sharp;
	
void G729AInit_Coder_ld8a(void)
{
		
	G729A_new_speech = G729A_old_speech + G729A_L_TOTAL - G729A_L_FRAME;         
	G729A_speech     = G729A_new_speech - G729A_L_NEXT;                    
	G729A_p_window   = G729A_old_speech + G729A_L_TOTAL - G729A_L_WINDOW;       
		
	G729A_wsp    = G729A_old_wsp + G729A_PIT_MAX;
	G729A_exc    = G729A_old_exc + G729A_PIT_MAX + G729A_L_INTERPOL;

	G729ASet_zero4(G729A_old_speech, G729A_L_TOTAL);			
	G729ASet_zero2(G729A_old_exc, G729A_PIT_MAX + G729A_L_INTERPOL); 
	G729ASet_zero(G729A_old_wsp, G729A_PIT_MAX);				
	G729ASet_zero2(G729A_mem_w,   G729A_M);						
	G729ASet_zero2(G729A_mem_w0,  G729A_M);
	G729ASet_zero2(G729A_mem_zero,G729A_M);
	G729A_sharp = G729A_SHARPMIN;
				
	G729ACopy2(G729A_lsp_old, G729A_lsp_old_q, G729A_M);
	G729ALsp_encw_reset();
	G729AInit_exc_err();
		
	return;
}
	
void G729ACoder_ld8a(Word16 ana[])
{
	Word16 Aq_t[(G729A_MP1)*2];          
	Word16 Ap_t[(G729A_MP1)*2];         
	Word16 *Aq, *Ap;                          

	Word16 h1[G729A_L_SUBFR];             
	Word16 xn[G729A_L_SUBFR];           
	Word16 xn2[G729A_L_SUBFR];            
	Word16 code[G729A_L_SUBFR];                
	Word16 y1[G729A_L_SUBFR];           
	Word16 y2[G729A_L_SUBFR];       
	Word16 g_coeff[4];                   
		
	Word16 g_coeff_cs[5];
	Word16 exp_g_coeff_cs[5];     
								   		
	Word16 i, j, k, i_subfr;
	Word16 T_op, T0, T0_min, T0_max, T0_frac;
	Word16 gain_pit, gain_code, index;
	Word16 temp, taming;
	Word32 L_temp;

	{
		Word16 r_l[G729A_MP1], r_h[G729A_MP1];               
		Word16 rc[G729A_M];                                
		Word16 lsp_new[G729A_M], lsp_new_q[G729A_M];                
			
		G729AAutocorr(G729A_p_window, G729A_M, r_h, r_l);               
		G729ALag_window(G729A_M, r_h, r_l);                          
		G729ALevinson(r_h, r_l, Ap_t, rc);                 
	
		G729AAz_lsp(Ap_t, lsp_new, G729A_lsp_old);           
		
		G729AQua_lsp(lsp_new, lsp_new_q, ana);
		ana += 2;                         

		G729AInt_qlpc(G729A_lsp_old_q, lsp_new_q, Aq_t);
			
		G729AWeight_Az(&Aq_t[0],   G729A_GAMMA1, G729A_M, &Ap_t[0]);
		G729AWeight_Az(&Aq_t[G729A_MP1], G729A_GAMMA1, G729A_M, &Ap_t[G729A_MP1]);
			
		G729ACopy2(lsp_new,   G729A_lsp_old,   G729A_M);
		G729ACopy2(lsp_new_q, G729A_lsp_old_q, G729A_M);
	}
		
	G729AResidu(&Aq_t[0], &G729A_speech[0], &G729A_exc[0], G729A_L_SUBFR);
	G729AResidu(&Aq_t[G729A_MP1], &G729A_speech[G729A_L_SUBFR], &G729A_exc[G729A_L_SUBFR], G729A_L_SUBFR);
		
	{
		Word16 Ap1[G729A_MP1];
			
		Ap = Ap_t;
		Ap1[0] = 4096;

		for(i=1; i<=G729A_M; i++)    
			Ap1[i] = G729Asub_s(Ap[i], G729Amult(Ap[i-1], 22938));
		
		G729ASyn_filt(Ap1, &G729A_exc[0], &G729A_wsp[0], G729A_L_SUBFR, G729A_mem_w, 1);
			
		Ap += G729A_MP1;

		for(i=1; i<=G729A_M; i++)    
			Ap1[i] = G729Asub_s(Ap[i], G729Amult(Ap[i-1], 22938));
		
		G729ASyn_filt(Ap1, &G729A_exc[G729A_L_SUBFR], &G729A_wsp[G729A_L_SUBFR], G729A_L_SUBFR, G729A_mem_w, 1);
	}
		
	T_op = G729APitch_ol_fast(G729A_wsp, G729A_PIT_MAX, G729A_L_FRAME);
		
	T0_min = G729Asub_s(T_op, 3);
	if (G729Asub_s(T0_min,G729A_PIT_MIN)<0) 
	{
		T0_min = G729A_PIT_MIN;
	}
		
	T0_max = G729Aadd_s(T0_min, 6);
	if (G729Asub_s(T0_max ,G729A_PIT_MAX)>0)
	{
		T0_max = G729A_PIT_MAX;
		T0_min = G729Asub_s(T0_max, 6);
	}
			
	Aq = Aq_t;     
	Ap = Ap_t;              
		
	for (i_subfr = 0;  i_subfr < G729A_L_FRAME; i_subfr += G729A_L_SUBFR)
	{
		h1[0] = 4096;
		G729ASet_zero(&h1[1], G729A_L_SUBFR-1);
		G729ASyn_filt(Ap, h1, h1, G729A_L_SUBFR, &h1[1], 0);
		G729ASyn_filt(Ap, &G729A_exc[i_subfr], xn, G729A_L_SUBFR, G729A_mem_w0, 0);
			
		T0 = G729APitch_fr3_fast(&G729A_exc[i_subfr], xn, h1, G729A_L_SUBFR, T0_min, T0_max,
		                	i_subfr, &T0_frac);
			
		index = G729AEnc_lag3(T0, T0_frac, &T0_min, &T0_max,G729A_PIT_MIN,G729A_PIT_MAX,i_subfr);
			
		*ana++ = index;
			
		if (i_subfr == 0) 
		{
			*ana++ = G729AParity_Pitch(index);
		}

		G729ASyn_filt(Ap, &G729A_exc[i_subfr], y1, G729A_L_SUBFR, G729A_mem_zero, 0);
			
		gain_pit = G729AG_pitch(xn, y1, g_coeff, G729A_L_SUBFR);
			
		taming = G729Atest_err(T0, T0_frac);
			
		if( taming == 1)
		{
			if (G729Asub_s(gain_pit, G729A_GPCLIP) > 0) 
			{
				gain_pit = G729A_GPCLIP;
			}
		}
		for (i = 0; i < G729A_L_SUBFR; i++)
		{
			L_temp = _smpy(y1[i], gain_pit);
			L_temp = _sshl(L_temp, 1);                
			xn2[i] = _ssub(xn[i], L_temp>>16);
		}	
			
		index = G729AACELP_Code_A(xn2, h1, T0, G729A_sharp, code, y2, &i);
			
		*ana++ = index;         
		*ana++ = i;              
			
		g_coeff_cs[0]     = g_coeff[0];            
		exp_g_coeff_cs[0] = G729Anegate(g_coeff[1]);    
		g_coeff_cs[1]     = G729Anegate(g_coeff[2]);    
		exp_g_coeff_cs[1] = G729Anegate(G729Aadd_s(g_coeff[3], 1));  

		G729ACorr_xy2( xn, y1, y2, g_coeff_cs, exp_g_coeff_cs );   
			
		*ana++ = G729AQua_gain(code, g_coeff_cs, exp_g_coeff_cs,
	                      G729A_L_SUBFR, &gain_pit, &gain_code, taming);
						
		G729A_sharp = gain_pit;
		G729A_sharp = _min2(G729A_SHARPMAX, G729A_sharp);
		G729A_sharp = _max2(G729A_SHARPMIN, G729A_sharp);	
		for (i = 0; i < G729A_L_SUBFR;  i++)
		{              
			L_temp = _smpy(G729A_exc[i+i_subfr], gain_pit);
			L_temp = _sadd(L_temp, _smpy(code[i], gain_code));
			L_temp = _sshl(L_temp, 1);
			G729A_exc[i+i_subfr] = (Word16)(_sadd(L_temp, (Word32)0x00008000L)>>16);
		}
	
		G729Aupdate_exc_err(gain_pit, T0);
		for (i = G729A_L_SUBFR-G729A_M, j = 0; i < G729A_L_SUBFR; i++, j++)
		{
			temp       = _sshl(_smpy(y1[i], gain_pit),  1) >> 16;
			k          = _sshl(_smpy(y2[i], gain_code), 2) >> 16;
			G729A_mem_w0[j]  = _ssub(xn[i], _sadd(temp, k));
		}	
		Aq += G729A_MP1;           
		Ap += G729A_MP1;
			
}
  
    G729ACopy4(&G729A_old_speech[G729A_L_FRAME], &G729A_old_speech[0], G729A_L_TOTAL-G729A_L_FRAME);
    G729ACopy(&G729A_old_wsp[G729A_L_FRAME], &G729A_old_wsp[0], G729A_PIT_MAX);
    G729ACopy2(&G729A_old_exc[G729A_L_FRAME], &G729A_old_exc[0], G729A_PIT_MAX+G729A_L_INTERPOL);
  
    return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合久久国产九一剧情麻豆| 欧美国产日本韩| 欧洲生活片亚洲生活在线观看| 国产成人亚洲综合色影视| 麻豆久久久久久| 狠狠色狠狠色综合系列| 黄色成人免费在线| 国产成人高清视频| 丁香婷婷深情五月亚洲| 成人免费视频播放| 91啪亚洲精品| 欧美日韩精品三区| 3atv在线一区二区三区| 欧美一区二区观看视频| 欧美成人一区二区| 国产精品女同互慰在线看| 国产精品高潮呻吟久久| 依依成人精品视频| 日本三级韩国三级欧美三级| 久久精品国产亚洲5555| 顶级嫩模精品视频在线看| 91欧美激情一区二区三区成人| 91极品美女在线| 日韩一二三区不卡| 国产午夜精品理论片a级大结局| 国产精品久久久久久久久图文区 | 亚洲精品乱码久久久久久久久| 亚洲综合av网| 人人爽香蕉精品| 大尺度一区二区| 在线亚洲一区观看| 精品黑人一区二区三区久久| 国产精品区一区二区三区| 亚洲午夜一区二区| 国产成人av一区| 欧洲色大大久久| 久久久久青草大香线综合精品| 亚洲精品中文字幕乱码三区| 男男gaygay亚洲| av一区二区三区在线| 91精品久久久久久久99蜜桃| 国产午夜亚洲精品午夜鲁丝片 | 亚洲制服丝袜在线| 久久精品国产一区二区| 欧美亚洲国产怡红院影院| 精品99一区二区| 亚洲综合久久久久| 国产成人亚洲综合色影视 | 蜜臀av一区二区在线免费观看| 成人精品亚洲人成在线| 91精品国产综合久久久蜜臀粉嫩| 亚洲欧洲成人精品av97| 国内成人免费视频| 91精选在线观看| 亚洲一区自拍偷拍| 91丨porny丨户外露出| 久久久久久亚洲综合影院红桃| 日韩电影在线观看电影| 欧美性生活久久| 自拍偷拍欧美激情| www.av精品| 国产欧美日韩不卡| 国产乱码精品一区二区三区av | 国产精品护士白丝一区av| 麻豆精品在线播放| 8x8x8国产精品| 天堂一区二区在线| 欧美疯狂做受xxxx富婆| 一区二区三区加勒比av| 91丨九色porny丨蝌蚪| 国产精品免费视频一区| 国产成人免费在线观看不卡| 欧美mv日韩mv| 久久精品国产99久久6| 日韩一区二区精品| 日韩成人精品在线| 欧美一区二区三区影视| 免费在线成人网| 欧美精品一区二区蜜臀亚洲| 国产乱色国产精品免费视频| 亚洲精品一区二区在线观看| 国产在线精品一区二区| 国产亚洲精品久| 丁香亚洲综合激情啪啪综合| 国产精品成人在线观看| 色综合视频一区二区三区高清| 亚洲欧美国产高清| 欧美视频一区二区三区四区| 五月天亚洲精品| 欧美大片在线观看| 国产乱子轮精品视频| www欧美成人18+| 成人精品国产一区二区4080| 国产精品盗摄一区二区三区| 欧美在线观看禁18| 日本中文在线一区| 久久女同性恋中文字幕| 91视频www| 天堂av在线一区| 久久综合精品国产一区二区三区| 成人三级伦理片| 亚洲成人自拍偷拍| 国产亚洲综合在线| 91精品1区2区| 国产一区二区三区久久悠悠色av| 国产精品青草久久| 欧美日韩国产高清一区二区| 国产一区二区在线观看视频| 国产精品国产馆在线真实露脸 | 亚洲伦理在线精品| 91精品国模一区二区三区| 国产.欧美.日韩| 天天操天天综合网| 国产精品对白交换视频| 欧美二区三区91| 成人97人人超碰人人99| 日韩一区精品字幕| 国产精品久久久久永久免费观看 | 91久久奴性调教| 久久电影国产免费久久电影 | 欧美一级国产精品| 91免费版在线看| 国产在线不卡视频| 亚洲大片一区二区三区| 欧美国产禁国产网站cc| 欧美一区二区精品| 色欧美乱欧美15图片| 国产高清精品网站| 日本va欧美va精品| 亚洲美女精品一区| 国产目拍亚洲精品99久久精品| 欧美日韩一区二区三区四区五区 | 亚洲一区二区精品久久av| 久久久久久久久99精品| 91精品国产91热久久久做人人| av中文字幕亚洲| 国产高清精品网站| 精品午夜一区二区三区在线观看| 亚洲午夜久久久久中文字幕久| 国产人成一区二区三区影院| 欧美刺激午夜性久久久久久久| 欧美特级限制片免费在线观看| 成人三级在线视频| 国产一区二区三区精品欧美日韩一区二区三区 | 久久这里只有精品6| 欧美精品久久久久久久多人混战| 97se亚洲国产综合自在线| 成人美女在线观看| 国产成人高清在线| 国产99久久久久| 国产高清不卡一区二区| 精油按摩中文字幕久久| 人人精品人人爱| 捆绑变态av一区二区三区| 天天操天天干天天综合网| 日韩国产高清影视| 日韩黄色免费网站| 日韩1区2区日韩1区2区| 日韩不卡免费视频| 日韩电影免费在线观看网站| 蜜桃久久久久久| 国产精品一区二区果冻传媒| 国产精品综合二区| 成人av在线一区二区| 91在线看国产| 欧美日韩激情一区二区| 欧美精选午夜久久久乱码6080| 欧美精品一二三| 日韩精品中文字幕在线一区| 欧美成人精精品一区二区频| 精品福利一区二区三区 | 在线亚洲人成电影网站色www| 91精品福利视频| 欧美mv日韩mv国产网站app| 久久久久久久久久久久久女国产乱 | 一区二区三区高清不卡| 五月婷婷综合激情| 狠狠色综合播放一区二区| av在线不卡电影| 884aa四虎影成人精品一区| 欧美精品一区在线观看| 最近日韩中文字幕| 天天操天天色综合| 国产成人日日夜夜| 欧美日韩一区视频| 国产日韩欧美高清在线| 亚洲男人天堂一区| 韩国三级电影一区二区| 不卡的电影网站| 日韩欧美的一区二区| 中文字幕亚洲一区二区va在线| 亚洲综合999| 成人毛片在线观看| 日韩欧美一区在线| 亚洲乱码国产乱码精品精98午夜| 六月婷婷色综合| 欧美日韩国产首页| 亚洲欧洲韩国日本视频 | 中文字幕免费观看一区| 视频在线观看一区二区三区|