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

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

?? mp3enc.c

?? Intel提供的在Sitsang等嵌入式開發平臺上使用Linux操作系統
?? C
字號:
/******************************************************************************//               INTEL CORPORATION PROPRIETARY INFORMATION//  This software is supplied under the terms of a license agreement or//  nondisclosure agreement with Intel Corporation and may not be copied//  or disclosed except in accordance with the terms of that agreement.//        Copyright (C) 2003 Intel Corporation. All Rights Reserved.////  Description://    Intel(R) Integrated Performance Primitives Sample Code MP3 Encoder// //  Function List://    encode_mp3()******************************************************************************/#include "sampmp3.h"/******************************************************************************// Name:             encode_mp3// Description:      Frame-based MP3 encode.// Input Arguments : sound      - pointer to input sound structure.//                   enc_state	- pointer to encoder state structure.// Output Arguments: stream_buf - pointer to output stream structure.//                   enc_state	- pointer to updated encoder state structure.// Returns:			 //          SAMPLE_STATUS_BADARG_ERR    - Bad argument//          SAMPLE_STATUS_ERR           - Error when encode one frame	//          SAMPLE_STATUS_NOERR         - Encode one frame successfully******************************************************************************/sample_status encode_mp3(sample_sound *sound,                          sample_bitstream *stream_buf,                         mp3_enc_state *enc_state){	int i;	int ch, gr;	int subband_num;	int totalbuf_size;	int channel_num,granule_num;	IppMP3EncPsychoAcousticModel2State *psy_state;	IppMP3PsychoacousticModelTwoAnalysis *psy_info;	IppMP3SideInfo *side_info, *current_side_info;	IppMP3FrameHeader *frame_header;	IppMP3BitReservoir	*resv;	Ipp32s *work_buf;	Ipp16s *pcm_buf;	int *is_sfb_bound;	int pcm_mode;	Ipp32s *filter_buf; 	Ipp16s *pcm_filter;	Ipp32s *xr_buf;	Ipp32s *xrix_buf;  	Ipp32s *overlap_buf;	Ipp8s *scale_factor;	Ipp8s *cur_scale_factor;	int *scfsi;	Ipp32s *current_ix_ptr;     int privatebits = 0;	int count1_len[4];	int huf_size[4];   	int off_set;	int maindata_bits;	int maindata_begin;	int meanbits_num;	sample_status ret_code;	if(!(sound && stream_buf && enc_state)) {		return SAMPLE_STATUS_BADARG_ERR;	}	channel_num = sound->snd_channel_num ;	totalbuf_size = (MP3_PQMFDELAY_LEN + MP3_FRAME_LEN) * channel_num;	/* Shift the new input signal into the state buffer */	pcm_buf = enc_state->pcm_state_buf;	for(i = 0; i < totalbuf_size - channel_num * MP3_FRAME_LEN; i ++) {			pcm_buf[i] = pcm_buf[i + channel_num * MP3_FRAME_LEN];	}	for(i = 0; i < channel_num * MP3_FRAME_LEN; i ++) {		pcm_buf[totalbuf_size - channel_num * MP3_FRAME_LEN + i] = 			sound->snd_frame[i];	}	/* pSbuf lenght is 576, work_buf in Quantize is 576+192= 768,	// length of XrIx is at least 2304 */	xrix_buf = enc_state->work_buf + 1000; 	psy_state = enc_state->psy_state;	psy_info = enc_state->psy_info;	is_sfb_bound = enc_state->is_sfb_bound;	side_info = (IppMP3SideInfo *)enc_state->side_info;	frame_header = &(enc_state->frame_header);	work_buf = enc_state->work_buf;	pcm_mode = (channel_num == 2)?2:1;	meanbits_num = enc_state->meanbits_num;	maindata_bits = 0;	off_set = 0;	if(frame_header->id == MP3_MPEG1_ID){		granule_num = 2;	}else {		granule_num = 1;	}	/* Calculate the padding bits */	enc_state->rest -= enc_state->frame_byte_dif;	enc_state->frame_len[enc_state->bufferedframe_index] = \        enc_state->bytes_per_frame;	if(enc_state->rest < 0) {		enc_state->rest += mpeg1_samplerate_table[enc_state->sample_rate];		frame_header->paddingBit = 1;		meanbits_num += BITSPERBYTE_NUM;		enc_state->frame_len[enc_state->bufferedframe_index] ++;	} else {		frame_header->paddingBit = 0;	}	enc_state->mdframe_buf_ptr[enc_state->bufferedframe_index] = \        enc_state->cur_maindata_buf;		ret_code = ippsPsychoacousticModelTwo_MP3_16s(pcm_buf + \        MP3_PQMFPSYDELAY_LEN * channel_num, psy_info, is_sfb_bound,\        side_info, frame_header, psy_state, pcm_mode, work_buf);	if ( ret_code != ippStsNoErr ) {		return SAMPLE_STATUS_ERR;	}	frame_header->modeExt &= 0x2; /* disable IS now */	/* Begin the encoding processing, including filter band and stereo encoding */ 	filter_buf = enc_state->work_buf;	scale_factor = enc_state->scale_factor;	for(gr = 0; gr < granule_num; gr ++) {		xr_buf = xrix_buf + (gr * channel_num) * IPP_MP3_GRANULE_LEN;		for(ch = 0; ch < channel_num; ch ++) {			/* Apply hybrid the filter bank */			pcm_filter = pcm_buf + gr * channel_num * IPP_MP3_GRANULE_LEN + ch;			for(subband_num = 0; subband_num < 18; subband_num ++) {				ret_code = ippsAnalysisPQMF_MP3_16s32s(pcm_filter +  \                    MP3_SUBBAND_NUM * subband_num * channel_num,\					filter_buf + MP3_SUBBAND_NUM * subband_num, pcm_mode);				if ( ret_code != ippStsNoErr ) {					return SAMPLE_STATUS_ERR;				}			}			overlap_buf	= enc_state->overlap_buf + ch * IPP_MP3_GRANULE_LEN;			ret_code = ippsMDCTFwd_MP3_32s(filter_buf, xr_buf + \                ch * IPP_MP3_GRANULE_LEN,					side_info[gr * channel_num + ch].blockType, 					side_info[gr * channel_num + ch].mixedBlock, frame_header, 					overlap_buf);			if ( ret_code != ippStsNoErr ) {				return SAMPLE_STATUS_ERR;			}			buffer_copy_audio(filter_buf, overlap_buf, IPP_MP3_GRANULE_LEN);		}		/* Stereo encoding */		if(channel_num == 2) {			ret_code = ippsJointStereoEncode_MP3_32s_I(					xr_buf , xr_buf + IPP_MP3_GRANULE_LEN, scale_factor \                    + (gr * channel_num + 1) * IPP_MP3_SF_BUF_LEN, frame_header,\                    side_info + gr * channel_num, is_sfb_bound + gr * 3);			if ( ret_code != ippStsNoErr ) {				return SAMPLE_STATUS_ERR;			}		}	}	/* Quantization */	scfsi = enc_state->scfsi;	resv = &(enc_state->bit_resv);	maindata_begin = resv->BitsRemaining >> 3;	xr_buf = xrix_buf;	ret_code = ippsQuantize_MP3_32s_I(xr_buf, scale_factor, scfsi, count1_len,\                    huf_size, frame_header, side_info, psy_info, psy_state,\			        resv, meanbits_num,  is_sfb_bound, work_buf);	if ( ret_code != ippStsNoErr ) {		return SAMPLE_STATUS_ERR;	}	/* Pack the encoded bitstream and noiseless encoding */	for(gr = 0; gr < granule_num; gr ++) {		for(ch = 0; ch < channel_num; ch ++) {			/* Pack scale factor data */			cur_scale_factor = scale_factor + \                (gr * channel_num + ch) * IPP_MP3_SF_BUF_LEN;			ippsPackScaleFactors_MP3_8s1u(cur_scale_factor, \                &(enc_state->cur_maindata_buf), &off_set, frame_header, \                side_info + gr * channel_num + ch, &(scfsi[ch * 4]), gr, ch);			current_ix_ptr = xr_buf + IPP_MP3_GRANULE_LEN * (gr * channel_num + ch);			current_side_info = side_info + gr * channel_num + ch;			/* Huffman encoding and pack the spectral data */			ret_code = ippsHuffmanEncode_MP3_32s1u(current_ix_ptr, 				&(enc_state->cur_maindata_buf), &off_set, \                frame_header, current_side_info, 				count1_len[ gr * channel_num + ch], huf_size[gr * channel_num + ch]);			if ( ret_code != ippStsNoErr ) {				return SAMPLE_STATUS_ERR;			}			maindata_bits += current_side_info->part23Len;		}	}	/* Pack the frame header and side information */	{		ret_code = ippsPackFrameHeader_MP3(frame_header, &(enc_state->hdsi_buf_ptr));		if ( ret_code != ippStsNoErr ) {			return SAMPLE_STATUS_ERR;		}		ret_code=ippsPackSideInfo_MP3(side_info, &(enc_state->hdsi_buf_ptr),\            maindata_begin, privatebits, scfsi, frame_header);		if ( ret_code != ippStsNoErr ) {			return SAMPLE_STATUS_ERR;		}	}	if ( enc_state->cur_maindata_buf - enc_state->maindata_buf > \        (MP3_MAINDATABUF_SIZE - 960 * channel_num) ) {		enc_state->cur_maindata_buf = enc_state->maindata_buf;	}	enc_state->mdframe_buf_len[enc_state->bufferedframe_index] =\        ( maindata_bits + 7 ) >> 3;	enc_state->bufferedframe_num ++;	enc_state->bufferedframe_index ++;	if ( enc_state->bufferedframe_index == 9 ) {		enc_state->bufferedframe_index = 0; 		enc_state->hdsi_buf_ptr = enc_state->hdsi_buf;	}	encoder_flushbitstream_mp3(enc_state, stream_buf); 	return SAMPLE_STATUS_NOERR;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费毛片片v| 秋霞成人午夜伦在线观看| 国产.欧美.日韩| 亚洲国产激情av| 成人黄色网址在线观看| 亚洲色大成网站www久久九九| 一本色道**综合亚洲精品蜜桃冫| 亚洲与欧洲av电影| 91精品国产综合久久精品| 韩国v欧美v日本v亚洲v| 国产精品免费久久| 欧美视频一区在线观看| 蜜桃久久精品一区二区| 久久久久久免费毛片精品| 波多野结衣精品在线| 亚洲一区二区偷拍精品| 精品美女一区二区| av在线播放一区二区三区| 亚洲国产美女搞黄色| 精品日韩一区二区| 91麻豆精东视频| 免费三级欧美电影| 亚洲国产精品v| 欧美性videosxxxxx| 狠狠色狠狠色综合日日91app| 国产精品视频第一区| 欧美精品一级二级| 成人综合在线观看| 丝袜亚洲另类丝袜在线| 欧美国产精品久久| 宅男在线国产精品| 99精品一区二区三区| 日韩av一区二区在线影视| 国产欧美一区二区精品仙草咪| 色噜噜偷拍精品综合在线| 久久99国内精品| 亚洲免费在线播放| 国产调教视频一区| 制服丝袜亚洲网站| 91久久免费观看| 国产aⅴ综合色| 毛片av一区二区| 亚洲最新在线观看| 国产精品乱码人人做人人爱| 91精品在线观看入口| 色综合网色综合| 国产精品自在欧美一区| 日本欧美肥老太交大片| 亚洲欧美另类图片小说| 久久久久久亚洲综合| 欧美一区二视频| 91黄色免费观看| 99综合电影在线视频| 国内精品视频666| 日韩专区中文字幕一区二区| 亚洲精品欧美激情| 国产精品久久久久久久久久免费看| 欧美一区二区黄色| 欧美视频一区二区在线观看| 91免费观看视频| www.激情成人| 成人免费视频网站在线观看| 久久精品国产澳门| 免费成人在线网站| 青青草国产成人av片免费| 午夜一区二区三区视频| 亚洲女厕所小便bbb| 日韩一区在线播放| 国产精品久久久一本精品| 国产欧美1区2区3区| 亚洲精品一区二区三区在线观看| 日韩欧美在线影院| 日韩亚洲欧美中文三级| 3751色影院一区二区三区| 欧美精品在线一区二区| 欧美福利视频导航| 欧美精品xxxxbbbb| 日韩一区二区麻豆国产| 欧美一区二区免费| 26uuu久久天堂性欧美| 精品久久久久一区| 国产亚洲人成网站| 欧美激情一区不卡| 国产精品高潮呻吟| 亚洲靠逼com| 亚洲午夜av在线| 日韩精品乱码免费| 国内精品免费在线观看| 国产成人av资源| 91在线视频播放地址| 色视频欧美一区二区三区| 在线精品视频免费观看| 欧美另类久久久品| 精品国产第一区二区三区观看体验| 久久影院视频免费| 国产精品久久久一本精品| 亚洲黄色尤物视频| 青青草97国产精品免费观看| 国产在线视视频有精品| 99久久久久久99| 欧美日韩高清一区二区三区| 日韩欧美国产一二三区| 国产亚洲成aⅴ人片在线观看| 国产精品国产精品国产专区不蜜 | 欧美日韩午夜在线| 在线不卡a资源高清| 久久久噜噜噜久噜久久综合| 中文字幕中文字幕中文字幕亚洲无线| 亚洲欧美日韩综合aⅴ视频| 天天亚洲美女在线视频| 国产伦精一区二区三区| 91电影在线观看| 日韩欧美另类在线| 亚洲欧美在线视频| 美女在线视频一区| 99国产精品久久久久| 欧美精品亚洲一区二区在线播放| 精品福利一二区| 亚洲国产视频直播| 国产精品99精品久久免费| 色狠狠一区二区| 久久午夜色播影院免费高清| 一区二区三区色| 国产成人在线网站| 在线观看91精品国产麻豆| 日本一区二区视频在线| 日韩和欧美一区二区三区| 成人免费观看男女羞羞视频| 欧美日韩国产一区| 国产精品乱人伦| 激情文学综合插| 欧美日韩中文一区| 国产精品进线69影院| 毛片不卡一区二区| 欧美视频在线观看一区| 日韩一区中文字幕| 国产一区二区免费看| 67194成人在线观看| 一区二区三区欧美在线观看| 国产乱国产乱300精品| 91精品在线麻豆| 亚洲国产视频一区二区| 91麻豆免费观看| 国产精品午夜在线观看| 国产一区在线观看麻豆| 91麻豆精品国产91久久久久久| 中文字幕在线免费不卡| 国产精品99久久久久久有的能看| 欧美一区二区在线视频| 午夜一区二区三区视频| 欧美最新大片在线看| 亚洲欧洲性图库| 成人免费av网站| 亚洲精品一区二区三区精华液| 日韩av一区二区三区| 欧美伦理影视网| 婷婷开心久久网| 欧美视频在线观看一区二区| 亚洲一区二区四区蜜桃| 在线免费观看日韩欧美| 亚洲精品免费在线播放| 91麻豆自制传媒国产之光| 中文字幕在线一区免费| av资源站一区| 成人欧美一区二区三区| 91影院在线观看| 亚洲丝袜制服诱惑| 91网站最新地址| 亚洲少妇30p| 91福利在线播放| 亚洲一区二区精品视频| 欧美美女网站色| 日韩成人精品在线| 日韩美一区二区三区| 韩国三级中文字幕hd久久精品| 日韩女优制服丝袜电影| 久久精品国产秦先生| 久久综合九色综合久久久精品综合 | 免费观看一级欧美片| 日韩欧美卡一卡二| 国产最新精品精品你懂的| 久久久国产午夜精品| 成人午夜电影网站| 一区二区三区在线影院| 欧美放荡的少妇| 激情综合网激情| 国产精品国产精品国产专区不片| 成人app网站| 亚洲成人手机在线| 日韩美女主播在线视频一区二区三区 | 亚洲成人免费在线| 日韩一级二级三级精品视频| 国模冰冰炮一区二区| 中日韩av电影| 欧美精品日日鲁夜夜添| 国产一区二区三区国产| 亚洲精品成人a在线观看| 欧美一区二区三区系列电影| 国产激情精品久久久第一区二区| 亚洲少妇屁股交4|