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

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

?? xvid_decraw.c

?? 這是一個新的知識的運用我還看不懂
?? C
?? 第 1 頁 / 共 2 頁
字號:
/***************************************************************************** * *  XVID MPEG-4 VIDEO CODEC *  - Console based decoding test application  - * *  Copyright(C) 2002-2003 Christoph Lampert *               2002-2003 Edouard Gomez <ed.gomez@free.fr> * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA * * $Id$ * ****************************************************************************//***************************************************************************** *		                     *  Application notes : *		                     *  An MPEG-4 bitstream is read from an input file (or stdin) and decoded, *  the speed for this is measured. * *  The program is plain C and needs no libraries except for libxvidcore,  *  and maths-lib. *		                    *  Use ./xvid_decraw -help for a list of options *  ****************************************************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#ifndef WIN32#include <sys/time.h>#else#include <time.h>#endif#include "xvid.h"/***************************************************************************** *               Global vars in module and constants ****************************************************************************//* max number of frames */#define ABS_MAXFRAMENR 9999#define USE_PNM 0#define USE_TGA 1static int XDIM = 0;static int YDIM = 0;static int ARG_SAVEDECOUTPUT = 0;static int ARG_SAVEMPEGSTREAM = 0;static char *ARG_INPUTFILE = NULL;static int CSP = XVID_CSP_I420;static int BPP = 1;static int FORMAT = USE_PNM;static char filepath[256] = "./";static void *dec_handle = NULL;#define BUFFER_SIZE (2*1024*1024)/***************************************************************************** *               Local prototypes ****************************************************************************/static double msecond();static int dec_init(int use_assembler);static int dec_main(unsigned char *istream,					unsigned char *ostream,					int istream_size,					xvid_dec_stats_t *xvid_dec_stats);static int dec_stop();static void usage();static int write_image(char *prefix, unsigned char *image);static int write_pnm(char *filename, unsigned char *image);static int write_tga(char *filename, unsigned char *image);const char * type2str(int type){    if (type==XVID_TYPE_IVOP)        return "I";    if (type==XVID_TYPE_PVOP)        return "P";    if (type==XVID_TYPE_BVOP)        return "B";    return "S";}/***************************************************************************** *        Main program ****************************************************************************/int main(int argc, char *argv[]){	unsigned char *mp4_buffer = NULL;	unsigned char *mp4_ptr    = NULL;	unsigned char *out_buffer = NULL;	int useful_bytes;	xvid_dec_stats_t xvid_dec_stats;		double totaldectime;  	long totalsize;	int status;  	int use_assembler = 0;  	char filename[256];  	FILE *in_file;	int filenr;	int i;	printf("xvid_decraw - raw mpeg4 bitstream decoder ");	printf("written by Christoph Lampert 2002-2003\n\n");/***************************************************************************** * Command line parsing ****************************************************************************/	for (i=1; i< argc; i++) { 		if (strcmp("-asm", argv[i]) == 0 ) {			use_assembler = 1;		} else if (strcmp("-d", argv[i]) == 0) {			ARG_SAVEDECOUTPUT = 1;		} else if (strcmp("-i", argv[i]) == 0 && i < argc - 1 ) {			i++;			ARG_INPUTFILE = argv[i];		} else if (strcmp("-m", argv[i]) == 0) {			ARG_SAVEMPEGSTREAM = 1;		} else if (strcmp("-c", argv[i]) == 0  && i < argc - 1 ) {			i++;			if (strcmp(argv[i], "rgb16") == 0) {				CSP = XVID_CSP_RGB555;				BPP = 2;			} else if (strcmp(argv[i], "rgb24") == 0) {				CSP = XVID_CSP_BGR;				BPP = 3;			} else if (strcmp(argv[i], "rgb32") == 0) {				CSP = XVID_CSP_BGRA;				BPP = 4;			} else if (strcmp(argv[i], "yv12") == 0) {				CSP = XVID_CSP_YV12;				BPP = 1;			} else {				CSP = XVID_CSP_I420;				BPP = 1;			}		} else if (strcmp("-f", argv[i]) == 0 && i < argc -1) {			i++;			if (strcmp(argv[i], "tga") == 0) {				FORMAT = USE_TGA;			} else {				FORMAT = USE_PNM;			}		} else if (strcmp("-help", argv[i]) == 0) {			usage();			return(0);		} else {			usage();			exit(-1);		}	}  #if defined(_MSC_VER)	if (ARG_INPUTFILE==NULL) {		fprintf(stderr, "Warning: MSVC build does not read EOF correctly from stdin. Use the -i switch.\n\n");	}#endif/***************************************************************************** * Values checking ****************************************************************************/	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);		}	}	/* PNM/PGM format can't handle 16/32 bit data */	if (BPP != 1 && BPP != 3 && FORMAT == USE_PNM) {		FORMAT = USE_TGA;	}/***************************************************************************** *        Memory allocation ****************************************************************************/	/* Memory for encoded mp4 stream */	mp4_buffer = (unsigned char *) malloc(BUFFER_SIZE);	mp4_ptr = mp4_buffer;	if (!mp4_buffer)		goto free_all_memory;	    /***************************************************************************** *        XviD PART  Start ****************************************************************************/	status = dec_init(use_assembler);	if (status) {		fprintf(stderr,				"Decore INIT problem, return value %d\n", status);		goto release_all;	}/***************************************************************************** *	                         Main loop ****************************************************************************/	/* Fill the buffer */	useful_bytes = fread(mp4_buffer, 1, BUFFER_SIZE, in_file);	totaldectime = 0;	totalsize = 0;	filenr = 0;	mp4_ptr = mp4_buffer;	do {		int used_bytes = 0;		double dectime;		/*		 * If the buffer is half empty or there are no more bytes in it		 * then fill it.		 */		if (mp4_ptr > mp4_buffer + BUFFER_SIZE/2) {			int already_in_buffer = (mp4_buffer + BUFFER_SIZE - mp4_ptr);			/* Move data if needed */			if (already_in_buffer > 0)				memcpy(mp4_buffer, mp4_ptr, already_in_buffer);			/* Update mp4_ptr */			mp4_ptr = mp4_buffer; 			/* read new data */            if(feof(in_file))				break;			useful_bytes += fread(mp4_buffer + already_in_buffer,								  1, BUFFER_SIZE - already_in_buffer,								  in_file);		}		/* This loop is needed to handle VOL/NVOP reading */		do {			/* Decode frame */			dectime = msecond();			used_bytes = dec_main(mp4_ptr, out_buffer, useful_bytes, &xvid_dec_stats);			dectime = msecond() - dectime;			/* Resize image buffer if needed */			if(xvid_dec_stats.type == XVID_TYPE_VOL) {				/* Check if old buffer is smaller */				if(XDIM*YDIM < xvid_dec_stats.data.vol.width*xvid_dec_stats.data.vol.height) {					/* Copy new witdh and new height from the vol structure */					XDIM = xvid_dec_stats.data.vol.width;					YDIM = xvid_dec_stats.data.vol.height;					/* Free old output buffer*/					if(out_buffer) free(out_buffer);					/* Allocate the new buffer */					out_buffer = (unsigned char*)malloc(XDIM*YDIM*4);					if(out_buffer == NULL)						goto free_all_memory;					fprintf(stderr, "Resized frame buffer to %dx%d\n", XDIM, YDIM);				}			}			/* Update buffer pointers */			if(used_bytes > 0) {				mp4_ptr += used_bytes;				useful_bytes -= used_bytes;				/* Total size */				totalsize += used_bytes;			}		}while(xvid_dec_stats.type <= 0 && useful_bytes > 0);		/* Check if there is a negative number of useful bytes left in buffer		 * This means we went too far */        if(useful_bytes < 0)            break;		    	/* Updated data - Count only usefull decode time */		totaldectime += dectime;			        printf("Frame %5d: type = %s, dectime(ms) =%6.1f, length(bytes) =%7d\n",			   filenr, type2str(xvid_dec_stats.type), dectime, used_bytes);					/* Save individual mpeg4 stream if required */		if(ARG_SAVEMPEGSTREAM) {			FILE *filehandle = NULL;			sprintf(filename, "%sframe%05d.m4v", filepath, filenr);			filehandle = fopen(filename, "wb");			if(!filehandle) {				fprintf(stderr,						"Error writing single mpeg4 stream to file %s\n",						filename);			}			else {				fwrite(mp4_ptr-used_bytes, 1, used_bytes, filehandle);				fclose(filehandle);			}		}						/* Save output frame if required */		if (ARG_SAVEDECOUTPUT) {			sprintf(filename, "%sdec%05d", filepath, filenr);			if(write_image(filename, out_buffer)) {				fprintf(stderr,						"Error writing decoded frame %s\n",						filename);			}		}		filenr++;	} while ( (status>=0) && (filenr<ABS_MAXFRAMENR));/***************************************************************************** *     Flush decoder buffers ****************************************************************************/	do {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女厕所小便bbb| 视频一区欧美精品| 一本色道综合亚洲| 成人高清在线视频| 国产成人av福利| 亚洲乱码国产乱码精品精的特点 | 丰满少妇在线播放bd日韩电影| 色综合久久久久网| 久久综合av免费| 久久久www免费人成精品| 久久亚洲精品小早川怜子| 亚洲一区二区在线视频| 亚洲国产日韩a在线播放| 亚洲国产日韩综合久久精品| 粉嫩av一区二区三区在线播放| 欧美一区二区福利在线| 国产欧美精品一区二区色综合 | 久久久综合精品| 国产乱码精品1区2区3区| 国产精品一级二级三级| 欧美日韩国产成人在线91| 日韩欧美国产精品一区| 久久精品一区二区三区四区| 国产精品福利电影一区二区三区四区| 亚洲天堂精品视频| 日本不卡视频一二三区| 国产一区二区不卡老阿姨| 成人av在线一区二区三区| 久久美女艺术照精彩视频福利播放| 欧美aa在线视频| 欧美日韩国产一级| 亚洲gay无套男同| 成人av网站在线观看免费| 国产午夜一区二区三区| 国产99一区视频免费| 国产亚洲一二三区| av一区二区三区四区| 欧美二区在线观看| 日韩一区中文字幕| 美女在线视频一区| 色偷偷一区二区三区| 亚洲黄色av一区| 欧美亚洲国产一区二区三区| 久久网站热最新地址| 国产在线麻豆精品观看| 欧美日韩一二区| 亚洲天堂网中文字| 一本一道波多野结衣一区二区| 亚洲免费观看高清完整版在线观看| 色综合久久中文综合久久牛| 亚洲高清免费观看高清完整版在线观看 | 老司机精品视频线观看86| 成人福利电影精品一区二区在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲国产日韩综合久久精品| 欧美一区二区三区啪啪| 久久国产麻豆精品| 国产精品美女www爽爽爽| 久久电影网电视剧免费观看| 国产欧美视频一区二区三区| av高清不卡在线| 午夜精品久久久久久久久久久 | 亚洲视频一区在线观看| 欧美日韩aaa| 国产精品亚洲人在线观看| 亚洲卡通欧美制服中文| 欧美顶级少妇做爰| www.久久久久久久久| 五月天精品一区二区三区| 久久青草国产手机看片福利盒子| 色综合久久久网| 极品少妇xxxx精品少妇偷拍| 91精品国产福利| 国产电影精品久久禁18| 亚洲香肠在线观看| 欧美激情综合五月色丁香小说| 欧美怡红院视频| 国产91在线看| 日本视频中文字幕一区二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 99久久久久免费精品国产| 国产亚洲精品7777| 欧美三区在线观看| 成人av在线资源网| 极品少妇一区二区| 日日夜夜免费精品视频| 国产精品国产精品国产专区不蜜| 欧美二区乱c少妇| 91国产视频在线观看| 亚洲成人免费视| 最新国产の精品合集bt伙计| 2020国产成人综合网| 欧美久久久久久久久| 91视频国产观看| 秋霞午夜av一区二区三区| 中文字幕一区在线| 国产日韩精品一区| 久久久亚洲精华液精华液精华液 | 日本成人在线一区| 亚洲综合在线第一页| 国产精品国产三级国产普通话蜜臀| 欧美大肚乱孕交hd孕妇| 欧美精品1区2区| 欧美日韩午夜在线| 欧美伊人久久大香线蕉综合69| av午夜一区麻豆| 不卡影院免费观看| 丁香婷婷深情五月亚洲| 国产一区二区伦理| 激情另类小说区图片区视频区| 日本亚洲三级在线| 麻豆精品一区二区| 极品美女销魂一区二区三区免费| 日韩国产欧美三级| 蜜臀av性久久久久av蜜臀妖精| 丝袜诱惑制服诱惑色一区在线观看| 亚洲精品日韩一| 亚洲成人一区在线| 日本大胆欧美人术艺术动态| 日韩不卡一区二区三区 | 国产成人高清视频| 国产大陆精品国产| 成人黄色a**站在线观看| 成人激情视频网站| 91久久奴性调教| 欧美色图片你懂的| 日韩欧美国产三级| 国产日韩欧美精品一区| 国产日韩三级在线| 亚洲人成网站在线| 亚洲午夜在线视频| 久久电影网站中文字幕| 成人永久aaa| 久久99精品久久只有精品| 久久99这里只有精品| 国产精品一色哟哟哟| 99精品国产99久久久久久白柏| 日本精品裸体写真集在线观看| 欧美日韩精品一区二区在线播放| 欧美一级片在线| 欧美—级在线免费片| 亚洲资源中文字幕| 久久精品72免费观看| 成人免费视频网站在线观看| 日本乱人伦一区| 日韩午夜三级在线| 日韩欧美国产综合| 国产精品女主播在线观看| 一区二区在线观看视频| 日本中文在线一区| 成人午夜碰碰视频| 欧美人与性动xxxx| 欧美国产成人精品| 日韩制服丝袜先锋影音| 国产不卡免费视频| 4438成人网| 国产精品成人免费在线| 日产国产高清一区二区三区| 成人综合婷婷国产精品久久蜜臀| 欧美最猛性xxxxx直播| 欧美亚洲另类激情小说| 久久久久国产一区二区三区四区 | 国产精品久久午夜| 丝袜亚洲另类欧美| 不卡视频在线看| 欧美一级xxx| 亚洲自拍偷拍欧美| 国产aⅴ精品一区二区三区色成熟| 欧美理论电影在线| 1区2区3区欧美| 国产剧情一区二区| 69成人精品免费视频| 国产精品久久久久久久午夜片 | 99精品视频在线观看免费| 日韩一本二本av| 亚洲国产成人91porn| 99久久精品费精品国产一区二区| 欧美成人vps| 国产清纯在线一区二区www| 日韩精品色哟哟| 91色porny蝌蚪| 国产精品久久午夜夜伦鲁鲁| 激情都市一区二区| 日韩欧美国产精品一区| 五月天视频一区| 欧美日韩视频在线一区二区| 亚洲色图制服诱惑 | 丁香桃色午夜亚洲一区二区三区| 欧美一级免费大片| 午夜av一区二区| 欧美精品一二三区| 午夜成人免费电影| 911精品国产一区二区在线| 一区二区三区在线高清| 日本不卡1234视频| 日韩一区二区在线观看| 五月天一区二区三区| 欧美日本免费一区二区三区| 亚洲综合在线观看视频| 欧美在线小视频|