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

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

?? g729ab.c

?? 語音編碼G.729 語音編碼G.729
?? C
字號(hào):
/*-------------------------------------------------------------* * g729ab.c - init & line packing for G.729A/B 8.0 kb/s codec  * *-------------------------------------------------------------*/#include <memory.h>#include "g729ab.h"#if defined(_MSC_VER)#	define __inline__	__inline#endif/* line packing ops */__inline__ static void   put32_BE(unsigned char *out, INT32 bits);__inline__ static INT32 get32_BE(unsigned char *in);__inline__ static void   put16_BE(unsigned char *out, INT32 bits);__inline__ static INT32 get16_BE(unsigned char *in);__inline__ static void float_to_sint16(INT16 *dst, FLOAT *src, int len);voidg729_init_coder(struct cod_state *cod, int vad_enable){	cod->frame = 0;	cod->vad_enable = vad_enable;	init_pre_process(&cod->preproc_s);	init_coder_ld8a(&cod->cod_s);	/* for G.729B */	if (vad_enable)		init_cod_cng(&cod->cod_s.cng_s);}intg729_coder(struct cod_state *cod, INT16 *DataBuff, char *Vout, int* poutlen){	int parm[1 + PRM_SIZE];        /* Analysis parameters + frame type */	{		int x;		for (x = 0; x < L_FRAME; ++x)			cod->cod_s.new_speech[x] = DataBuff[x];	}    if (cod->frame == 32767)		cod->frame = 256;    else		cod->frame++;    pre_process(&cod->preproc_s, cod->cod_s.new_speech, L_FRAME);	coder_ld8a(&cod->cod_s, parm, cod->frame, cod->vad_enable);	if (parm[0] != G729_TYPE_DONTSEND)		g729_line_pack(parm, Vout, poutlen);	else		*poutlen = 0;	return 0;}voidg729_init_decoder(struct dec_state *dec){	init_decod_ld8a(&dec->dec_s);	init_post_filter(&dec->postfilt_s);	init_post_process(&dec->postproc_s);	memset(dec->synth_buf, 0, sizeof(dec->synth_buf[0]) * M);	dec->synth = dec->synth_buf + M;	/* for G.729b */	init_dec_cng(&dec->dec_s.cng_s);}intg729_decoder(struct dec_state *dec, INT16 *DataBuff, char *Vinp, int inplen){	int    parm[2+PRM_SIZE];            /* Synthesis parameters + BFI */	FLOAT  Az_dec[MP1*2];               /* Decoded Az for post-filter */	int    T2[2];                       /* Decoded Pitch              */	int    Ftyp;	int    Vad;	if (inplen == G729_VOICE_FRAME_SIZE)		Ftyp = G729_TYPE_VOICE;	else if (inplen == G729_SID_FRAME_SIZE)		Ftyp = G729_TYPE_SID;	else		return -1;	g729_line_unpack(parm, Vinp, Ftyp);	decod_ld8a(&dec->dec_s, parm, dec->synth, Az_dec, T2, &Vad);	post_filter(&dec->postfilt_s, dec->synth, Az_dec, T2, Vad);	post_process(&dec->postproc_s, dec->synth, L_FRAME);	float_to_sint16(DataBuff, dec->synth, L_FRAME);	return 0;}voidg729_line_pack(int* prm, unsigned char *Vout, int* poutlen){	if (prm[0] == G729_TYPE_DONTSEND)	{		*poutlen = 0;		return;	}	else if (prm[0] == G729_TYPE_VOICE)	{		INT32 bits;		*poutlen = G729_VOICE_FRAME_SIZE;		bits =	((prm[1] & 0xff) << 24) | ((prm[2] & 0x3ff) << 14) |				((prm[3] & 0xff) <<  6) | ((prm[4] & 0x001) <<  5) |				((prm[5] >> 8) & 0x1f);		put32_BE(Vout, bits);		Vout += 4;		bits =	((prm[5] & 0xff) << 24) | ((prm[6] & 0x0f) << 20) |				((prm[7] & 0x7f) << 13) | ((prm[8] & 0x1f) <<  8) |				((prm[9] >> 5) & 0xff);		put32_BE(Vout, bits);		Vout += 4;		bits =	((prm[9] & 0x1f) << 11) | ((prm[10] & 0x0f) << 7) |				(prm[11] & 0x7f);		put16_BE(Vout, bits);	}	else if (prm[0] == G729_TYPE_SID)	{		INT32 bits;		*poutlen = G729_SID_FRAME_SIZE;		bits =	((prm[1] << 15) & 0x01) | ((prm[2] << 10) & 0x1f) |				((prm[3] <<  6) & 0x0f) | ((prm[4] <<  1) & 0x1f);		put16_BE(Vout, bits);	}	else		*poutlen = 0;}voidg729_line_unpack(int* prm, unsigned char *Vinp, int Ftyp){	prm[0] = 0;  /* no frame erasures */	prm[1] = Ftyp;		if (Ftyp == G729_TYPE_DONTSEND)	{		prm[0] = 1;	/* frame erased */	}	else if (Ftyp == G729_TYPE_VOICE)	{		INT32 bits[3];		bits[0] = get32_BE(Vinp);		Vinp += 4;		bits[1] = get32_BE(Vinp);		Vinp += 4;		bits[2] = get16_BE(Vinp);		prm[ 2] = (bits[0] >> 24) & 0x0ff;		prm[ 3] = (bits[0] >> 14) & 0x3ff;		prm[ 4] = (bits[0] >>  6) & 0x0ff;		prm[ 5] = (bits[0] >>  5) & 0x001;		prm[ 6] = ((bits[0] & 0x1f) << 8) | ((bits[1] >> 24) & 0xff);		prm[ 7] = (bits[1] >> 20) & 0x00f;		prm[ 8] = (bits[1] >> 13) & 0x07f;		prm[ 9] = (bits[1] >>  8) & 0x01f;		prm[10] = ((bits[1] & 0xff) << 5) | ((bits[2] >> 11) & 0x1f);		prm[11] = (bits[2] >>  7) & 0x0f;		prm[12] = (bits[2] & 0x7f);		/* check parity and put 1 in parm[5] if parity error */		prm[5] = check_parity_pitch(prm[4], prm[5]);			}	else if (Ftyp == G729_TYPE_SID)	{		INT32 bits;		bits = get16_BE(Vinp);		prm[2] = (bits >> 15) & 0x01;		prm[3] = (bits >> 10) & 0x1f;		prm[4] = (bits >>  6) & 0x0f;		prm[5] = (bits >>  1) & 0x1f;	}	else	{		prm[0] = 1;	/* frame erased */		prm[1] = G729_TYPE_DONTSEND;	}}__inline__ static voidput32_BE(unsigned char *out, INT32 bits){	out[0] = bits >> 24;	out[1] = bits >> 16;	out[2] = bits >> 8;	out[3] = bits;}__inline__ static INT32get32_BE(unsigned char *in){	return (in[0] << 24) | (in[1] << 16) | (in[2] << 8) | in[3];}__inline__ static voidput16_BE(unsigned char *out, INT32 bits){	out[0] = bits >> 8;	out[1] = bits;}__inline__ static INT32get16_BE(unsigned char *in){	return (in[0] << 8) | in[1];}__inline__ static voidfloat_to_sint16(INT16 *dst, FLOAT *src, int len){	for ( ; len; --len, ++dst, ++src)	{	/* round and convert to int  */		FLOAT t = *src;		if (t >= (F)0.0)			t += (F)0.5;		else			t -= (F)0.5;		if (t > (F)32767.0)			*dst = 32767;		else if (t < (F)-32768.0)			*dst = -32768;		else			*dst = (INT16) t;	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清免费不卡视频| 国产一区中文字幕| 欧美性猛片aaaaaaa做受| 亚洲精品美腿丝袜| 欧美怡红院视频| 亚洲 欧美综合在线网络| 欧美一区二区三区视频在线观看 | 色综合天天综合色综合av| 国产精品美女一区二区三区| 99久久伊人精品| 亚洲国产综合在线| 日韩精品中文字幕一区二区三区 | 日韩一区二区免费视频| 久久99蜜桃精品| 欧美国产亚洲另类动漫| 色婷婷av一区| 天天爽夜夜爽夜夜爽精品视频| 日韩一二三区视频| 国产成人亚洲综合a∨婷婷| 国产精品福利一区二区| 欧美亚洲国产一区二区三区va| 五月激情六月综合| 国产亚洲成av人在线观看导航 | 免费视频一区二区| 久久亚洲免费视频| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲国产欧美在线人成| 日韩女优av电影| 波多野结衣的一区二区三区| 亚洲小说欧美激情另类| www国产精品av| 在线观看一区二区视频| 国内外成人在线| 一区二区欧美精品| 久久久99精品免费观看| 一本色道a无线码一区v| 精品一区二区三区在线播放| **性色生活片久久毛片| 日韩一区二区麻豆国产| 91丝袜美腿高跟国产极品老师| 日韩和欧美的一区| 综合久久给合久久狠狠狠97色| 91精品国产一区二区三区| 成人福利视频网站| 久久99精品国产麻豆不卡| 亚洲人成7777| 国产色爱av资源综合区| 日韩一区二区三区免费看 | 精品午夜久久福利影院| 亚洲小少妇裸体bbw| 国产欧美精品一区| 日韩丝袜美女视频| 欧美特级限制片免费在线观看| 国产成人在线网站| 久久精品国产网站| 性做久久久久久久免费看| 亚洲日本在线a| 国产欧美日韩久久| 久久久综合网站| 欧美一卡2卡三卡4卡5免费| 91黄色免费观看| av一区二区三区在线| 国产高清久久久久| 国产在线日韩欧美| 久久se精品一区精品二区| 亚洲成av人片www| 亚洲国产一二三| 亚洲综合色婷婷| 亚洲免费观看在线视频| 中文字幕中文乱码欧美一区二区 | 亚洲黄色性网站| 亚洲欧美日韩人成在线播放| 欧美经典一区二区三区| 日韩一区二区在线观看视频播放| 欧美绝品在线观看成人午夜影视| 在线视频一区二区三| 在线亚洲高清视频| 欧美熟乱第一页| 欧美日韩一区二区在线观看视频| 欧洲精品在线观看| 欧美午夜不卡视频| 欧美老人xxxx18| 91精品国产乱| 精品毛片乱码1区2区3区| 精品少妇一区二区三区视频免付费 | 国产精品久久久久久久裸模| 国产欧美日韩在线看| 欧美高清在线一区| 中文字幕欧美一| 一区二区三区四区乱视频| 亚洲一区二区三区四区在线观看| 亚洲国产一区二区视频| 日韩av中文字幕一区二区三区 | 亚洲婷婷国产精品电影人久久| 亚洲天堂久久久久久久| 一区二区三区在线视频播放| 亚洲一区日韩精品中文字幕| 亚洲高清免费在线| 麻豆一区二区三区| 国产成人免费在线观看| 99精品国产热久久91蜜凸| 日本国产一区二区| 日韩一区二区影院| 日本一区二区三区四区| 一区二区国产视频| 日本不卡不码高清免费观看| 国模冰冰炮一区二区| 不卡的av在线播放| 欧美区在线观看| 久久久99精品免费观看不卡| 亚洲婷婷国产精品电影人久久| 亚洲一区二区影院| 久久av资源网| 91丨porny丨在线| 日韩一区二区精品| 国产精品高潮呻吟| 日本不卡1234视频| 99精品久久99久久久久| 91精品欧美久久久久久动漫 | 日日夜夜一区二区| 国产成人综合网| 欧美欧美欧美欧美| 亚洲国产精品高清| 日韩成人精品在线观看| 成人h精品动漫一区二区三区| 欧美日精品一区视频| 国产三级精品在线| 日韩电影免费在线观看网站| www.久久精品| 欧美成人一区二区三区在线观看| 亚洲欧洲精品天堂一级 | 91成人国产精品| 久久久影院官网| 亚洲二区视频在线| 99久久久无码国产精品| 欧美mv和日韩mv国产网站| 一区二区在线电影| 成人综合婷婷国产精品久久| 91精品国产黑色紧身裤美女| 中文字幕在线不卡视频| 九一九一国产精品| 欧美日韩亚洲不卡| 综合久久久久久| 国产成人在线电影| 欧美精品一区二区三区蜜臀| 偷拍自拍另类欧美| 色老综合老女人久久久| 国产精品视频yy9299一区| 久草在线在线精品观看| 欧美色图免费看| 一区二区在线免费| av在线不卡观看免费观看| 久久久久久97三级| 久久国产精品色婷婷| 欧美日韩精品欧美日韩精品| 亚洲三级视频在线观看| www.日韩av| 中文字幕亚洲不卡| 成人爽a毛片一区二区免费| 久久影视一区二区| 韩国三级在线一区| 精品国产精品一区二区夜夜嗨| 日韩综合小视频| 欧美一区永久视频免费观看| 亚洲6080在线| 7878成人国产在线观看| 亚洲超碰精品一区二区| 欧美日韩亚洲国产综合| 午夜精品久久久久久久| 欧美视频一区二区三区四区 | 亚洲v中文字幕| 欧美性videosxxxxx| 亚洲一区视频在线观看视频| 在线区一区二视频| 亚洲一卡二卡三卡四卡五卡| 欧美性猛交xxxx乱大交退制版| 亚洲一区二区三区免费视频| 欧美吻胸吃奶大尺度电影 | 日韩国产欧美在线视频| 日韩一区二区三区四区| 久99久精品视频免费观看| 久久亚区不卡日本| 成人精品gif动图一区| 最新中文字幕一区二区三区| 91色.com| 日韩高清一区在线| 2017欧美狠狠色| 不卡的av中国片| 亚洲一卡二卡三卡四卡五卡| 制服.丝袜.亚洲.另类.中文| 黄一区二区三区| 国产精品久久久久久妇女6080 | 精品久久久久久最新网址| 国产精品综合二区| 国产精品福利影院| 欧美日韩一区二区三区免费看| 美国三级日本三级久久99| 国产色产综合色产在线视频| 在线观看免费视频综合| 久久国产剧场电影|