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

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

?? transcode.c

?? MELPe 1200 bps, fixed point
?? C
字號:
/* ================================================================== */
/*                                                                    */ 
/*    Microsoft Speech coder     ANSI-C Source Code                   */
/*    SC1200 1200 bps speech coder                                    */
/*    Fixed Point Implementation      Version 7.0                     */
/*    Copyright (C) 2000, Microsoft Corp.                             */
/*    All rights reserved.                                            */
/*                                                                    */ 
/* ================================================================== */

/* ===================================== */
/* transcode.c: Conversion				 */
/* ===================================== */

/*	compiler include files	*/
#include "sc1200.h"
#include "mathhalf.h"
#include "mat_lib.h"
#include "math_lib.h"
#include "constant.h"
#include "global.h"
#include "dsp_sub.h"
#include "qnt12_cb.h"
#include "qnt12.h"
#include "msvq_cb.h"
#include "fsvq_cb.h"
#include "melp_sub.h"
#include "dsp_sub.h"
#include "coeff.h"
#include "macro.h"
#include "transcode.h"
#include "lpc_lib.h"
#include "fs_lib.h"
#include "cprv.h"
#include "vq_lib.h"

/* compiler constants */
#define SIG_LENGTH			(LPF_ORD + PITCH_FR) /* 327 */
#define BUFSIZE24			7
#define X025_Q15			8192                          /* 0.25 * (1 << 15) */

// Variables
static struct melp_param	prev_par;
Shortword top_lpc[LPC_ORD];


void transcode_down()
{
	register Shortword	i;
	Shortword	num_frames;


	num_frames = NF;

	/* Read and decode channel input buffer. */
	melp_chn_read(&quant_par, &melp_par[0], &prev_par	, &chbuf[0*BUFSIZE24]);
	melp_chn_read(&quant_par, &melp_par[1], &melp_par[0], &chbuf[1*BUFSIZE24]);
	melp_chn_read(&quant_par, &melp_par[2], &melp_par[1], &chbuf[2*BUFSIZE24]);
	prev_par = melp_par[2];
	
	/* ---- New routine to refine the parameters for block ---- */
	sc_ana(melp_par);
	/* ======== Quantization ======== */
	lsf_vq(melp_par);
	pitch_vq(melp_par);
	gain_vq(melp_par);

	for (i = 0; i < NF; i++)
		quant_u(&melp_par[i].jitter, &(quant_par.jit_index[i]), 0,
					MAX_JITTER_Q15, 2, ONE_Q15, 1, 7);

	quant_bp(melp_par, num_frames);

	quant_jitter(melp_par);

	quant_fsmag(melp_par);

	for (i = 0; i < num_frames; i++)
		quant_par.uv_flag[i] = melp_par[i].uv_flag;

	/* Write channel bitstream */
	low_rate_chn_write(&quant_par);
}


void transcode_up()
{
	register Shortword	frame;
	Shortword	lpc[LPC_ORD + 1], weights[LPC_ORD];
	Shortword	num_frames;


	num_frames = NF;

	/* Read and decode channel input buffer. */
	low_rate_chn_read(&quant_par, &melp_par[0], &prev_par);
	prev_par = melp_par[2];

	/* ======== Quantization ======== */

	for (frame=0; frame<NF; frame++)
	{
		
		lpc[0] = ONE_Q12;

		/* Quantize LSF's with MSVQ */
		v_equ(&(lpc[1]), top_lpc, LPC_ORD);
		vq_lspw(weights, melp_par[frame].lsf, &(lpc[1]), LPC_ORD);

		/*	msvq_enc(par->lsf, weights, par->lsf, vq_par); */
		vq_ms4(msvq_cb, melp_par[frame].lsf, msvq_cb_mean, msvq_levels, MSVQ_M, 4,
			   LPC_ORD, weights, melp_par[frame].lsf, quant_par.msvq_index, MSVQ_MAXCNT);

		/* Force minimum LSF bandwidth (separation) */
		lpc_clamp(melp_par[frame].lsf, BWMIN_Q15, LPC_ORD);

		/* Quantize logarithmic pitch period */
		/* Reserve all zero code for completely unvoiced */
		melp_par[frame].pitch = log10_fxp(melp_par[frame].pitch, 7);           /* par->pitch in Q12 */
		quant_u(&melp_par[frame].pitch, &(quant_par.pitch_index), PIT_QLO_Q12,
				PIT_QUP_Q12, PIT_QLEV_M1, PIT_QLEV_M1_Q8, 1, 7);
		/* convert pitch back to linear in Q7 */
		melp_par[frame].pitch = pow10_fxp(melp_par[frame].pitch, 7);

		/* Quantize gain terms with uniform log quantizer   */
		q_gain(melp_par[frame].gain, quant_par.gain_index, GN_QLO_Q8, GN_QUP_Q8,
			   GN_QLEV_M1, GN_QLEV_M1_Q10, 0, 5);

		/*	quant_u(&par->jitter, &par->jit_index, 0, MAX_JITTER_Q15, 2);     */
		if (melp_par[frame].jitter < shr(MAX_JITTER_Q15, 1)){
			melp_par[frame].jitter = 0;
			quant_par.jit_index[0] = 0;
		} else {
			melp_par[frame].jitter = MAX_JITTER_Q15;
			quant_par.jit_index[0] = 1;
		}

		/* Quantize bandpass voicing */
		melp_par[frame].uv_flag = q_bpvc(melp_par[frame].bpvc, &(quant_par.bpvc_index[0]), 
													NUM_BANDS);

		/* quantize Fourier coefficients */
		/* pre-weight vector, then use Euclidean distance */
		window_Q(melp_par[frame].fs_mag, w_fs, melp_par[frame].fs_mag, NUM_HARM, 14);

		/*	fsvq_enc(par->fs_mag, par->fs_mag, fs_vq_par); */
		/* Later it is found that we do not need the structured variable      */
		/* fs_vq_par at all.  References to its individual fields can be      */
		/* replaced directly with constants or other variables.               */

		vq_enc(fsvq_cb, melp_par[frame].fs_mag, FS_LEVELS, NUM_HARM, melp_par[frame].fs_mag,
			   &(quant_par.fsvq_index));

		quant_par.uv_flag[0] = melp_par[frame].uv_flag;

		/* Write channel bitstream */
		melp_chn_write(&quant_par, &chbuf[frame*BUFSIZE24]);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品免费看| 亚洲高清三级视频| 亚洲另类中文字| 三级久久三级久久久| 国产成人午夜电影网| 色呦呦网站一区| 日韩免费一区二区三区在线播放| 国产欧美日韩精品在线| 亚洲一区二区美女| 成人ar影院免费观看视频| 欧美精品在线视频| 亚洲日本一区二区三区| 狠狠色2019综合网| 欧美日韩不卡一区| 亚洲另类在线视频| 成人一级片在线观看| 欧美变态tickle挠乳网站| 亚洲激情自拍偷拍| 99国产精品久| 日本一区二区高清| 极品美女销魂一区二区三区| 欧美日韩黄色一区二区| 亚洲桃色在线一区| 不卡一区在线观看| 久久综合九色综合97_久久久| 日韩综合小视频| 欧美在线观看视频一区二区三区| 欧美国产视频在线| 国产美女精品人人做人人爽| 日韩欧美视频一区| 蜜桃av噜噜一区| 欧美一区二区三区视频免费| 亚洲国产欧美日韩另类综合| 欧洲色大大久久| 亚洲综合激情另类小说区| 一本色道综合亚洲| 亚洲少妇中出一区| 欧美性受xxxx| 亚洲一卡二卡三卡四卡五卡| 色综合天天在线| 亚洲专区一二三| 欧美日韩国产天堂| 免费视频最近日韩| 精品国产伦一区二区三区观看体验 | 一本大道av一区二区在线播放| 国产免费观看久久| 99视频精品全部免费在线| 国产精品久久福利| av成人免费在线观看| 亚洲美女屁股眼交3| 欧美性猛交xxxx黑人交| 丝袜诱惑亚洲看片| 欧美精品一区二区三区一线天视频| 久久99久久久欧美国产| 欧美精品一区二区三区久久久| 国产精品99久久久久久久vr | 日韩一区二区三区视频在线观看| 美女在线观看视频一区二区| 国产乱码精品一区二区三区av| 国产色91在线| 91啦中文在线观看| 天堂久久一区二区三区| 精品乱人伦一区二区三区| 国产成人亚洲综合a∨婷婷| 在线免费亚洲电影| 毛片一区二区三区| 国产精品日产欧美久久久久| 在线看不卡av| 青草av.久久免费一区| 国产亚洲一区二区三区在线观看 | 欧美日韩综合一区| 久草在线在线精品观看| 中文字幕亚洲电影| 欧美一区二区黄色| 不卡av免费在线观看| 日韩国产一区二| 国产精品高清亚洲| 欧美一区二区三区不卡| 成人午夜精品在线| 日本大胆欧美人术艺术动态| 国产性色一区二区| 日本中文字幕不卡| 中文字幕一区二区不卡| 91精品国产综合久久精品麻豆| 国产69精品久久久久777| 亚洲成人动漫精品| 国产精品久久久久久户外露出| 欧美影院一区二区三区| 国产麻豆视频一区二区| 亚洲mv在线观看| 中文字幕一区二区三中文字幕| 欧美日韩午夜在线视频| av电影在线观看一区| 美女国产一区二区三区| 在线不卡中文字幕| 色婷婷激情一区二区三区| 国产在线精品一区二区夜色| 亚洲国产美女搞黄色| 一区二区中文字幕在线| 久久久青草青青国产亚洲免观| 欧美日韩一区二区三区不卡 | 欧美日韩三级一区二区| av亚洲精华国产精华精华| 精品一区二区av| 午夜免费久久看| 在线播放日韩导航| 欧美三级电影网| 欧美中文字幕久久| 91在线你懂得| 99re这里都是精品| 国产91丝袜在线播放| 国产一区欧美二区| 精品一区精品二区高清| 人禽交欧美网站| 天使萌一区二区三区免费观看| 亚洲成人动漫精品| 性欧美疯狂xxxxbbbb| 亚洲电影视频在线| 亚洲午夜国产一区99re久久| 欧美日韩在线不卡| 欧美在线观看视频一区二区| 欧美亚洲一区二区在线观看| 91成人在线精品| 欧美日韩国产首页| 日韩女优电影在线观看| 久久综合视频网| 久久九九国产精品| 国产精品国产a级| 亚洲中国最大av网站| 亚洲国产婷婷综合在线精品| 亚洲成人在线观看视频| 日本不卡一区二区| 麻豆精品一区二区三区| 国产福利精品一区| 亚洲国产另类av| 蜜桃精品视频在线观看| 国产成人综合网站| 97超碰欧美中文字幕| 日本高清无吗v一区| 91麻豆精品国产综合久久久久久| 日韩一区二区三区在线| 国产女主播一区| 一区二区三区蜜桃网| 亚洲成人av中文| 秋霞电影一区二区| 国产精品18久久久久| 国产精品一区在线观看你懂的| 91伊人久久大香线蕉| 亚洲成人精品一区二区| 久久99精品久久久久久久久久久久| 久久91精品国产91久久小草| 国产精选一区二区三区| 粉嫩绯色av一区二区在线观看| 在线观看日韩国产| 欧美亚洲综合网| 日韩午夜激情免费电影| 国产三级精品在线| 亚洲午夜羞羞片| 韩国三级中文字幕hd久久精品| 爽爽淫人综合网网站| 欧美激情综合网| 亚洲视频在线一区| 亚洲成人先锋电影| 国产揄拍国内精品对白| 一本色道久久综合狠狠躁的推荐 | 成人免费在线观看入口| 亚洲第一激情av| 蜜桃一区二区三区在线观看| 国产精品538一区二区在线| 色系网站成人免费| 久久精品免视看| 亚洲精品日产精品乱码不卡| 性欧美大战久久久久久久久| 成人91在线观看| 91精品国模一区二区三区| 国产婷婷精品av在线| 亚洲最新视频在线播放| 成人爱爱电影网址| 欧美男生操女生| 国产精品国产三级国产三级人妇 | 亚洲激情男女视频| 国产一区二区三区最好精华液| 91丨porny丨最新| 日韩一区二区三区精品视频| 久久亚洲一区二区三区明星换脸| 亚洲大片一区二区三区| 国产精品 日产精品 欧美精品| 在线亚洲高清视频| 国产拍揄自揄精品视频麻豆| 精品一区二区三区欧美| 色国产精品一区在线观看| 日韩精品中文字幕在线不卡尤物 | 视频一区免费在线观看| 91麻豆国产在线观看| 日韩免费电影网站| 日韩精品电影在线| 色综合久久久久综合体| 中文无字幕一区二区三区| 国产亚洲成aⅴ人片在线观看| 狠狠色丁香久久婷婷综合_中 |