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

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

?? mpg123.c

?? mpeg 2 source code for video compression
?? C
?? 第 1 頁 / 共 3 頁
字號:
		if (intflag)			return;		buffermem->buf[0] = ai.rate; 		buffermem->buf[1] = ai.channels; 		buffermem->buf[2] = ai.format;		buffer_reset();	}	else #endif	if (param.outmode == DECODE_AUDIO) {		/* audio_reset_parameters(&ai); */		/*   close and re-open in order to flush		 *   the device's internal buffer before		 *   changing the sample rate.   [OF]		 */		audio_close (&ai);		if (audio_open(&ai) < 0) {			perror("audio");#ifdef HAVE_TERMIOS			if(param.term_ctrl)				term_restore();#endif			exit(1);		}	}}/*	precog the audio rate that will be set before output begins	this is needed to give gapless code a chance to keep track for firstframe != 0*/void prepare_audioinfo(struct frame *fr, struct audio_info_struct *nai){	long newrate = freqs[fr->sampling_frequency]>>(param.down_sample);	fr->down_sample = param.down_sample;	audio_fit_capabilities(nai,fr->stereo,newrate);}/* * play a frame read by read_frame(); * (re)initialize audio if necessary. * * needs a major rewrite .. it's incredible ugly! */void play_frame(int init,struct frame *fr){	int clip;	long newrate;	long old_rate,old_format,old_channels;	if(fr->header_change || init) {		if (!param.quiet && init) {			if (param.verbose)				print_header(fr);			else				print_header_compact(fr);		}		if(fr->header_change > 1 || init) {			old_rate = ai.rate;			old_format = ai.format;			old_channels = ai.channels;			newrate = freqs[fr->sampling_frequency]>>(param.down_sample);			prepare_audioinfo(fr, &ai);			if(param.verbose > 1) fprintf(stderr, "Note: audio output rate = %li\n", ai.rate);			#ifdef GAPLESS			if(param.gapless && (fr->lay == 3)) layer3_gapless_bytify(fr, &ai);			#endif						/* check, whether the fitter set our proposed rate */			if(ai.rate != newrate) {				if(ai.rate == (newrate>>1) )					fr->down_sample++;				else if(ai.rate == (newrate>>2) )					fr->down_sample+=2;				else {					fr->down_sample = 3;					fprintf(stderr,"Warning, flexible rate not heavily tested!\n");				}				if(fr->down_sample > 3)					fr->down_sample = 3;			}			switch(fr->down_sample) {				case 0:				case 1:				case 2:					fr->down_sample_sblimit = SBLIMIT>>(fr->down_sample);					break;				case 3:					{						long n = freqs[fr->sampling_frequency];                                                long m = ai.rate;						synth_ntom_set_step(n,m);						if(n>m) {							fr->down_sample_sblimit = SBLIMIT * m;							fr->down_sample_sblimit /= n;						}						else {							fr->down_sample_sblimit = SBLIMIT;						}					}					break;			}			init_output();			if(ai.rate != old_rate || ai.channels != old_channels ||			   ai.format != old_format || param.force_reopen) {				if(param.force_mono < 0) {					if(ai.channels == 1)						fr->single = 3;					else						fr->single = -1;				}				else					fr->single = param.force_mono;				param.force_stereo &= ~0x2;				if(fr->single >= 0 && ai.channels == 2) {					param.force_stereo |= 0x2;				}				set_synth_functions(fr);				init_layer3(fr->down_sample_sblimit);				reset_audio();				if(param.verbose) {					if(fr->down_sample == 3) {						long n = freqs[fr->sampling_frequency];						long m = ai.rate;						if(n > m) {							fprintf(stderr,"Audio: %2.4f:1 conversion,",(float)n/(float)m);						}						else {							fprintf(stderr,"Audio: 1:%2.4f conversion,",(float)m/(float)n);						}					}					else {						fprintf(stderr,"Audio: %ld:1 conversion,",(long)pow(2.0,fr->down_sample));					} 					fprintf(stderr," rate: %ld, encoding: %s, channels: %d\n",ai.rate,audio_encoding_name(ai.format),ai.channels);				}			}			if (intflag)				return;		}	}	if (fr->error_protection) {		getbits(16); /* skip crc */	}	/* do the decoding */	clip = (fr->do_layer)(fr,param.outmode,&ai);#ifndef NOXFERMEM	if (param.usebuffer) {		if (!intflag) {			buffermem->freeindex =				(buffermem->freeindex + pcm_point) % buffermem->size;			if (buffermem->wakeme[XF_READER])				xfermem_putcmd(buffermem->fd[XF_WRITER], XF_CMD_WAKEUP_INFO);		}		pcm_sample = (unsigned char *) (buffermem->data + buffermem->freeindex);		pcm_point = 0;		while (xfermem_get_freespace(buffermem) < (FRAMEBUFUNIT << 1))			if (xfermem_block(XF_WRITER, buffermem) == XF_CMD_TERMINATE) {				intflag = TRUE;				break;			}		if (intflag)			return;	}#endif	if(clip > 0 && param.checkrange)		fprintf(stderr,"%d samples clipped\n", clip);}void set_synth_functions(struct frame *fr){	typedef int (*func)(real *,int,unsigned char *,int *);	typedef int (*func_mono)(real *,unsigned char *,int *);	typedef void (*func_dct36)(real *,real *,real *,real *,real *);	int ds = fr->down_sample;	int p8=0;#ifdef USE_3DNOW	static func funcs[3][4] = {#else	static func funcs[2][4] = { #endif		{ synth_1to1,		  synth_2to1,		  synth_4to1,		  synth_ntom } ,		{ synth_1to1_8bit,		  synth_2to1_8bit,		  synth_4to1_8bit,		  synth_ntom_8bit } #ifdef USE_3DNOW  	       ,{ synth_1to1_3dnow,  		  synth_2to1, 		  synth_4to1,  		  synth_ntom }#endif	};	static func_mono funcs_mono[2][2][4] = {    		{ { synth_1to1_mono2stereo ,		    synth_2to1_mono2stereo ,		    synth_4to1_mono2stereo ,		    synth_ntom_mono2stereo } ,		  { synth_1to1_8bit_mono2stereo ,		    synth_2to1_8bit_mono2stereo ,		    synth_4to1_8bit_mono2stereo ,		    synth_ntom_8bit_mono2stereo } } ,		{ { synth_1to1_mono ,		    synth_2to1_mono ,		    synth_4to1_mono ,		    synth_ntom_mono } ,		  { synth_1to1_8bit_mono ,		    synth_2to1_8bit_mono ,		    synth_4to1_8bit_mono ,		    synth_ntom_8bit_mono } }	};#ifdef USE_3DNOW		static func_dct36 funcs_dct36[2] = {dct36 , dct36_3dnow};#endif	if((ai.format & AUDIO_FORMAT_MASK) == AUDIO_FORMAT_8)		p8 = 1;	fr->synth = funcs[p8][ds];	fr->synth_mono = funcs_mono[param.force_stereo?0:1][p8][ds];/* TODO: make autodetection for _all_ x86 optimizations (maybe just for i586+ and keep separate 486 build?) */#ifdef USE_3DNOW	/* check cpuflags bit 31 (3DNow!) and 23 (MMX) */	if((param.stat_3dnow < 2) && 	   ((param.stat_3dnow == 1) ||	    (getcpuflags() & 0x80800000) == 0x80800000))      	{	  fr->synth = funcs[2][ds]; /* 3DNow! optimized synth_1to1() */	  fr->dct36 = funcs_dct36[1]; /* 3DNow! optimized dct36() */	}	else	{	       	  fr->dct36 = funcs_dct36[0];      	}#endif	if(p8) {		make_conv16to8_table(ai.format);	}}int main(int argc, char *argv[]){	int result;	char *fname;#if !defined(WIN32) && !defined(GENERIC)	struct timeval start_time, now;	unsigned long secdiff;#endif		int init;	#ifdef GAPLESS	int pre_init;	#endif	int j;#ifdef OS2        _wildcard(&argc,&argv);#endif	if(sizeof(short) != 2) {		fprintf(stderr,"Ouch SHORT has size of %d bytes (required: '2')\n",(int)sizeof(short));		exit(1);	}	if(sizeof(long) < 4) {		fprintf(stderr,"Ouch LONG has size of %d bytes (required: at least 4)\n",(int)sizeof(long));	}	(prgName = strrchr(argv[0], '/')) ? prgName++ : (prgName = argv[0]);	audio_info_struct_init(&ai);	while ((result = getlopt(argc, argv, opts)))	switch (result) {		case GLO_UNKNOWN:			fprintf (stderr, "%s: Unknown option \"%s\".\n", 				prgName, loptarg);			usage(1);		case GLO_NOARG:			fprintf (stderr, "%s: Missing argument for option \"%s\".\n",				prgName, loptarg);			usage(1);	}#ifdef USE_3DNOW	if (param.test_3dnow) {		int cpuflags = getcpuflags();		fprintf(stderr,"CPUFLAGS = %08x\n",cpuflags);		if ((cpuflags & 0x00800000) == 0x00800000) {			fprintf(stderr,"MMX instructions are supported.\n");		}		if ((cpuflags & 0x80000000) == 0x80000000) {			fprintf(stderr,"3DNow! instructions are supported.\n");		}		exit(0);	}#endif	if (loptind >= argc && !param.listname && !param.remote)		usage(1);#if !defined(WIN32) && !defined(GENERIC)	if (param.remote) {		param.verbose = 0;        		param.quiet = 1;	}#endif	if (!(param.listentry < 0) && !param.quiet)		print_title(stderr); /* do not pollute stdout! */	if(param.force_mono >= 0) {		fr.single = param.force_mono;	}	if(param.force_rate && param.down_sample) {		fprintf(stderr,"Down sampling and fixed rate options not allowed together!\n");		exit(1);	}	audio_capabilities(&ai);	/* equalizer initialization regardless of equalfile */	for(j=0; j<32; j++) {		equalizer[0][j] = equalizer[1][j] = 1.0;		equalizer_sum[0][j] = equalizer_sum[1][j] = 0.0;	}	if(equalfile != NULL) { /* tst; ThOr: not TRUE or FALSE: allocated or not... */		FILE *fe;		int i;		equalizer_cnt = 0;		fe = fopen(equalfile,"r");		if(fe) {			char line[256];			for(i=0;i<32;i++) {				float e1,e0; /* %f -> float! */				line[0]=0;				fgets(line,255,fe);				if(line[0]=='#')					continue;				sscanf(line,"%f %f",&e0,&e1);				equalizer[0][i] = e0;				equalizer[1][i] = e1;				}			fclose(fe);			have_eq_settings = TRUE;					}		else			fprintf(stderr,"Can't open equalizer file '%s'\n",equalfile);	}#ifdef HAVE_SETPRIORITY	if(param.aggressive) { /* tst */		int mypid = getpid();		setpriority(PRIO_PROCESS,mypid,-20);	}#endif#ifdef HAVE_SCHED_SETSCHEDULER	if (param.realtime) {  /* Get real-time priority */	  struct sched_param sp;	  fprintf(stderr,"Getting real-time priority\n");	  memset(&sp, 0, sizeof(struct sched_param));	  sp.sched_priority = sched_get_priority_min(SCHED_FIFO);	  if (sched_setscheduler(0, SCHED_RR, &sp) == -1)	    fprintf(stderr,"Can't get real-time priority\n");	}#endif	set_synth_functions(&fr);	if(!param.remote) prepare_playlist(argc, argv);	make_decode_tables(outscale);	init_layer2(); /* inits also shared tables with layer1 */	init_layer3(fr.down_sample);#if !defined(WIN32) && !defined(GENERIC)	/* This ctrl+c for title skip only when not in some control mode */	if	(		!param.remote 		#ifdef HAVE_TERMIOS		&& !param.term_ctrl		#endif	)	catchsignal (SIGINT, catch_interrupt);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产伦精品一区二区三区免费迷| 另类小说一区二区三区| 日韩一级片在线观看| 成人福利电影精品一区二区在线观看| 亚洲午夜电影网| 中文字幕中文字幕中文字幕亚洲无线| 日韩一区二区电影在线| 91精品1区2区| 成人丝袜视频网| 久久疯狂做爰流白浆xx| 亚洲一区在线看| 国产精品久线在线观看| www日韩大片| 91精品国产乱| 欧美三区免费完整视频在线观看| 不卡免费追剧大全电视剧网站| 九九九久久久精品| 天堂精品中文字幕在线| 亚洲综合一区二区精品导航| 中文字幕在线不卡| 欧美国产成人精品| 久久夜色精品国产噜噜av| 欧美一区二区三区日韩视频| 欧美性欧美巨大黑白大战| 日本精品一级二级| aaa欧美日韩| 成人av网站免费| 国产精品1区2区3区| 国产伦精品一区二区三区免费| 久久国产三级精品| 青草国产精品久久久久久| 免费久久99精品国产| 奇米色777欧美一区二区| 日韩成人av影视| 蜜桃视频一区二区| 另类小说色综合网站| 青青国产91久久久久久 | 中文字幕一区在线| 亚洲国产高清不卡| 国产精品视频你懂的| 国产精品女同互慰在线看| 亚洲国产电影在线观看| 中文字幕一区二区三区四区不卡| 国产精品麻豆视频| 中文字幕一区二区三区在线观看| 亚洲特级片在线| 一区二区不卡在线播放| 手机精品视频在线观看| 美女脱光内衣内裤视频久久网站| 美女爽到高潮91| 国产福利精品一区二区| 成人av一区二区三区| 99久久伊人久久99| 欧美最猛性xxxxx直播| 欧美精品777| 欧美精品一区在线观看| 久久久久99精品国产片| 亚洲欧洲一区二区在线播放| 亚洲精品成人天堂一二三| 亚洲制服欧美中文字幕中文字幕| 亚洲成人精品影院| 看电视剧不卡顿的网站| 国产69精品一区二区亚洲孕妇 | 成人国产精品免费| 一本色道久久综合狠狠躁的推荐| 欧美午夜宅男影院| 欧美大片日本大片免费观看| 日本一区二区免费在线| 一区二区免费在线播放| 蜜桃视频在线观看一区二区| 岛国精品在线观看| 欧美性高清videossexo| 2022国产精品视频| 亚洲激情图片一区| 精品一区二区三区在线观看 | 一区二区三区蜜桃| 青青青爽久久午夜综合久久午夜| 国产激情视频一区二区三区欧美 | 欧美综合亚洲图片综合区| 日韩精品一区二区三区在线观看| 久久精品一区二区三区av| 亚洲精品一二三四区| 韩国三级在线一区| 色综合色狠狠天天综合色| 精品免费视频.| 亚洲精品自拍动漫在线| 国产一区二区三区| 欧美丝袜丝交足nylons图片| 欧美国产日韩精品免费观看| 午夜视频在线观看一区| 国产成人亚洲综合色影视| 欧美区在线观看| 中文字幕乱码亚洲精品一区 | 色婷婷久久综合| 精品久久久久一区二区国产| 亚洲天堂网中文字| 国内成人自拍视频| 欧美日韩不卡在线| 成人欧美一区二区三区1314| 蜜桃久久精品一区二区| 91极品视觉盛宴| 欧美激情在线一区二区| 奇米一区二区三区| 欧美日韩一区不卡| 亚洲视频一区二区在线观看| 精品一区二区三区在线播放视频| 欧美日韩亚洲另类| 一区二区三区四区在线播放| 成人做爰69片免费看网站| 欧美不卡在线视频| 三级欧美韩日大片在线看| 色婷婷激情综合| 亚洲欧美在线高清| 成人午夜精品一区二区三区| 精品国产成人系列| 蜜臀av一区二区在线免费观看| 在线观看www91| 一区二区三区中文免费| 99视频精品全部免费在线| 国产日韩精品一区二区浪潮av | 亚洲男人的天堂网| 丰满少妇久久久久久久| 久久这里只有精品首页| 久久不见久久见免费视频1 | 亚洲综合色婷婷| 91小视频免费看| 亚洲欧美综合另类在线卡通| 成人高清免费观看| 国产精品久久久久精k8| caoporm超碰国产精品| 日本一区二区视频在线观看| 高清不卡一二三区| 欧美韩国日本不卡| 成人激情动漫在线观看| 国产精品无码永久免费888| 成人短视频下载| 亚洲欧美日本韩国| 欧美午夜不卡视频| 欧美aaaaaa午夜精品| 精品噜噜噜噜久久久久久久久试看| 日本欧美一区二区三区乱码| 欧美精品在线视频| 伦理电影国产精品| 久久综合久久99| 粉嫩av一区二区三区在线播放| 国产精品欧美一区二区三区| 99r国产精品| 亚洲一二三区视频在线观看| 在线电影院国产精品| 奇米一区二区三区| 久久精品网站免费观看| 成人午夜电影小说| 亚洲欧美另类久久久精品2019| 色婷婷久久一区二区三区麻豆| 亚洲国产另类精品专区| 日韩一区二区三区高清免费看看| 精品中文av资源站在线观看| 国产精品视频线看| 欧美视频中文一区二区三区在线观看| 日本欧美加勒比视频| 国产日韩欧美不卡在线| 在线视频一区二区三| 免费精品视频在线| 国产精品麻豆欧美日韩ww| 欧美影视一区二区三区| 久久疯狂做爰流白浆xx| 亚洲欧美在线高清| 日韩欧美在线观看一区二区三区| 国产麻豆精品95视频| 亚洲色图视频网站| 日韩欧美专区在线| 成人av在线网站| 日精品一区二区| 中文乱码免费一区二区| 欧美色精品天天在线观看视频| 久久 天天综合| 亚洲另类色综合网站| 精品国产一区久久| 欧美在线免费视屏| 国产一区二区三区国产| 亚洲制服丝袜一区| 国产欧美精品在线观看| 欧美日本国产一区| 成人av在线看| 久久福利资源站| 亚洲高清中文字幕| 国产精品欧美精品| 精品国产一区二区三区不卡| 色香蕉久久蜜桃| 国产馆精品极品| 日本伊人精品一区二区三区观看方式| 日本一区二区三级电影在线观看| 91精品国产综合久久久久久漫画 | av不卡在线播放| 久久99最新地址| 亚洲综合久久久| 国产精品无遮挡| 久久夜色精品一区| 91精品麻豆日日躁夜夜躁| 色综合天天天天做夜夜夜夜做|