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

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

?? audio.c

?? arm嵌入式常用模塊的程序源代碼
?? C
字號:
											//音頻編解碼主程序
#include <stdio.h>
#include <stdlib.h>
#include "common.h"
#include "decode.h"

void main(int argc, char**argv)
{
	FILE *musicout;
	Bit_stream_struc  bs;
	frame_params fr_ps;
	IIS_side_info_t IIS_side_info;
	IIS_scalefac_t IIS_scalefac;
	unsigned int old_crc;
	layer info;
	int sync, clip;
	int done = FALSE;
	unsigned long frameNum=0;
	unsigned long bitsPerSlot;
	unsigned long sample_frames;

	typedef short PCM[2][SSLIMIT][SBLIMIT];
	PCM *pcm_sample;                                         //PCM采樣

	pcm_sample = (PCM *) mem_alloc((long) sizeof(PCM), "PCM Samp");
	if (argc==1) 
	{
		printf("Useage:decode file.mp3 output.pcm\n");
		return;
	}

	fr_ps.header = &info;

	if ((musicout = fopen(argv[2], "w+b")) == NULL) {
		printf ("Could not create \"%s\".\n", argv[2]);
		exit(1);
	}

    open_bit_stream_r(&bs, argv[1], BUFFER_SIZE);

	sample_frames = 0;
	while(!end_bs(&bs)) 
	{
															  //嘗試幀同步
		sync = seek_sync(&bs, SYNC_WORD, SYNC_WORD_LENGTH);
		if (!sync) 
		{
			done = TRUE;
			printf("\nFrame cannot be located\n");
			out_fifo(*pcm_sample, 3, &fr_ps, done, musicout, &sample_frames);
			break;
		}
															//解碼幀頭
		decode_info(&bs, &fr_ps);
									//將fr_ps.header中的信息解讀到fr_ps的相關域中
		hdr_to_frps(&fr_ps);
															//輸出相關信息
		if(frameNum == 0)
		   WriteHdr(&fr_ps);
		printf("\r%05lu", frameNum++);
		if (info.error_protection)
			buffer_CRC(&bs, &old_crc);
		switch (info.lay) {
		case 3:
		{
			int nSlots, main_data_end, flush_main;
			int bytes_to_discard, gr, ch, ss, sb;
			static int frame_start = 0;

			bitsPerSlot = 8;
			
															//取Side信息
			IIS_get_side_info(&bs, &IIS_side_info, &fr_ps);
			nSlots = main_data_slots(fr_ps);

															 //讀取音頻主數據
			for (; nSlots > 0; nSlots--)  			
				hputbuf((unsigned int) getbits(&bs,8), 8);
			main_data_end = hsstell() / 8; 			 /*前一幀數據*/
			if ( flush_main=(hsstell() % bitsPerSlot) ) 
			{
				hgetbits((int)(bitsPerSlot - flush_main));
				main_data_end ++;
			}
			bytes_to_discard = frame_start - main_data_end - IIS_side_info.main_data_begin ;
			if( main_data_end > 4096 ) 
			{   
				frame_start -= 4096;
				rewindNbytes( 4096 );
			}

			frame_start += main_data_slots(fr_ps);
			if (bytes_to_discard < 0) 
			{
				printf("Not enough main data to decode frame %d.  Frame discarded.\n",                  
						frameNum - 1); 
				break;
			}
			for (; bytes_to_discard > 0; bytes_to_discard--) hgetbits(8);

			clip = 0;
			for (gr=0;gr<2;gr++) {
				double lr[2][SBLIMIT][SSLIMIT],ro[2][SBLIMIT][SSLIMIT];
																//主解碼
				for (ch=0; ch<fr_ps.stereo; ch++) 
				{
					long int is[SBLIMIT][SSLIMIT];  		 /*保存量化數據*/
					int part2_start;
					part2_start = hsstell();
																//獲取比例因子
					IIS_get_scale_factors(&IIS_scalefac,&IIS_side_info, gr, ch, &fr_ps);
																//Huffman解碼
					IIS_hufman_decode(is, &IIS_side_info, ch, gr, part2_start, &fr_ps);
																//反量化采樣
					IIS_dequantize_sample(is, ro[ch], &IIS_scalefac, &(IIS_side_info.ch[ch].gr[gr]), ch, &fr_ps);
				}
																//立體聲處理
				IIS_stereo(ro, lr, &IIS_scalefac, &(IIS_side_info.ch[0].gr[gr]), &fr_ps);
				for (ch=0; ch<fr_ps.stereo; ch++) 
				{
					double re[SBLIMIT][SSLIMIT];
					double hybridIn[SBLIMIT][SSLIMIT];	/* 濾波器輸入 */
					double hybridOut[SBLIMIT][SSLIMIT];	/* 濾波器輸出 */
					double polyPhaseIn[SBLIMIT];    		/* 多項輸入. */

					IIS_reorder(lr[ch], re, &(IIS_side_info.ch[ch].gr[gr]), &fr_ps);
																//抗鋸齒處理
					IIS_antialias(re, hybridIn, 
								&(IIS_side_info.ch[ch].gr[gr]), &fr_ps);
																//IMDCT
					for (sb=0; sb<SBLIMIT; sb++) 
					{ 									/* 合成. */
						IIS_hybrid(hybridIn[sb], hybridOut[sb], sb, ch,	&(IIS_side_info.ch[ch].gr[gr]), &fr_ps);
					}
					for (ss=0;ss<18;ss++)					//多相頻率倒置
						for (sb=0; sb<SBLIMIT; sb++)
							if ((ss%2) && (sb%2))
								hybridOut[sb][ss] = -hybridOut[sb][ss];
					for (ss=0;ss<18;ss++) { 				//多相合成
						for (sb=0; sb<SBLIMIT; sb++)
							polyPhaseIn[sb] = hybridOut[sb][ss];
																//子帶合成
						clip += SubBandSynthesis(polyPhaseIn, ch, &((*pcm_sample)[ch][ss][0]));
					}
				}
																//PCM輸出
			out_fifo(*pcm_sample, 18, &fr_ps, done, musicout, &sample_frames);
			}
			if(clip > 0)
				printf("\n%d samples clipped.\n", clip);
		}
			break;
		default:
			printf("\nOnly layer IIS supported!\n");
			exit(1);
			break;
		}
	}
	close_bit_stream_r(&bs);
	fclose(musicout);
	printf("\nDecoding done.\n");
	return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香激情综合国产| 有码一区二区三区| 国产在线日韩欧美| 久久综合资源网| 国产在线精品一区二区夜色| 欧美精品一区在线观看| 久久成人免费电影| 国产日产欧美一区二区视频| 99久久99久久免费精品蜜臀| 最新日韩av在线| 欧美日韩中文精品| 久久精品国产久精国产爱| 久久综合国产精品| 成人福利视频在线| 一级女性全黄久久生活片免费| 欧美精品乱码久久久久久| 午夜久久久影院| 精品国产乱码久久久久久蜜臀| 国产剧情在线观看一区二区| 亚洲日本欧美天堂| 欧美日韩国产综合视频在线观看 | 亚洲国产一区二区a毛片| 欧美午夜精品免费| 狠狠色狠狠色综合系列| 国产精品免费av| 欧美日韩激情在线| 国产成人精品一区二区三区网站观看| 亚洲人成小说网站色在线 | 91亚洲男人天堂| 日韩电影在线一区二区三区| 国产视频一区二区三区在线观看| 99久久er热在这里只有精品15 | 一本大道久久a久久精品综合| 亚洲国产精品久久艾草纯爱| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美视频在线一区二区三区| 国产在线日韩欧美| 有码一区二区三区| 国产亚洲精品资源在线26u| 欧美色图天堂网| 国产99久久久国产精品免费看| 亚洲一区中文在线| 国产调教视频一区| 欧美一区二区女人| 一本一本久久a久久精品综合麻豆| 另类欧美日韩国产在线| 一区二区三区蜜桃网| 久久精品欧美一区二区三区不卡| 欧美美女一区二区三区| jizzjizzjizz欧美| 精品夜夜嗨av一区二区三区| 一区二区三区电影在线播| 欧美va亚洲va| 日韩av在线发布| 国产成人av一区| 波多野结衣在线一区| 精品视频一区二区不卡| 亚洲免费在线观看视频| 久久狠狠亚洲综合| 中文字幕在线不卡视频| 精品国产伦一区二区三区免费| 夜夜爽夜夜爽精品视频| 天天综合网 天天综合色| www.在线欧美| 精品精品欲导航| 亚洲一区二区视频在线| 国产精品原创巨作av| 日韩**一区毛片| 日韩成人免费看| 中文字幕综合网| 奇米影视一区二区三区小说| 91精品国产高清一区二区三区蜜臀| 欧美日韩一区不卡| 日产国产高清一区二区三区| 欧美性大战久久| 日韩精品一区二区三区三区免费| 欧美激情在线一区二区三区| 久久女同精品一区二区| 99久久精品国产麻豆演员表| 国产午夜亚洲精品理论片色戒| 成人免费高清在线| 国产91丝袜在线播放0| 亚洲国产精品久久不卡毛片 | 成a人片亚洲日本久久| 国产精品成人一区二区三区夜夜夜| av午夜一区麻豆| 色妹子一区二区| 91蜜桃在线免费视频| 欧美撒尿777hd撒尿| 美女视频免费一区| 日本亚洲视频在线| 天天操天天干天天综合网| 欧美熟乱第一页| 欧美国产日韩一二三区| 国产成人丝袜美腿| 欧美日韩免费电影| 国产高清久久久| 亚洲精品视频免费观看| 91搞黄在线观看| 国产精品视频观看| 91成人免费在线| xfplay精品久久| 欧美v亚洲v综合ⅴ国产v| 国产精品成人一区二区三区夜夜夜 | 欧美精品在线一区二区| 91精品福利在线一区二区三区| 男人的天堂久久精品| 亚洲精品伦理在线| 男人的天堂久久精品| 国产高清亚洲一区| 欧美色图免费看| 精品一区二区在线视频| 亚洲欧洲精品一区二区精品久久久| 日本成人在线不卡视频| 欧美一区二区免费| 国产偷国产偷精品高清尤物| 91在线小视频| 男人的j进女人的j一区| 久久精品欧美一区二区三区不卡 | 亚洲va欧美va人人爽午夜| 精品欧美一区二区在线观看| 波多野结衣在线一区| 欧美高清视频在线高清观看mv色露露十八 | 蜜臀av国产精品久久久久| 看电影不卡的网站| 国产毛片精品一区| 国产黄色精品视频| 欧美日韩免费观看一区二区三区| 日韩一级在线观看| 国产又粗又猛又爽又黄91精品| 99re热这里只有精品视频| 欧美三级蜜桃2在线观看| 久久久.com| 亚洲综合小说图片| 国产综合成人久久大片91| 成人91在线观看| 91精品国产综合久久精品麻豆| 久久久国产精品麻豆| 亚洲免费观看高清完整版在线观看| 亚洲成人av电影在线| 成人av影视在线观看| 欧美一区二区女人| 最新中文字幕一区二区三区 | 亚洲va国产天堂va久久en| 国内精品国产成人| 欧日韩精品视频| 国产人伦精品一区二区| 亚洲午夜久久久久| 91原创在线视频| 精品99一区二区三区| 亚洲激情在线播放| 国产精品综合视频| 欧美裸体bbwbbwbbw| 国产精品乱人伦中文| 日韩精品一级二级| 欧美日韩成人综合天天影院| 国产亚洲精品aa| 日韩精品电影在线| 91在线视频18| 亚洲国产精品99久久久久久久久| 日日夜夜精品免费视频| 成人美女视频在线观看18| 色婷婷久久久久swag精品| 日韩一区有码在线| 国产高清亚洲一区| 日韩久久久精品| 天天色综合成人网| 在线免费视频一区二区| 中文字幕日韩一区二区| 国产制服丝袜一区| 久久综合资源网| 激情综合色综合久久| 欧美美女视频在线观看| 一区二区三区日韩精品视频| 成人av动漫网站| 国产精品久久久久久久久免费相片| 九九国产精品视频| 日韩一区二区三区四区| 午夜精品久久久久影视| 91国产视频在线观看| 亚洲久本草在线中文字幕| 91亚洲精品乱码久久久久久蜜桃 | 日韩黄色在线观看| 欧美色区777第一页| 亚洲国产你懂的| 欧美日韩激情在线| 亚洲国产日韩一区二区| 欧美日韩一区二区三区不卡| 午夜久久久久久久久久一区二区| 一本到不卡精品视频在线观看| 亚洲va在线va天堂| 欧美疯狂性受xxxxx喷水图片| 五月天欧美精品| 日韩视频在线你懂得| 日本欧美韩国一区三区| 91精品国产欧美一区二区成人 | 欧美日韩亚洲国产综合| 午夜久久久久久久久久一区二区| 欧美高清视频一二三区| 日本视频一区二区三区|