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

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

?? mpg123.c

?? mpg123 是 MPEG 1.0/2.0/2.5 的實時播放軟件
?? C
?? 第 1 頁 / 共 3 頁
字號:
		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");			safe_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;	if(!audio_fit_capabilities(nai,fr->stereo,newrate)) safe_exit(1);}/* * play a frame read by read_frame(); * (re)initialize audio if necessary. * * needs a major rewrite .. it's incredible ugly! */int 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;						if(!synth_ntom_set_step(n,m)) return 0;						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 1;		}	}	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 1;	}#endif	if(clip > 0 && param.checkrange)		fprintf(stderr,"%d samples clipped\n", clip);	return 1;}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) {		if(make_conv16to8_table(ai.format) != 0)		{			/* it's a bit more work to get proper error propagation up */			safe_exit(1);		}	}}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));		safe_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");		}		safe_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");		safe_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);	if(param.remote) {		int ret;		init_id3();		init_icy();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品是欧美日韩精品| 日本不卡视频在线| 久久天堂av综合合色蜜桃网 | 91精品婷婷国产综合久久性色| 成人app在线观看| 粉嫩av亚洲一区二区图片| 国产在线一区观看| 国产精品亚洲第一 | 国产日韩欧美a| 国产婷婷色一区二区三区| 久久婷婷国产综合精品青草| 久久精品夜色噜噜亚洲aⅴ| 国产偷国产偷精品高清尤物| 国产精品色呦呦| 亚洲精品日产精品乱码不卡| 亚洲午夜电影在线观看| 人人狠狠综合久久亚洲| 国产成人精品三级麻豆| 91免费国产视频网站| 欧美在线免费播放| 欧美一区二区大片| 久久久不卡网国产精品一区| 中文字幕亚洲视频| 亚洲高清免费观看| 韩国三级在线一区| 99精品热视频| 欧美猛男gaygay网站| 日韩一区二区影院| 国产亚洲欧美在线| 亚洲一区二区视频| 蜜臀久久久久久久| 成人av网站在线观看免费| 欧美日韩国产高清一区| 国产午夜久久久久| 亚洲一区二区三区四区不卡| 黄色资源网久久资源365| 一道本成人在线| 欧美一级片免费看| 亚洲女性喷水在线观看一区| 免费xxxx性欧美18vr| 99精品久久久久久| 日韩一级片网站| 亚洲精品自拍动漫在线| 狠狠色丁香婷婷综合| 欧美在线free| 国产目拍亚洲精品99久久精品| 亚洲大片免费看| 不卡视频在线看| 日韩三级在线免费观看| 夜夜揉揉日日人人青青一国产精品| 麻豆精品一区二区av白丝在线| 99久久国产综合色|国产精品| 欧美一区二区三区视频免费| 亚洲色图欧美激情| 国产精品一区在线| 日韩午夜av一区| 一区二区三区91| www.欧美精品一二区| 久久久久久久久久久99999| 日本sm残虐另类| 欧美剧情片在线观看| 亚洲综合色成人| 一本久久a久久免费精品不卡| 国产欧美一区二区精品秋霞影院| 美女视频黄久久| 欧美一区欧美二区| 亚洲成人www| 欧美无人高清视频在线观看| 亚洲人成在线播放网站岛国| 成人综合婷婷国产精品久久| 26uuu精品一区二区在线观看| 青青国产91久久久久久| 7777精品伊人久久久大香线蕉超级流畅 | 懂色中文一区二区在线播放| 欧美刺激脚交jootjob| 婷婷久久综合九色综合绿巨人| 色婷婷久久综合| 一区二区三区四区不卡在线| 91久久精品国产91性色tv| 综合激情成人伊人| 91在线视频在线| 亚洲激情图片一区| 色综合亚洲欧洲| 亚洲麻豆国产自偷在线| 9i看片成人免费高清| 国产精品你懂的在线| 99re这里只有精品首页| 亚洲色图欧美在线| 欧美日韩国产综合视频在线观看| 一区二区三区四区亚洲| 欧美日韩亚洲综合一区| 久久国内精品视频| 欧美国产精品一区二区三区| 成人av小说网| 亚洲国产精品尤物yw在线观看| 欧美精品久久99久久在免费线| 日韩国产欧美在线视频| 精品国产91久久久久久久妲己 | 激情图区综合网| 国产丝袜在线精品| 粉嫩绯色av一区二区在线观看| 国产精品嫩草影院com| 色老汉av一区二区三区| 五月天网站亚洲| 久久久综合视频| 91毛片在线观看| 日韩高清一区在线| 欧美极品美女视频| 欧美日韩一区精品| 国产精品自拍在线| 亚洲精品免费在线| 欧美zozozo| 91极品视觉盛宴| 国产精选一区二区三区| 亚洲欧美日韩小说| 欧美成人精品1314www| 91亚洲国产成人精品一区二三| 日韩国产欧美视频| 亚洲乱码国产乱码精品精可以看 | 亚洲国产视频a| 国产亚洲污的网站| 欧美久久一二区| 99国产欧美另类久久久精品| 美脚の诱脚舐め脚责91| 一级精品视频在线观看宜春院| 国产丝袜美腿一区二区三区| 欧美视频精品在线观看| 成人黄色国产精品网站大全在线免费观看 | 韩国欧美一区二区| 亚洲h在线观看| 国产精品久久99| 精品国产伦一区二区三区免费| 欧美三级视频在线| av午夜精品一区二区三区| 精品一区二区国语对白| 亚洲电影一区二区三区| 亚洲少妇30p| 中文字幕巨乱亚洲| 久久久影院官网| 日韩精品中文字幕在线一区| 欧美午夜精品久久久久久孕妇| 91网站最新地址| 99视频在线观看一区三区| 国产黄色精品视频| 国产999精品久久久久久绿帽| 精品系列免费在线观看| 另类小说图片综合网| 毛片av中文字幕一区二区| 美女视频网站久久| 美女视频黄 久久| 蜜臀91精品一区二区三区| 日韩激情视频网站| 日韩精品久久理论片| 亚洲成av人片在www色猫咪| 亚洲国产一区二区a毛片| 亚洲第四色夜色| 日本欧美韩国一区三区| 老司机精品视频在线| 国产一区二区毛片| 成人av资源站| 99久久精品国产一区二区三区| 91小视频在线免费看| 欧美日韩国产综合草草| 欧美一区二区三区免费在线看| 91精品久久久久久久99蜜桃| 日韩一级在线观看| 日本一区二区三区国色天香 | 99久久精品国产观看| 在线这里只有精品| 日韩一级片在线播放| 久久久激情视频| 1000精品久久久久久久久| 亚洲综合色网站| 日韩精品国产欧美| 久久99热这里只有精品| 国产大片一区二区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久婷婷国产综合精品青草 | 在线亚洲人成电影网站色www| 欧美日韩亚洲综合在线 | 亚洲欧洲无码一区二区三区| 一区二区三区av电影| 九九视频精品免费| 不卡电影一区二区三区| 欧美猛男gaygay网站| 欧美国产一区在线| 亚洲成人黄色影院| 丰满亚洲少妇av| 欧美日韩国产成人在线91| 日本一区二区免费在线 | 久久99久久久欧美国产| 色综合色综合色综合色综合色综合| 精品视频在线视频| 久久久99精品久久| 午夜影院在线观看欧美| 国产成人av电影免费在线观看| 色av成人天堂桃色av| 精品国产髙清在线看国产毛片| 亚洲精品美腿丝袜| 国产一区二区日韩精品|