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

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

?? lpc.c

?? Reference Implementation of G.711 standard and other voice codecs
?? C
字號:
/* * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. *//* $Header: /home/kbs/jutta/src/gsm/gsm-1.0/src/RCS/lpc.c,v 1.1 1992/10/28 00:15:50 jutta Exp $ */#include <stdio.h>#include <assert.h>#include "private.h"#include "gsm.h"#include "proto.h"#undef	P/* *  4.2.4 .. 4.2.7 LPC ANALYSIS SECTION *//* 4.2.4 */static void Autocorrelation P2((s, L_ACF),	word     * s,		/* [0..159]	IN/OUT  */ 	longword * L_ACF)	/* [0..8]	OUT     *//* *  The goal is to compute the array L_ACF[k].  The signal s[i] must *  be scaled in order to avoid an overflow situation. */{	register int	k, i;	word		temp, smax, scalauto;	/*	longword	L_temp; */#ifdef	USE_FLOAT_MUL	float		float_s[160];	/*	longword	L_temp2; */#else	longword	L_temp2;#endif	/*  Dynamic scaling of the array  s[0..159]	 */	/*  Search for the maximum.	 */	smax = 0;	for (k = 0; k <= 159; k++) {		temp = GSM_ABS( s[k] );		if (temp > smax) smax = temp;	}	/*  Computation of the scaling factor.	 */	if (smax == 0) scalauto = 0;	else {		assert(smax > 0);		scalauto = 4 - gsm_norm( (longword)smax << 16 );/* sub(4,..) */	}	/*  Scaling of the array s[0...159]	 */	if (scalauto > 0) {# ifdef USE_FLOAT_MUL#   define SCALE(n)	\	case n: for (k = 0; k <= 159; k++) \			float_s[k] = (float)	\				(s[k] = GSM_MULT_R(s[k], 16384 >> (n-1)));\		break;# else #   define SCALE(n)	\	case n: for (k = 0; k <= 159; k++) \			s[k] = GSM_MULT_R( s[k], 16384 >> (n-1) );\		break;# endif /* USE_FLOAT_MUL */		switch (scalauto) {		SCALE(1)		SCALE(2)		SCALE(3)		SCALE(4)		}# undef	SCALE	}# ifdef	USE_FLOAT_MUL	else for (k = 0; k <= 159; k++) float_s[k] = (float) s[k];# endif	/*  Compute the L_ACF[..].	 */	{# ifdef	USE_FLOAT_MUL		register float * sp = float_s;		register float   sl = *sp;# else		word  * sp = s;		word    sl = *sp;# endif#	define STEP(k)	 L_ACF[k] += (longword)(sl * sp[ -(k) ]);#	define NEXTI	 sl = *++sp	for (k = 9; k--; L_ACF[k] = 0) ;	STEP (0);	NEXTI;	STEP(0); STEP(1);	NEXTI;	STEP(0); STEP(1); STEP(2);	NEXTI;	STEP(0); STEP(1); STEP(2); STEP(3);	NEXTI;	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4);	NEXTI;	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4); STEP(5);	NEXTI;	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4); STEP(5); STEP(6);	NEXTI;	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4); STEP(5); STEP(6); STEP(7);	for (i = 8; i <= 159; i++) {		NEXTI;		STEP(0);		STEP(1); STEP(2); STEP(3); STEP(4);		STEP(5); STEP(6); STEP(7); STEP(8);	}	for (k = 9; k--; L_ACF[k] <<= 1) ; 	}	/*   Rescaling of the array s[0..159]	 */	if (scalauto > 0) {		assert(scalauto <= 4); 		for (k = 160; k--; *s++ <<= scalauto) ;	}}#if defined(USE_FLOAT_MUL) && defined(FAST)static void Fast_Autocorrelation P2((s, L_ACF),	word * s,		/* [0..159]	IN/OUT  */ 	longword * L_ACF)	/* [0..8]	OUT     */{	register int	k, i;	float f_L_ACF[9];	float scale;	float          s_f[160];	register float *sf = s_f;	for (i = 0; i < 160; ++i) sf[i] = s[i];	for (k = 0; k <= 8; k++) {		register float L_temp2 = 0;		register float *sfl = sf - k;		for (i = k; i < 160; ++i) L_temp2 += sf[i] * sfl[i];		f_L_ACF[k] = L_temp2;	}	scale = MAX_LONGWORD / f_L_ACF[0];	for (k = 0; k <= 8; k++) {		L_ACF[k] = f_L_ACF[k] * scale;	}}#endif	/* defined (USE_FLOAT_MUL) && defined (FAST) *//* 4.2.5 */static void Reflection_coefficients P2( (L_ACF, r),	longword	* L_ACF,		/* 0...8	IN	*/	register word	* r			/* 0...7	OUT 	*/){	register int	i, m, n;	register word	temp;	register longword ltmp;	word		ACF[9];	/* 0..8 */	word		P[  9];	/* 0..8 */	word		K[  9]; /* 2..8 */	/*  Schur recursion with 16 bits arithmetic.	 */	if (L_ACF[0] == 0) {	/* everything is the same. */		for (i = 8; i--; *r++ = 0) ;		return;	}	assert( L_ACF[0] != 0 );	temp = gsm_norm( L_ACF[0] );	assert(temp >= 0 && temp < 32);	/* ? overflow ? */	for (i = 0; i <= 8; i++) ACF[i] = SASR( L_ACF[i] << temp, 16 );	/*   Initialize array P[..] and K[..] for the recursion.	 */	for (i = 1; i <= 7; i++) K[ i ] = ACF[ i ];	for (i = 0; i <= 8; i++) P[ i ] = ACF[ i ];	/*   Compute reflection coefficients	 */	for (n = 1; n <= 8; n++, r++) {		temp = P[1];		temp = GSM_ABS(temp);		if (P[0] < temp) {			for (i = n; i <= 8; i++) *r++ = 0;			return;		}		*r = gsm_div( temp, P[0] );		assert(*r >= 0);		if (P[1] > 0) *r = -*r;		/* r[n] = sub(0, r[n]) */		assert (*r != MIN_WORD);		if (n == 8) return; 		/*  Schur recursion		 */		temp = GSM_MULT_R( P[1], *r );		P[0] = GSM_ADD( P[0], temp );		for (m = 1; m <= 8 - n; m++) {			temp     = GSM_MULT_R( K[ m   ],    *r );			P[m]     = GSM_ADD(    P[ m+1 ],  temp );			temp     = GSM_MULT_R( P[ m+1 ],    *r );			K[m]     = GSM_ADD(    K[ m   ],  temp );		}	}}/* 4.2.6 */static void Transformation_to_Log_Area_Ratios P1((r),	register word	* r 			/* 0..7	   IN/OUT */)/* *  The following scaling for r[..] and LAR[..] has been used: * *  r[..]   = integer( real_r[..]*32768. ); -1 <= real_r < 1. *  LAR[..] = integer( real_LAR[..] * 16384 ); *  with -1.625 <= real_LAR <= 1.625 */{	register word	temp;	register int	i;	/* Computation of the LAR[0..7] from the r[0..7]	 */	for (i = 1; i <= 8; i++, r++) {		temp = *r;		temp = GSM_ABS(temp);		assert(temp >= 0);		if (temp < 22118) {			temp >>= 1;		} else if (temp < 31130) {			assert( temp >= 11059 );			temp -= 11059;		} else {			assert( temp >= 26112 );			temp -= 26112;			temp <<= 2;		}		*r = *r < 0 ? -temp : temp;		assert( *r != MIN_WORD );	}}/* 4.2.7 */static void Quantization_and_coding P1((LAR),	register word * LAR    	/* [0..7]	IN/OUT	*/){	register word	temp;	longword	ltmp;	/*	ulongword	utmp; reported as unused */	/*  This procedure needs four tables; the following equations	 *  give the optimum scaling for the constants:	 *  	 *  A[0..7] = integer( real_A[0..7] * 1024 )	 *  B[0..7] = integer( real_B[0..7] *  512 )	 *  MAC[0..7] = maximum of the LARc[0..7]	 *  MIC[0..7] = minimum of the LARc[0..7]	 */#	undef STEP#	define	STEP( A, B, MAC, MIC )		\		temp = GSM_MULT( A,   *LAR );	\		temp = GSM_ADD(  temp,   B );	\		temp = GSM_ADD(  temp, 256 );	\		temp = SASR(     temp,   9 );	\		*LAR  =  temp>MAC ? MAC - MIC : (temp<MIC ? 0 : temp - MIC); \		LAR++;	STEP(  20480,     0,  31, -32 );	STEP(  20480,     0,  31, -32 );	STEP(  20480,  2048,  15, -16 );	STEP(  20480, -2560,  15, -16 );	STEP(  13964,    94,   7,  -8 );	STEP(  15360, -1792,   7,  -8 );	STEP(   8534,  -341,   3,  -4 );	STEP(   9036, -1144,   3,  -4 );#	undef	STEP}void Gsm_LPC_Analysis P3((S, s,LARc),	struct gsm_state *S,	word 		 * s,		/* 0..159 signals	IN/OUT	*/        word 		 * LARc)	/* 0..7   LARc's	OUT	*/{	longword	L_ACF[9];#if defined(USE_FLOAT_MUL) && defined(FAST)	if (S->fast) Fast_Autocorrelation (s,	  L_ACF );	else#endif	Autocorrelation			  (s,	  L_ACF	);	Reflection_coefficients		  (L_ACF, LARc	);	Transformation_to_Log_Area_Ratios (LARc);	Quantization_and_coding		  (LARc);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道a无线码一区v| xnxx国产精品| 亚洲欧美日韩综合aⅴ视频| 91在线视频网址| 亚洲大片精品永久免费| 日韩无一区二区| 久久99国产精品久久| 国产精品高潮久久久久无| 欧美在线|欧美| 国产一区二区三区免费看| 国产精品灌醉下药二区| 国产精品亲子乱子伦xxxx裸| 欧美精品日日鲁夜夜添| 国产美女一区二区三区| 国产成a人亚洲| 婷婷国产在线综合| 欧美韩国日本不卡| 日韩欧美成人午夜| 色婷婷av一区二区三区之一色屋| 91在线播放网址| 国产精品一区二区久激情瑜伽| 亚洲国产综合视频在线观看| 欧美国产乱子伦 | 一区二区三区丝袜| 久久久久久99精品| 欧美一区日韩一区| 欧美性色黄大片手机版| 波多野结衣中文字幕一区| 美女视频第一区二区三区免费观看网站| 欧美激情艳妇裸体舞| 国产精品久久网站| 午夜免费久久看| 国产一区二区三区免费| 欧美在线一区二区三区| 欧美肥妇毛茸茸| 欧美国产日韩精品免费观看| 一区二区三区在线视频免费观看| 蜜臀久久99精品久久久久宅男| 国产精品原创巨作av| 在线观看不卡一区| www成人在线观看| 亚洲国产三级在线| 成人中文字幕电影| 国产成人综合在线播放| 国产高清无密码一区二区三区| 99免费精品在线| 91蜜桃在线免费视频| 日韩欧美激情一区| 亚洲色图欧洲色图婷婷| 日韩毛片精品高清免费| 另类小说色综合网站| 蜜桃精品视频在线| 色猫猫国产区一区二在线视频| 91在线免费播放| 精品日产卡一卡二卡麻豆| 精品福利二区三区| 国产日韩欧美电影| 1区2区3区精品视频| 樱桃视频在线观看一区| 亚洲国产综合91精品麻豆| 国产.精品.日韩.另类.中文.在线.播放 | 亚洲男人的天堂av| 国产激情一区二区三区桃花岛亚洲| 欧美在线看片a免费观看| 欧美国产日产图区| 国产成人一区在线| 精品久久久久久久久久久久久久久久久 | 日韩高清在线不卡| 热久久一区二区| 国产真实乱对白精彩久久| 大胆欧美人体老妇| 久久久久久久久久电影| 久久黄色级2电影| 91精品国产一区二区人妖| 亚洲国产另类av| 在线一区二区视频| 亚洲一区二区三区四区不卡| 麻豆国产精品777777在线| 欧美情侣在线播放| 日本一区二区久久| 国产成人免费视频网站| 中文字幕av一区二区三区免费看| 国产精品夜夜嗨| 国产欧美精品国产国产专区 | 五月婷婷另类国产| 欧美日韩在线三区| 久久精品人人做人人爽97| 亚洲码国产岛国毛片在线| 成人精品小蝌蚪| 综合中文字幕亚洲| 欧美网站大全在线观看| 日韩国产在线观看| 日韩欧美不卡一区| 国产风韵犹存在线视精品| 国产精品九色蝌蚪自拍| 91久久精品一区二区| 天堂久久久久va久久久久| 99在线热播精品免费| 一区二区在线免费观看| 欧美一区国产二区| 国产精品一区在线观看你懂的| 中文字幕av资源一区| 欧美视频精品在线观看| 久久精品国产网站| 国产精品久久久久三级| 欧美日韩一级片在线观看| 久久av中文字幕片| 国产精品乱码久久久久久| 欧美午夜片在线看| 精品午夜一区二区三区在线观看| 国产欧美视频一区二区| 欧美中文字幕一区二区三区| 经典一区二区三区| 一区二区三区四区亚洲| 欧美第一区第二区| 91激情在线视频| 韩国一区二区视频| 亚洲高清免费一级二级三级| 久久精品视频网| 欧美一区二区三区视频免费 | 樱花草国产18久久久久| 久久综合99re88久久爱| 欧美艳星brazzers| 丁香天五香天堂综合| 亚洲高清在线视频| 欧美国产成人精品| 精品精品国产高清一毛片一天堂| 91丝袜高跟美女视频| 狠狠色狠狠色综合系列| 无吗不卡中文字幕| 国产精品国产三级国产aⅴ原创| 日韩亚洲欧美高清| 欧美日韩在线播| 91小视频免费观看| 国产91丝袜在线播放九色| 日韩一区精品视频| 亚洲一区二区五区| 亚洲欧美一区二区三区极速播放| 久久无码av三级| 日韩精品专区在线影院重磅| 欧美怡红院视频| 色婷婷综合激情| www.亚洲人| 高清在线观看日韩| 国产乱人伦精品一区二区在线观看| 亚洲成人综合在线| 亚洲一区二区偷拍精品| 亚洲男同1069视频| 成人欧美一区二区三区白人| 国产欧美综合色| 国产日韩精品一区二区三区| 精品国产精品网麻豆系列| 日韩精品一区二区三区视频播放| 欧美一区国产二区| 日韩一区二区三区精品视频| 91精品国产乱| 日韩一卡二卡三卡四卡| 日韩女优视频免费观看| 欧美一卡在线观看| 欧美成人女星排行榜| 精品国产91九色蝌蚪| 国产亚洲综合在线| 久久久精品国产免大香伊| 国产婷婷一区二区| 国产精品久久久久一区二区三区 | 亚洲伊人色欲综合网| 亚洲午夜成aⅴ人片| 视频一区二区不卡| 精品一区二区三区香蕉蜜桃 | 99久久99久久免费精品蜜臀| aa级大片欧美| 欧美日韩高清一区二区| 日韩午夜三级在线| 久久婷婷久久一区二区三区| 国产精品人妖ts系列视频| 亚洲裸体xxx| 亚洲 欧美综合在线网络| 美国欧美日韩国产在线播放| 国产剧情一区二区三区| 91丨九色porny丨蝌蚪| 欧美无乱码久久久免费午夜一区| 日韩一区二区三区精品视频| 国产免费观看久久| 亚洲一区二区三区四区在线免费观看 | 欧美激情综合五月色丁香小说| 日本一二三不卡| 亚洲国产成人tv| 国产在线精品一区二区三区不卡| 成人黄色777网| 欧美日韩国产高清一区二区三区| 精品剧情v国产在线观看在线| 国产免费成人在线视频| 午夜精品免费在线| 国产91在线|亚洲| 欧美一级午夜免费电影| 国产精品卡一卡二卡三| 日本不卡123| 99久久精品免费观看| 欧美一区二区三区在线观看 | 国产精品高潮呻吟|