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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? g729a_acelp_ca.c

?? DSP上優(yōu)化的G.729A代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

#include "../Common/typedef.h"
#include "../Include/G729A_basic_op.h"
#include "../Include/G729A_ld8a.h"

static void G729ACor_h(Word16 *H, Word16 *rr );    
static Word16 G729AD4i40_17_fast(Word16 dn[], Word16 *rr, Word16 h[], Word16 cod[], Word16 y[], Word16 *sign);

Word16  G729AACELP_Code_A(Word16 x[], Word16 h[], Word16 T0, Word16 pitch_sharp, Word16 code[], Word16 y[], Word16 *sign)
{
	Word16 i, index, sharp;
	Word16 Dn[G729A_L_SUBFR];
	Word16 rr[G729A_DIM_RR];
	
	sharp = G729Ashl_s(pitch_sharp, 1);          
	if (T0 < G729A_L_SUBFR)
		for (i = T0; i < G729A_L_SUBFR; i++)     
			h[i] = G729Aadd_s(h[i], G729Amult(h[i-T0], sharp));
		
		G729ACor_h(h, rr);
		
		G729ACor_h_X(h, x, Dn);
		
		index = G729AD4i40_17_fast(Dn, rr, h, code, y, sign);
		
		if(T0 < G729A_L_SUBFR)
			for (i = T0; i < G729A_L_SUBFR; i++)    
				code[i] = G729Aadd_s(code[i], G729Amult(code[i-T0], sharp));
			
			return index;
}

static void G729ACor_h(Word16 *H, Word16 *rr)
{
	Word16 *rri0i0, *rri1i1, *rri2i2, *rri3i3, *rri4i4;
	Word16 *rri0i1, *rri0i2, *rri0i3, *rri0i4;
	Word16 *rri1i2, *rri1i3, *rri1i4;
	Word16 *rri2i3, *rri2i4;
	
	Word16 *p0, *p1, *p2, *p3, *p4;
	
	Word16 *ptr_hd, *ptr_hf, *ptr_h1, *ptr_h2;
	Word32 cor;
	Word16 i, k, ldec, l_fin_sup, l_fin_inf;
	Word16 h[G729A_L_SUBFR];
	Word32 L_result;
	
	cor = 0;

	if(G729Asub_s(G729Aextract_h(cor),32000) > 0)
	{
		for(i=0; i<G729A_L_SUBFR; i++) 
		{
			L_result = _sshvr((Word32)H[i], 1);
            h[i] = (Word16)_spack2(L_result, L_result);
		}
	}
	else
	{
		k = G729Anorm_l(cor);
		k = G729Ashr_s(k, 1);
		
		for(i=0; i<G729A_L_SUBFR; i++) 
		{
			L_result = _sshl((Word32)H[i], k);
            h[i] = (Word16)_spack2(L_result, L_result);
		}
	}

	rri0i0 = rr;
	rri1i1 = rri0i0 + G729A_NB_POS;
	rri2i2 = rri1i1 + G729A_NB_POS;
	rri3i3 = rri2i2 + G729A_NB_POS;
	rri4i4 = rri3i3 + G729A_NB_POS;
	rri0i1 = rri4i4 + G729A_NB_POS;
	rri0i2 = rri0i1 + G729A_MSIZE;
	rri0i3 = rri0i2 + G729A_MSIZE;
	rri0i4 = rri0i3 + G729A_MSIZE;
	rri1i2 = rri0i4 + G729A_MSIZE;
	rri1i3 = rri1i2 + G729A_MSIZE;
	rri1i4 = rri1i3 + G729A_MSIZE;
	rri2i3 = rri1i4 + G729A_MSIZE;
	rri2i4 = rri2i3 + G729A_MSIZE;
	
	p0 = rri0i0 + G729A_NB_POS-1;   
	p1 = rri1i1 + G729A_NB_POS-1;
	p2 = rri2i2 + G729A_NB_POS-1;
	p3 = rri3i3 + G729A_NB_POS-1;
	p4 = rri4i4 + G729A_NB_POS-1;
	
	ptr_h1 = h;
	cor    = 0;

	for(i=0;  i<G729A_NB_POS; i++)
	{
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h1)); ptr_h1++;
		*p4-- = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h1)); ptr_h1++;
		*p3-- = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h1)); ptr_h1++;
		*p2-- = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h1)); ptr_h1++;
		*p1-- = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h1)); ptr_h1++;
		*p0-- = cor>>16;
	}
	
	l_fin_sup = G729A_MSIZE-1;
	l_fin_inf = l_fin_sup-(Word16)1;
	ldec = G729A_NB_POS+1;
	
	ptr_hd = h;
	ptr_hf = ptr_hd + 1;
	
	for(k=0; k<G729A_NB_POS; k++) 
	{
		
		p3 = rri2i3 + l_fin_sup;
		p2 = rri1i2 + l_fin_sup;
		p1 = rri0i1 + l_fin_sup;
		p0 = rri0i4 + l_fin_inf;
		
		cor = 0;
		ptr_h1 = ptr_hd;
		ptr_h2 =  ptr_hf;

		for(i=k+(Word16)1; i<G729A_NB_POS; i++ ) 
		{			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p3 = G729Aextract_h(cor);
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p2 = G729Aextract_h(cor);
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p1 = G729Aextract_h(cor);
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p0 = G729Aextract_h(cor);
			
			p3 -= ldec;
			p2 -= ldec;
			p1 -= ldec;
			p0 -= ldec;
		}
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p3 = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p2 = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p1 = cor>>16;
		
		l_fin_sup -= G729A_NB_POS;
		l_fin_inf--;
		ptr_hf += G729A_STEP;
	}
	
	ptr_hd = h;
	ptr_hf = ptr_hd + 2;
	l_fin_sup = G729A_MSIZE-1;
	l_fin_inf = l_fin_sup-(Word16)1;
	for(k=0; k<G729A_NB_POS; k++) 
	{
		
		p4 = rri2i4 + l_fin_sup;
		p3 = rri1i3 + l_fin_sup;
		p2 = rri0i2 + l_fin_sup;
		p1 = rri1i4 + l_fin_inf;
		p0 = rri0i3 + l_fin_inf;
		
		cor = 0;
		ptr_h1 = ptr_hd;
		ptr_h2 =  ptr_hf;

		for(i=k+(Word16)1; i<G729A_NB_POS; i++ ) 
		{			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p4 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p3 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p2 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p1 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p0 = cor>>16;
			
			p4 -= ldec;
			p3 -= ldec;
			p2 -= ldec;
			p1 -= ldec;
			p0 -= ldec;
		}
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p4 = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p3 = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p2 = cor>>16;
		
		l_fin_sup -= G729A_NB_POS;
		l_fin_inf--;
		ptr_hf += G729A_STEP;
	}
	
	ptr_hd = h;
	ptr_hf = ptr_hd + 3;
	l_fin_sup = G729A_MSIZE-1;
	l_fin_inf = l_fin_sup-(Word16)1;
	for(k=0; k<G729A_NB_POS; k++) 
	{		
		p4 = rri1i4 + l_fin_sup;
		p3 = rri0i3 + l_fin_sup;
		p2 = rri2i4 + l_fin_inf;
		p1 = rri1i3 + l_fin_inf;
		p0 = rri0i2 + l_fin_inf;
		
		ptr_h1 = ptr_hd;
		ptr_h2 =  ptr_hf;
		cor = 0;
		for(i=k+(Word16)1; i<G729A_NB_POS; i++ ) 
		{			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p4 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p3 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p2 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p1 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p0 = cor>>16;
			
			p4 -= ldec;
			p3 -= ldec;
			p2 -= ldec;
			p1 -= ldec;
			p0 -= ldec;
		}
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p4 = cor>>16;
		
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p3 = cor>>16;
		
		l_fin_sup -= G729A_NB_POS;
		l_fin_inf--;
		ptr_hf += G729A_STEP;
	}
	
	ptr_hd = h;
	ptr_hf = ptr_hd + 4;
	l_fin_sup = G729A_MSIZE-1;
	l_fin_inf = l_fin_sup-(Word16)1;
	for(k=0; k<G729A_NB_POS; k++) 
	{		
		p3 = rri0i4 + l_fin_sup;
		p2 = rri2i3 + l_fin_inf;
		p1 = rri1i2 + l_fin_inf;
		p0 = rri0i1 + l_fin_inf;
		
		ptr_h1 = ptr_hd;
		ptr_h2 =  ptr_hf;
		cor = 0;
		for(i=k+(Word16)1; i<G729A_NB_POS; i++ ) 
		{			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p3 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p2 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p1 = cor>>16;
			
			cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
			*p0 = cor>>16;
			
			p3 -= ldec;
			p2 -= ldec;
			p1 -= ldec;
			p0 -= ldec;
		}
		cor = _sadd(cor, _smpy(*ptr_h1, *ptr_h2)); ptr_h1++; ptr_h2++;
		*p3 = cor>>16;
		
		l_fin_sup -= G729A_NB_POS;
		l_fin_inf--;
		ptr_hf += G729A_STEP;
	}
	return;
}

static Word16 G729AD4i40_17_fast(Word16 dn[], Word16 rr[], Word16 h[], Word16 cod[], Word16 y[], Word16 *sign)
{
	Word16 i0, i1, i2, i3, ip0, ip1, ip2, ip3;
	Word16 i, j, ix, iy, track, trk, max;
	Word16 prev_i0, i1_offset;
	Word16 psk, ps, ps0, ps1, ps2, sq, sq2;
	Word16 alpk, alp, alp_16;
	Word32 s, alp0, alp1, alp2;
	Word16 *p0, *p1, *p2, *p3, *p4;
	Word16 sign_dn[G729A_L_SUBFR], sign_dn_inv[G729A_L_SUBFR], *psign;
	Word16 tmp_vect[G729A_NB_POS];
	Word16 *rri0i0, *rri1i1, *rri2i2, *rri3i3, *rri4i4;
	Word16 *rri0i1, *rri0i2, *rri0i3, *rri0i4;
	Word16 *rri1i2, *rri1i3, *rri1i4;
	Word16 *rri2i3, *rri2i4;
	
	Word16  *ptr_rri0i3_i4;
	Word16  *ptr_rri1i3_i4;
	Word16  *ptr_rri2i3_i4;
	Word16  *ptr_rri3i3_i4;
	
	rri0i0 = rr;
	rri1i1 = rri0i0 + G729A_NB_POS;
	rri2i2 = rri1i1 + G729A_NB_POS;
	rri3i3 = rri2i2 + G729A_NB_POS;
	rri4i4 = rri3i3 + G729A_NB_POS;
	rri0i1 = rri4i4 + G729A_NB_POS;
	rri0i2 = rri0i1 + G729A_MSIZE;
	rri0i3 = rri0i2 + G729A_MSIZE;
	rri0i4 = rri0i3 + G729A_MSIZE;
	rri1i2 = rri0i4 + G729A_MSIZE;
	rri1i3 = rri1i2 + G729A_MSIZE;
	rri1i4 = rri1i3 + G729A_MSIZE;
	rri2i3 = rri1i4 + G729A_MSIZE;
	rri2i4 = rri2i3 + G729A_MSIZE;

	for (i=0; i<G729A_L_SUBFR; i++)
	{
		sign_dn[i] = (dn[i] >= 0) ? G729AMAX_16 : G729AMIN_16;
		sign_dn_inv[i] = (dn[i] >= 0) ? G729AMIN_16 : G729AMAX_16;
		dn[i] = (dn[i] >= 0) ? dn[i] : G729Anegate(dn[i]);
	}
	
	p0 = rri0i1;
	p1 = rri0i2;
	p2 = rri0i3;
	p3 = rri0i4;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品露脸国语对白| 欧美日韩国产美| 一区二区免费看| 2023国产精华国产精品| 91成人免费在线| 国产乱色国产精品免费视频| 艳妇臀荡乳欲伦亚洲一区| 精品国产91亚洲一区二区三区婷婷| 色综合激情久久| 国产一区二区三区精品视频| 午夜av电影一区| 一区二区三区日本| 亚洲国产精品成人综合| 欧美精品一区二区三区一线天视频 | 国产福利一区在线观看| 日韩激情中文字幕| 一区二区三区在线免费播放| 久久精品视频在线看| 日韩欧美国产麻豆| 欧美日韩国产综合一区二区三区| 国产成人免费9x9x人网站视频| 蓝色福利精品导航| 国产69精品久久99不卡| 日产国产高清一区二区三区| 一区二区三区日韩在线观看| 亚洲人一二三区| 国产精品久久看| 中文欧美字幕免费| 国产欧美精品在线观看| 久久蜜桃香蕉精品一区二区三区| 日韩一区二区三区免费看| 欧美日韩aaaaa| 欧美日韩一区二区三区四区五区| 在线亚洲欧美专区二区| 91麻豆国产精品久久| 99久久99久久久精品齐齐| 成人av在线影院| 成人黄色小视频在线观看| 成人免费观看视频| 91麻豆免费在线观看| 本田岬高潮一区二区三区| 成人永久aaa| fc2成人免费人成在线观看播放| 国产精品18久久久久| 国产精品一区二区久久精品爱涩| 国产一区二区三区免费播放| 国产成人av电影| 97se亚洲国产综合自在线观| 一本一道久久a久久精品| 在线亚洲免费视频| 欧美日韩精品一二三区| 日韩欧美精品三级| 欧美不卡一区二区三区四区| 久久久天堂av| 国产精品久久久久久久浪潮网站| 亚洲精品一二三区| 午夜精品久久久久久久| 麻豆91在线观看| 国产寡妇亲子伦一区二区| 97久久人人超碰| 在线影院国内精品| 欧美一二三四区在线| 久久久久久久久久久电影| 一区二区三区欧美日| 亚洲欧洲美洲综合色网| 亚洲视频你懂的| 一区二区三区电影在线播| 亚洲成av人片| 极品美女销魂一区二区三区| 床上的激情91.| 欧美综合视频在线观看| 日韩亚洲欧美高清| 欧美激情一区在线观看| 一区二区三区**美女毛片| 日av在线不卡| 成人午夜视频在线| 欧美疯狂做受xxxx富婆| 久久久精品黄色| 亚洲精品国产一区二区精华液| 丝袜诱惑亚洲看片| 国产99久久久国产精品| 成+人+亚洲+综合天堂| 在线观看视频91| 欧美大胆人体bbbb| 亚洲图片另类小说| 日韩精品五月天| 成人ar影院免费观看视频| 欧美精品精品一区| 国产精品网站在线观看| 日本麻豆一区二区三区视频| 国产99久久久国产精品| 欧美日韩精品福利| 中文一区在线播放| 日韩和的一区二区| 99re在线精品| 久久天天做天天爱综合色| 亚洲一区二区三区小说| 国产成人免费网站| 欧美一级片在线| 一区二区三区免费| 岛国av在线一区| 日韩免费福利电影在线观看| 一区二区三区中文字幕| 懂色av一区二区三区免费观看| 在线不卡一区二区| 成人美女视频在线观看18| 日韩精品最新网址| 亚洲国产欧美在线人成| 99久久免费精品| 国产日韩精品视频一区| 色婷婷综合久久久久中文| 欧美一二三四区在线| 亚洲一区二区三区中文字幕在线| 国产.欧美.日韩| 精品国产一区久久| 日韩成人一级大片| 欧美日韩精品高清| 亚洲综合在线视频| 91在线观看一区二区| 欧美国产日韩亚洲一区| 久久99精品国产91久久来源| 欧美日韩精品欧美日韩精品| 一区二区三区不卡在线观看| 91蜜桃免费观看视频| 亚洲欧洲一区二区三区| 国产99精品在线观看| 久久精品综合网| 国产精品亚洲一区二区三区在线 | 日韩**一区毛片| 欧美影院一区二区| 亚洲免费三区一区二区| 91小视频在线免费看| 国产精品久久毛片a| eeuss鲁片一区二区三区在线观看| 国产欧美一区二区精品忘忧草| 国模一区二区三区白浆| 国产精品1区2区| 国产亚洲成av人在线观看导航| 激情国产一区二区| 欧美精品一区二区三区蜜臀| 久久精品国产成人一区二区三区 | 国产免费久久精品| aaa国产一区| 亚洲精品视频免费观看| 欧美色图激情小说| 日本欧美一区二区在线观看| 日韩午夜在线播放| 国内成人自拍视频| 欧美激情综合在线| 91免费在线播放| 亚洲韩国精品一区| 91精品国产麻豆国产自产在线 | 1000精品久久久久久久久| 99久久99久久精品免费观看 | 日本伊人色综合网| 精品国精品国产尤物美女| 粉嫩av一区二区三区在线播放| 国产精品麻豆99久久久久久| 91久久精品网| 美国毛片一区二区| 中文字幕不卡在线观看| 一本一道久久a久久精品| 亚洲午夜久久久久久久久电影网| 欧美久久一区二区| 国产一区二三区好的| 国产精品免费人成网站| 欧美色男人天堂| 国产一区二区免费看| 亚洲蜜桃精久久久久久久| 777xxx欧美| 粉嫩欧美一区二区三区高清影视| 亚洲狠狠丁香婷婷综合久久久| 欧美精品少妇一区二区三区| 国产老肥熟一区二区三区| 亚洲人成网站色在线观看| 91精品国产综合久久精品app| 国产乱人伦偷精品视频免下载| 亚洲欧美日韩一区二区三区在线观看| 欧美精品日韩综合在线| 国产很黄免费观看久久| 2021国产精品久久精品| 国产成人综合网| 一区二区三区欧美日| 精品电影一区二区三区| 色婷婷久久久久swag精品| 免费亚洲电影在线| 国产精品久久久久久妇女6080| 欧美日韩二区三区| 丁香婷婷深情五月亚洲| 亚洲成人免费视频| 国产精品免费久久久久| 日韩精品一区在线观看| 色婷婷综合在线| 国内成人精品2018免费看| 亚洲国产精品久久不卡毛片 | 欧美乱熟臀69xxxxxx| 成人精品国产一区二区4080| 肉色丝袜一区二区| 中文字幕在线不卡视频| 日韩久久久久久|