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

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

?? xvid_encraw.c

?? 這是一個新的知識的運用我還看不懂
?? C
?? 第 1 頁 / 共 3 頁
字號:
		return (-1);	}	if (ARG_MAXFRAMENR <= 0) {		fprintf(stderr, "Wrong number of frames\n");		return (-1);	}	if (ARG_INPUTFILE == NULL || strcmp(ARG_INPUTFILE, "stdin") == 0) {		in_file = stdin;	} else {		in_file = fopen(ARG_INPUTFILE, "rb");		if (in_file == NULL) {			fprintf(stderr, "Error opening input file %s\n", ARG_INPUTFILE);			return (-1);		}	}	if (ARG_INPUTTYPE) {#ifndef READ_PNM		if (read_pgmheader(in_file)) {#else		if (read_pnmheader(in_file)) {#endif			fprintf(stderr,					"Wrong input format, I want YUV encapsulated in PGM\n");			return (-1);		}	}	/* now we know the sizes, so allocate memory */	in_buffer = (unsigned char *) malloc(IMAGE_SIZE(XDIM, YDIM));	if (!in_buffer)		goto free_all_memory;	/* this should really be enough memory ! */	mp4_buffer = (unsigned char *) malloc(IMAGE_SIZE(XDIM, YDIM) * 2);	if (!mp4_buffer)		goto free_all_memory;/***************************************************************************** *                            XviD PART  Start ****************************************************************************/	result = enc_init(use_assembler);	if (result) {		fprintf(stderr, "Encore INIT problem, return value %d\n", result);		goto release_all;	}/***************************************************************************** *                            Main loop ****************************************************************************/	if (ARG_SAVEMPEGSTREAM && ARG_OUTPUTFILE) {		if ((out_file = fopen(ARG_OUTPUTFILE, "w+b")) == NULL) {			fprintf(stderr, "Error opening output file %s\n", ARG_OUTPUTFILE);			goto release_all;		}	} else {		out_file = NULL;	}/***************************************************************************** *                       Encoding loop ****************************************************************************/	totalsize = 0;	result = 0;	input_num = 0;				/* input frame counter */	output_num = 0;				/* output frame counter */	do {		char *type;		int sse[3];		if (input_num >= ARG_MAXFRAMENR) {			result = 1;		}		if (!result) {			if (ARG_INPUTTYPE) {				/* read PGM data (YUV-format) */#ifndef READ_PNM				result = read_pgmdata(in_file, in_buffer);#else				result = read_pnmdata(in_file, in_buffer);#endif			} else {				/* read raw data (YUV-format) */				result = read_yuvdata(in_file, in_buffer);			}		}/***************************************************************************** *                       Encode and decode this frame ****************************************************************************/		enctime = msecond();		m4v_size =			enc_main(!result ? in_buffer : 0, mp4_buffer, &key, &stats_type,					 &stats_quant, &stats_length, sse);		enctime = msecond() - enctime;		/* Write the Frame statistics */		printf("%5d: key=%i, time= %6.0f, len= %7d", !result ? input_num : -1,			   key, (float) enctime, (int) m4v_size);		if (stats_type > 0) {	/* !XVID_TYPE_NOTHING */			switch (stats_type) {			case XVID_TYPE_IVOP:				type = "I";				break;			case XVID_TYPE_PVOP:				type = "P";				break;			case XVID_TYPE_BVOP:				type = "B";				break;			case XVID_TYPE_SVOP:				type = "S";				break;			default:				type = "U";				break;			}			printf(" | type=%s, quant= %2d, len= %7d", type, stats_quant,				   stats_length);#define SSE2PSNR(sse, width, height) ((!(sse))?0.0f : 48.131f - 10*(float)log10((float)(sse)/((float)((width)*(height)))))			if (ARG_STATS) {				printf(", psnr y = %2.2f, psnr u = %2.2f, psnr v = %2.2f",					   SSE2PSNR(sse[0], XDIM, YDIM), SSE2PSNR(sse[1], XDIM / 2,															  YDIM / 2),					   SSE2PSNR(sse[2], XDIM / 2, YDIM / 2));				totalPSNR[0] += SSE2PSNR(sse[0], XDIM, YDIM);				totalPSNR[1] += SSE2PSNR(sse[1], XDIM/2, YDIM/2);				totalPSNR[2] += SSE2PSNR(sse[2], XDIM/2, YDIM/2);			}		}#undef SSE2PSNR		printf("\n");		if (m4v_size < 0) {			break;		}		/* Update encoding time stats */		totalenctime += enctime;		totalsize += m4v_size;/***************************************************************************** *                       Save stream to file ****************************************************************************/		if (m4v_size > 0 && ARG_SAVEMPEGSTREAM) {			/* Save single files */			if (ARG_SAVEINDIVIDUAL) {				FILE *out;				sprintf(filename, "%sframe%05d.m4v", filepath, output_num);				out = fopen(filename, "w+b");				fwrite(mp4_buffer, m4v_size, 1, out);				fclose(out);				output_num++;			}			/* Save ES stream */			if (ARG_OUTPUTFILE && out_file)				fwrite(mp4_buffer, 1, m4v_size, out_file);		}		input_num++;		/* Read the header if it's pgm stream */		if (!result && ARG_INPUTTYPE)#ifndef READ_PNM 			result = read_pgmheader(in_file);#else 			result = read_pnmheader(in_file);#endif	} while (1);/***************************************************************************** *         Calculate totals and averages for output, print results ****************************************************************************/	printf("Tot: enctime(ms) =%7.2f,               length(bytes) = %7d\n",		   totalenctime, (int) totalsize);	if (input_num > 0) {		totalsize /= input_num;		totalenctime /= input_num;		totalPSNR[0] /= input_num;		totalPSNR[1] /= input_num;		totalPSNR[2] /= input_num;	} else {		totalsize = -1;		totalenctime = -1;	}	printf("Avg: enctime(ms) =%7.2f, fps =%7.2f, length(bytes) = %7d",		   totalenctime, 1000 / totalenctime, (int) totalsize);   if (ARG_STATS) {       printf(", psnr y = %2.2f, psnr u = %2.2f, psnr v = %2.2f",    		  totalPSNR[0],totalPSNR[1],totalPSNR[2]);	}	printf("\n");/***************************************************************************** *                            XviD PART  Stop ****************************************************************************/  release_all:	if (enc_handle) {		result = enc_stop();		if (result)			fprintf(stderr, "Encore RELEASE problem return value %d\n",					result);	}	if (in_file)		fclose(in_file);	if (out_file)		fclose(out_file);  free_all_memory:	free(out_buffer);	free(mp4_buffer);	free(in_buffer);	return (0);}/***************************************************************************** *                        "statistical" functions * *  these are not needed for encoding or decoding, but for measuring *  time and quality, there in nothing specific to XviD in these * *****************************************************************************//* Return time elapsed time in miliseconds since the program started */static doublemsecond(){#ifndef WIN32	struct timeval tv;	gettimeofday(&tv, 0);	return (tv.tv_sec * 1.0e3 + tv.tv_usec * 1.0e-3);#else	clock_t clk;	clk = clock();	return (clk * 1000 / CLOCKS_PER_SEC);#endif}/***************************************************************************** *                             Usage message *****************************************************************************/static voidusage(){	fprintf(stderr, "Usage : xvid_stat [OPTIONS]\n\n");	fprintf(stderr, "Input options:\n");	fprintf(stderr, " -i      string : input filename (default=stdin)\n");	fprintf(stderr, " -type   integer: input data type (yuv=0, pgm=1)\n");	fprintf(stderr, " -w      integer: frame width ([1.2048])\n");	fprintf(stderr, " -h      integer: frame height ([1.2048])\n");	fprintf(stderr, " -frames integer: number of frames to encode\n");	fprintf(stderr, "\n");	fprintf(stderr, "Output options:\n");	fprintf(stderr, " -dump    : save decoder output\n");	fprintf(stderr, " -save    : save an Elementary Stream file per frame\n");	fprintf(stderr, " -o string: save an Elementary Stream for the complete sequence\n");	fprintf(stderr, "\n");	fprintf(stderr, "BFrames options:\n");	fprintf(stderr, " -max_bframes   integer: max bframes (default=0)\n");	fprintf(stderr,	" -bquant_ratio  integer: bframe quantizer ratio (default=150)\n");	fprintf(stderr,	" -bquant_offset integer: bframe quantizer offset (default=100)\n");	fprintf(stderr, "\n");	fprintf(stderr, "Rate control options:\n");	fprintf(stderr, " -framerate float               : target framerate (>0 | default=25.0)\n");	fprintf(stderr,	" -bitrate   integer             : target bitrate\n");    fprintf(stderr,	" -single                        : single pass mode\n");	fprintf(stderr, " -pass1     filename            : twopass mode (first pass)\n");	fprintf(stderr,	" -pass2     filename            : twopass mode (2nd pass)\n");	fprintf(stderr,	" -zq starting_frame float       : bitrate zone; quant\n");	fprintf(stderr,	" -zw starting_frame float       : bitrate zone; weight\n");    fprintf(stderr, " -max_key_interval integer      : maximum keyframe interval\n");    fprintf(stderr, "\n");	fprintf(stderr, "Other options\n");	fprintf(stderr, " -asm            : use assembly optmized code\n");	fprintf(stderr, " -quality integer: quality ([0..%d])\n", ME_ELEMENTS - 1);	fprintf(stderr, " -qpel           : use quarter pixel ME\n");	fprintf(stderr, " -gmc            : use global motion compensation\n");	fprintf(stderr, " -packed         : packed mode\n");	fprintf(stderr, " -closed_gop     : closed GOP mode\n");	fprintf(stderr, " -lumimasking    : use lumimasking algorithm\n");	fprintf(stderr, " -stats          : print stats about encoded frames\n");	fprintf(stderr, " -debug          : activates xvidcore internal debugging output\n");	fprintf(stderr, " -vop_debug      : print some info directly into encoded frames\n");	fprintf(stderr, " -help           : prints this help message\n");	fprintf(stderr, "\n");	fprintf(stderr, "NB: You can define %d zones repeating the -z[qw] option as many times as needed.\n", MAX_ZONES);	fprintf(stderr, "\n");}/***************************************************************************** *                       Input and output functions * *      the are small and simple routines to read and write PGM and YUV *      image. It's just for convenience, again nothing specific to XviD * *****************************************************************************/#ifndef READ_PNMstatic intread_pgmheader(FILE * handle){	int bytes, xsize, ysize, depth;	char dummy[2];	bytes = fread(dummy, 1, 2, handle);	if ((bytes < 2) || (dummy[0] != 'P') || (dummy[1] != '5'))		return (1);	fscanf(handle, "%d %d %d", &xsize, &ysize, &depth);	if ((xsize > 4096) || (ysize > 4096*3/2) || (depth != 255)) {		fprintf(stderr, "%d %d %d\n", xsize, ysize, depth);		return (2);	}	if ((XDIM == 0) || (YDIM == 0)) {		XDIM = xsize;		YDIM = ysize * 2 / 3;	}	return (0);}static intread_pgmdata(FILE * handle,			 unsigned char *image){	int i;	char dummy;	unsigned char *y = image;	unsigned char *u = image + XDIM * YDIM;	unsigned char *v = image + XDIM * YDIM + XDIM / 2 * YDIM / 2;	/* read Y component of picture */	fread(y, 1, XDIM * YDIM, handle);	for (i = 0; i < YDIM / 2; i++) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放中文一区| 久久不见久久见免费视频1| 久久亚洲春色中文字幕久久久| 在线播放中文一区| 欧美日韩国产美女| 欧美疯狂性受xxxxx喷水图片| 欧美理论在线播放| 欧美福利一区二区| 欧美电视剧在线观看完整版| 精品国产区一区| 国产精品视频一区二区三区不卡| 中文av一区二区| 伊人开心综合网| 亚洲一级二级三级在线免费观看| 亚洲精品日韩一| 午夜精品久久久久久不卡8050| 亚洲成人动漫在线观看| 视频一区二区欧美| 国产一区二区久久| 色综合一区二区| 91精品国产综合久久婷婷香蕉 | 中文字幕亚洲一区二区av在线| 国产日韩精品一区二区三区在线| 中文字幕一区免费在线观看| 一区二区三区日韩精品| 青草国产精品久久久久久| 国产成人午夜99999| 日本韩国一区二区| 日韩视频永久免费| 国产精品麻豆视频| 午夜不卡av在线| 国产麻豆欧美日韩一区| 一本色道**综合亚洲精品蜜桃冫 | 在线播放日韩导航| 国产日韩欧美一区二区三区综合| 亚洲男同性恋视频| 国产一区二区精品久久| 色噜噜夜夜夜综合网| 精品欧美一区二区三区精品久久| 中文字幕亚洲在| 狠狠久久亚洲欧美| 在线观看日韩国产| 国产精品视频在线看| 日韩国产欧美在线观看| 99久久精品国产导航| 欧美mv日韩mv亚洲| 亚洲男人天堂av| 国产福利一区二区三区视频在线| 欧美日韩卡一卡二| 亚洲欧美区自拍先锋| 国产黄色精品网站| 欧美mv和日韩mv国产网站| 怡红院av一区二区三区| 成人av电影在线观看| 欧美精品一区二区三区蜜臀| 五月激情综合婷婷| 91国偷自产一区二区使用方法| 久久亚洲私人国产精品va媚药| 亚洲成人综合视频| 色综合中文字幕国产 | 日韩精品在线一区| 久久国产尿小便嘘嘘| 91精彩视频在线观看| 国产精品久久久久四虎| 国产91精品一区二区麻豆网站| 日韩精品一区国产麻豆| 日日摸夜夜添夜夜添精品视频 | 日韩欧美高清在线| 亚洲午夜久久久久中文字幕久| gogogo免费视频观看亚洲一| 久久精品水蜜桃av综合天堂| 激情文学综合网| 精品国产伦一区二区三区观看方式| 日韩在线卡一卡二| 欧美一区二区成人6969| 日日摸夜夜添夜夜添国产精品| 欧美色视频在线观看| 亚洲午夜在线电影| 欧美日韩在线播放三区四区| 亚洲成人自拍网| 欧美高清dvd| 国产一区二区美女诱惑| 国产精品污www在线观看| 国产91露脸合集magnet| 综合久久久久综合| 在线观看视频一区二区| 日韩精品欧美精品| 精品久久国产字幕高潮| 国产精品一区一区三区| 国产精品欧美综合在线| 色妞www精品视频| 日本欧美肥老太交大片| 欧美tickle裸体挠脚心vk| 国产成人鲁色资源国产91色综| 中文字幕五月欧美| 欧美日韩国产综合久久| 美女www一区二区| 国产精品色婷婷| 7777精品伊人久久久大香线蕉超级流畅| 午夜精品一区二区三区电影天堂| 欧美国产精品v| 欧美视频中文字幕| 精品亚洲欧美一区| 亚洲免费伊人电影| 日韩欧美亚洲国产另类| 波多野结衣亚洲一区| 三级不卡在线观看| 中文字幕在线观看一区二区| 欧美无人高清视频在线观看| 国产精品一区二区你懂的| 中文字幕日韩精品一区 | 欧美mv和日韩mv的网站| 99re免费视频精品全部| 麻豆久久一区二区| 亚洲色图在线播放| 久久先锋资源网| 欧美色爱综合网| 成人少妇影院yyyy| 日本不卡免费在线视频| 中文字幕日韩av资源站| 欧美精品一区二区精品网| 色婷婷激情一区二区三区| 国产激情视频一区二区三区欧美 | 日韩欧美色综合| 色婷婷av一区| 岛国精品一区二区| 麻豆精品久久精品色综合| 亚洲一区免费观看| 国产精品午夜久久| 久久网站热最新地址| 欧美一卡二卡在线| 欧美日韩国产三级| 色拍拍在线精品视频8848| 顶级嫩模精品视频在线看| 狠狠色狠狠色综合日日91app| 亚洲成人在线免费| 亚洲日本在线看| 国产精品久久久久一区| 久久久99精品久久| 精品免费99久久| 在线成人免费观看| 欧美日韩二区三区| 欧美三级日韩三级| 欧美在线999| 欧美性受极品xxxx喷水| 色视频成人在线观看免| 91亚洲永久精品| 91精品福利视频| 欧洲亚洲国产日韩| 欧美伊人久久久久久久久影院| 色综合天天综合狠狠| youjizz久久| 91丨porny丨国产| 色哟哟日韩精品| 欧美亚洲国产怡红院影院| 欧洲中文字幕精品| 欧美日韩一区三区四区| 欧美久久久久免费| 91精品久久久久久久99蜜桃| 日韩无一区二区| 久久久三级国产网站| 国产婷婷一区二区| 国产精品二三区| 亚洲一区二区三区四区五区中文| 亚洲制服丝袜在线| 日韩av网站在线观看| 久久精品国产秦先生| 国产成人精品三级| 99久久er热在这里只有精品15| 在线观看av一区二区| 精品日韩欧美一区二区| 国产日韩欧美精品在线| 亚洲欧洲av另类| 天堂影院一区二区| 国产精品一区二区在线看| 成人av动漫网站| 91精品久久久久久久99蜜桃 | 91精品国产乱码| 国产欧美综合在线观看第十页| 最近日韩中文字幕| 日本不卡一区二区三区| 国产精一品亚洲二区在线视频| 色哟哟在线观看一区二区三区| 91麻豆精品国产91久久久更新时间 | 日本韩国欧美在线| 欧美r级在线观看| 亚洲美女屁股眼交3| 久久av中文字幕片| 91天堂素人约啪| 精品少妇一区二区三区在线播放 | 日韩码欧中文字| 日韩电影免费一区| 91亚洲精品久久久蜜桃网站 | 国产电影一区在线| 欧美日韩激情在线| 国产精品电影院| 狠狠色综合播放一区二区| 欧洲色大大久久| 国产精品久久久久久久久免费丝袜 | 国产夜色精品一区二区av|