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

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

?? layer3.c

?? < VC++視頻音頻開發>> 這本書的源碼
?? 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;
	III_side_info_t III_side_info;
	III_scalefac_t III_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_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信息
			III_get_side_info(&bs, &III_side_info, &fr_ps);
			nSlots = main_data_slots(fr_ps);

			 //讀主數據(Audio Data)
			for (; nSlots > 0; nSlots--)  /* read main data. */
				hputbuf((unsigned int) getbits(&bs,8), 8);
			main_data_end = hsstell() / 8; /*of privious frame*/
			if ( flush_main=(hsstell() % bitsPerSlot) ) {
				hgetbits((int)(bitsPerSlot - flush_main));
				main_data_end ++;
			}
			bytes_to_discard = frame_start - main_data_end - III_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();
					//獲取比例因子
					III_get_scale_factors(&III_scalefac,&III_side_info, gr, ch, &fr_ps);
					//Huffman解碼
					III_hufman_decode(is, &III_side_info, ch, gr, part2_start, &fr_ps);
					//反量化采樣
					III_dequantize_sample(is, ro[ch], &III_scalefac, &(III_side_info.ch[ch].gr[gr]), ch, &fr_ps);
				}
				//立體聲處理
				III_stereo(ro, lr, &III_scalefac, &(III_side_info.ch[0].gr[gr]), &fr_ps);
				for (ch=0; ch<fr_ps.stereo; ch++) {
					double re[SBLIMIT][SSLIMIT];
					double hybridIn[SBLIMIT][SSLIMIT];/* Hybrid filter input */
					double hybridOut[SBLIMIT][SSLIMIT];/* Hybrid filter out */
					double polyPhaseIn[SBLIMIT];     /* PolyPhase Input. */

					III_reorder(lr[ch], re, &(III_side_info.ch[ch].gr[gr]), &fr_ps);
					//抗鋸齒處理
					III_antialias(re, hybridIn, /* Antialias butterflies. */
								&(III_side_info.ch[ch].gr[gr]), &fr_ps);
					//IMDCT
					for (sb=0; sb<SBLIMIT; sb++) { /* Hybrid synthesis. */
						III_hybrid(hybridIn[sb], hybridOut[sb], sb, ch,	&(III_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輸出
				/* Output PCM sample points for one granule(顆粒). */
				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 III 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一区二区三区免费野_久草精品视频
eeuss鲁片一区二区三区在线看| 久久伊人蜜桃av一区二区| 成人欧美一区二区三区视频网页| 国产在线播精品第三| 久久久久久夜精品精品免费| 国产精品性做久久久久久| 国产91丝袜在线观看| 午夜精品福利一区二区三区av| 欧美一级精品大片| 一区二区三区中文字幕精品精品| 亚洲成a天堂v人片| 日韩一区二区在线观看视频| 国内外成人在线| 国产精品美女一区二区三区| 色综合欧美在线视频区| 午夜免费久久看| 欧美精品一区二区三区四区| 风间由美一区二区av101| 亚洲精品第一国产综合野| 91精品国产一区二区三区香蕉| 国产一区免费电影| 亚洲综合激情小说| 日韩精品最新网址| 色综合亚洲欧洲| 精品无人码麻豆乱码1区2区| 国产自产v一区二区三区c| 白白色亚洲国产精品| 国产精品久久久久影院色老大| 99v久久综合狠狠综合久久| 一区二区欧美精品| 久久婷婷久久一区二区三区| 在线亚洲一区二区| 国产精华液一区二区三区| 一区二区久久久久| 久久久久久久综合日本| 欧美性色黄大片| 国产99久久久国产精品潘金| 偷拍日韩校园综合在线| 国产精品热久久久久夜色精品三区| 欧美三区在线观看| 成人黄页在线观看| 美女mm1313爽爽久久久蜜臀| 亚洲综合小说图片| 国产婷婷色一区二区三区在线| 欧美三级日韩三级| 91美女视频网站| 九九九精品视频| 日韩精品一级二级| 久久精品夜夜夜夜久久| 欧美在线视频全部完| 国产精品午夜电影| 欧美tickle裸体挠脚心vk| 在线观看国产精品网站| 成人小视频免费在线观看| 美女国产一区二区三区| 午夜精品久久久久久久久| 亚洲人123区| 国产欧美一区二区精品性| 精品久久人人做人人爽| 欧美一级夜夜爽| 制服视频三区第一页精品| 一本久道久久综合中文字幕| 成人丝袜18视频在线观看| 国产福利一区在线| 国产麻豆欧美日韩一区| 精品一区二区在线免费观看| 免费高清在线视频一区·| 亚洲成a人片在线观看中文| 亚洲在线观看免费视频| 亚洲一区二区综合| 亚洲黄网站在线观看| 一区二区视频在线| 亚洲精品亚洲人成人网| 日韩欧美一区二区免费| jvid福利写真一区二区三区| 国产视频一区二区在线观看| 欧美videossexotv100| 日韩一区二区不卡| 日韩精品一区在线| 精品国产91洋老外米糕| 日韩精品一区二区在线观看| 精品国产伦一区二区三区免费| 日韩精品影音先锋| 国产亚洲欧美在线| 中文字幕一区av| 亚洲精品网站在线观看| 亚洲成av人片一区二区三区| 日韩高清欧美激情| 久久99精品视频| 国产91对白在线观看九色| 99久久久国产精品| 欧美日韩在线亚洲一区蜜芽| 7777精品伊人久久久大香线蕉经典版下载 | 99视频精品在线| 一本一本大道香蕉久在线精品| 欧美羞羞免费网站| 91精品国产高清一区二区三区 | 国产清纯白嫩初高生在线观看91 | 99久久精品费精品国产一区二区| av在线这里只有精品| 在线亚洲免费视频| 日韩精品中文字幕在线一区| 欧美激情在线一区二区| 亚洲少妇最新在线视频| 日韩高清不卡一区| 东方欧美亚洲色图在线| 欧美色欧美亚洲另类二区| 欧美成人艳星乳罩| 中文字幕一区二区三区在线播放| 亚洲va欧美va国产va天堂影院| 久久69国产一区二区蜜臀| 成a人片亚洲日本久久| 欧美丰满一区二区免费视频| 久久久久久久网| 亚洲一区二区成人在线观看| 国内外精品视频| 欧美在线不卡一区| 久久久精品影视| 无吗不卡中文字幕| 丁香六月综合激情| 91精品国产综合久久精品图片| 国产日韩欧美综合一区| 亚洲成年人影院| 不卡视频在线观看| 日韩精品一区二区在线| 亚洲在线一区二区三区| 国产a级毛片一区| 日韩视频一区二区三区在线播放 | 成人av网站免费| 宅男噜噜噜66一区二区66| 亚洲欧洲成人av每日更新| 麻豆高清免费国产一区| 欧美理论电影在线| 欧美大片日本大片免费观看| 欧美乱妇20p| 国产日韩精品一区二区三区在线| 国产91高潮流白浆在线麻豆| 美洲天堂一区二卡三卡四卡视频| 五月激情综合色| 日本一不卡视频| 欧美一个色资源| 激情五月播播久久久精品| 欧美成人一级视频| 国产成+人+日韩+欧美+亚洲| 亚洲视频小说图片| 国产精品女同互慰在线看| 成人看片黄a免费看在线| 国产精品不卡一区二区三区| 91日韩精品一区| 亚洲在线视频网站| 91精品国产色综合久久ai换脸| 蜜桃av一区二区在线观看| 精品国产一区二区三区不卡 | 国产精品三级av| 色综合色狠狠天天综合色| 亚洲大片精品永久免费| 欧美大片顶级少妇| www.久久久久久久久| 夜夜嗨av一区二区三区四季av| 欧美伦理电影网| 国产一区二区主播在线| 在线播放中文字幕一区| 日韩久久久久久| 久久九九99视频| 91老师片黄在线观看| 亚洲成av人片www| 国产日韩av一区| 欧洲一区二区三区在线| 精品一区二区三区香蕉蜜桃| 国产精品的网站| 欧美二区乱c少妇| 国产精品538一区二区在线| 亚洲精品免费看| 欧美电影免费观看完整版| 成人av电影在线观看| 性感美女久久精品| 国产精品人成在线观看免费| 欧美色欧美亚洲另类二区| 国产一区二区视频在线| 亚洲制服丝袜在线| 国产欧美一区二区精品忘忧草| 日本韩国欧美在线| 国内精品伊人久久久久av影院| 亚洲人成在线观看一区二区| 日韩一级片在线播放| 99久久精品免费看国产| 久久成人精品无人区| 伊人婷婷欧美激情| 久久久久国产精品厨房| 69p69国产精品| 色综合久久中文综合久久牛| 美国十次综合导航| 亚洲午夜一二三区视频| 国产精品拍天天在线| 精品免费99久久| 欧美日韩大陆一区二区| 久久综合色鬼综合色| 久久精品国产77777蜜臀| 日韩欧美aaaaaa| 亚洲精品国产一区二区精华液 |