亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品国产伦一区二区三区观看体验| 欧美一区二区播放| 国产精品一级在线| 麻豆一区二区三| 日本伊人色综合网| 日韩高清欧美激情| 美腿丝袜亚洲综合| 久久91精品久久久久久秒播| 麻豆中文一区二区| 国产一区二区剧情av在线| 国产精品一区二区你懂的| 国产91精品露脸国语对白| 成人成人成人在线视频| 91影院在线免费观看| 欧美最新大片在线看| 在线不卡中文字幕| 日韩一区二区三区在线| www成人在线观看| 国产欧美日韩精品一区| 国产精品卡一卡二| 一区二区三区毛片| 奇米色777欧美一区二区| 国产一区二区在线观看视频| 国产福利一区在线观看| 91视频精品在这里| 欧美片在线播放| www精品美女久久久tv| 日韩理论电影院| 午夜久久久久久久久| 国模无码大尺度一区二区三区| 国产盗摄女厕一区二区三区| 91蝌蚪国产九色| 91精品国产91久久综合桃花| 国产亚洲精品超碰| 亚洲国产精品久久人人爱蜜臀| 久久丁香综合五月国产三级网站| 成人毛片在线观看| 欧美精品三级在线观看| 国产精品人妖ts系列视频| 亚洲一区二区欧美| 国产精品资源站在线| 在线观看av一区二区| 国产亚洲精品bt天堂精选| 亚洲国产日韩综合久久精品| 国产乱理伦片在线观看夜一区| 91福利视频久久久久| 精品国产91久久久久久久妲己| 一区二区三区精品在线观看| 国产自产2019最新不卡| 欧美精品色综合| 亚洲视频 欧洲视频| 精品一区二区在线看| 欧美网站一区二区| 中文字幕 久热精品 视频在线| 婷婷成人综合网| 色综合天天综合色综合av| 久久综合狠狠综合久久激情| 午夜精品久久久久久久久久久| 成人av在线影院| 久久日韩精品一区二区五区| 午夜精品久久久| 日本韩国欧美三级| 国产精品久久久久影院| 国产一区二区三区美女| 欧美一区二区视频在线观看2020| 亚洲素人一区二区| 懂色av一区二区夜夜嗨| 久久久精品天堂| 精品一区免费av| 精品福利一二区| 日本va欧美va欧美va精品| 欧美色爱综合网| 亚洲国产精品天堂| 欧美三级中文字幕在线观看| 亚洲精品成a人| 91福利视频在线| 亚洲一级片在线观看| 色婷婷久久99综合精品jk白丝| 中文字幕视频一区| 成人在线视频首页| 国产精品电影一区二区| 99在线精品免费| 一区二区三区四区在线播放| 91麻豆免费在线观看| 亚洲色图制服诱惑| 日本乱人伦一区| 午夜精品福利久久久| 欧美一区在线视频| 麻豆91在线播放| 久久蜜桃av一区精品变态类天堂 | 99国产麻豆精品| 亚洲欧洲美洲综合色网| 91免费观看在线| 午夜影院久久久| 91精品国产入口在线| 久久丁香综合五月国产三级网站 | 国产精品伦理一区二区| 91视频com| 天天操天天色综合| 久久久久久久网| 97久久精品人人做人人爽| 亚洲成人中文在线| 精品国产123| 91麻豆精品视频| 日本最新不卡在线| 中文字幕乱码一区二区免费| 色婷婷亚洲精品| 久草在线在线精品观看| 国产精品乱人伦一区二区| 欧美日韩精品三区| 国产精品亚洲第一区在线暖暖韩国| 国产精品毛片无遮挡高清| 欧美日韩精品一区视频| 国产精品亚洲一区二区三区妖精| 一区二区三区中文字幕电影 | 国产成a人亚洲精品| 亚洲六月丁香色婷婷综合久久| 欧美一级黄色大片| 91亚洲精品一区二区乱码| 日本美女一区二区| 亚洲摸摸操操av| 亚洲精品在线观看网站| 在线观看免费亚洲| 成人美女在线视频| 日韩高清一区在线| 亚洲蜜桃精久久久久久久| 精品国产麻豆免费人成网站| 在线一区二区三区四区五区 | 日韩伦理免费电影| 久久一留热品黄| 欧美一区中文字幕| 欧美视频三区在线播放| 99麻豆久久久国产精品免费优播| 日本成人超碰在线观看| 亚洲国产精品尤物yw在线观看| 中文字幕av免费专区久久| 2023国产精华国产精品| 91精品国产乱| 欧美高清一级片在线| 欧美性大战久久| 一本色道亚洲精品aⅴ| 成人h版在线观看| 懂色av噜噜一区二区三区av| 国内久久婷婷综合| 极品美女销魂一区二区三区| 日本午夜一本久久久综合| 亚洲一级不卡视频| 一区二区三区在线观看欧美| 亚洲欧美综合网| 亚洲美女屁股眼交3| 日韩一区欧美小说| 最新热久久免费视频| 国产精品免费看片| 国产精品电影一区二区三区| 中文字幕在线不卡视频| 国产精品久久毛片a| 亚洲天堂网中文字| 亚洲综合在线电影| 亚洲国产一区二区三区| 三级精品在线观看| 日韩电影一二三区| 久草精品在线观看| 国产精品一区专区| av在线不卡电影| 一本色道久久综合精品竹菊| 色婷婷久久久综合中文字幕| 在线观看亚洲精品视频| 欧美日本免费一区二区三区| 91精品国产色综合久久ai换脸 | 亚洲成人先锋电影| 日韩福利视频导航| 毛片av中文字幕一区二区| 国产一区二区三区免费观看| av不卡在线观看| 欧美在线小视频| 欧美精品久久久久久久久老牛影院| 8v天堂国产在线一区二区| 日韩欧美一二区| 国产精品每日更新| 亚洲h在线观看| 国产一区福利在线| 色呦呦网站一区| 日韩美女视频一区二区在线观看| 国产日韩成人精品| 亚洲精品ww久久久久久p站| 日本大胆欧美人术艺术动态| 国产精品亚洲综合一区在线观看| 色哟哟一区二区三区| 欧美一区二区三区免费观看视频| 国产亚洲女人久久久久毛片| 亚洲主播在线播放| 国产精品一区免费视频| 欧美性大战久久久久久久蜜臀| 精品1区2区在线观看| 亚洲综合区在线| 国产精选一区二区三区| 欧美日韩极品在线观看一区| 中文字幕av一区二区三区高 | 91色视频在线| 精品成人免费观看|