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

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

?? avi2mpg1.c

?? mp3解碼程序vc++環境下運行
?? C
?? 第 1 頁 / 共 2 頁
字號:
//
// avi2mpg1 - 
// 產生編碼器的命令行窗口,即是avi2mpg1的主函數
//


#include <stdio.h>
#include <math.h>
#include "avi2mpg1.h"
#define GLOBAL          
#include "global.h"
#include "video.h"

//函數聲明

void usage(void);
int ValidBitrate(unsigned int, unsigned int);
void StripExtension(char *, char *);
void StripPath(char *, char *);
int mplex(char *, char *, char *);
void videocd();

unsigned int pixsz;


int main(int argc, char **argv)
{
	int i=0,j=0, err=0;
	char avifilenames[MAX_AVI_FILES][_MAX_PATH], basefilename[_MAX_FNAME] = "", mpegfilename[_MAX_PATH] = "";
	char VideoTempFile[_MAX_FNAME] = "", AudioTempFile[_MAX_FNAME] = "", basepathname[_MAX_PATH];
	char testfilename[_MAX_PATH] = "", intfilename[_MAX_FNAME];
    AVIFILEINFO thisPfi;
	float fps;
	int sys_bit_specd = 0, sys_byte_specd = 0;
    PAVISTREAM pVideoStream;

	time_t current_time, el_time;

	bad_frame_count = 0;
	bad_audio_count = 0;
    numAviFiles = 0;

	vbv_size = 20;
	m_search_size = 0;
	crop_size = 0;
	forced_frame_rate = 0;

	cpu_MMX = 0;
	cpu_3DNow = 0;

	if(argc < 2)
	{
		usage();
	}

	TestCPU();

	system_byterate_parm = 150;
	audio_bitrate_parm = 128;
	audio_layer_parm = 2;
	joint_stereo_parm = 0;
	vcd_parm = 0;
	fake_bad_frames = 0;
	video_only = 0;
    use_image_noise_reduction = 0;
	fastQuantization = 0;
	fastMotionCompensationLevel = 0;

	if (cpu_MMX)
		doublePrecision = 0;
	else
	    doublePrecision = 1;



	while((++i < argc)&&(err == 0))
	{
		char c, *token, *arg, *nextArg, *nextArg2;
		int  argUsed;
 
		token = argv[i];
		if(*token++ == '-')
		{ 
			if(i+1 < argc)
				nextArg = argv[i+1];
			else
				nextArg = "";
			argUsed = 0;
			while(c = *token++)
			{
				if(*token /* NumericQ(token) */)
					arg = token;
				else
					arg = nextArg;
				switch(tolower(c))
				{
					case 'l':
						audio_layer_parm = atoi(arg);
						argUsed = 1;
						if((audio_layer_parm < 1)||(audio_layer_parm > 2))
						{
							fprintf(stderr,"\n-l layer must be 1 or 2, not %s\n", arg);
							err = 1;
						}
					break;

					case 'b':        
						argUsed = 1;
						system_byterate_parm = atoi(arg);
						sys_byte_specd = 1;
						if(sys_bit_specd)
						{
							fprintf(stderr, "\n can not specify both -b and -s!\n");
							err = 1;
						}
						if((system_byterate_parm < 10)||(system_byterate_parm > 5000))
						{
							fprintf(stderr, 
								"\n-b system byterate (K bytes/s) must be from 10 to 5000, not %s\n", arg);
							err = 1;
						}
					break;

					case 's':
						argUsed = 1;
						system_byterate_parm = atoi(arg)/8;
						sys_bit_specd = 1;
						if(sys_byte_specd)
						{
							fprintf(stderr, "\n can not specify both -b and -s!\n");
							err = 1;
						}
						if((system_byterate_parm < 10)||(atoi(arg) > 40000))
						{
							fprintf(stderr, "\n-s system bitrate (K bits/s) must be from 80 to 40000, not %s\n", arg);
							err = 1;
						}
					break;

					case 'a':
						argUsed = 1;
						audio_bitrate_parm = atoi(arg);
					break;

                    case 'r':
                        use_image_noise_reduction = 1;
                    break;

					case 'j':
						joint_stereo_parm = 1;
					break;

					case 'v':
						//vcd_parm = 1;
						videocd();
					break;

					case 'p':
						argUsed = 1;
						strcpy(video_param_filename, arg);
						use_v_param_file = 1;
					break;

					case 'e':
						fake_bad_frames = 1;
					break;

					case 'n':
						video_only = 1;
					break;

					case 'y':
						argUsed = 1;
						vbv_size = atoi(arg);
						if(vbv_size < 1)
						{
							fprintf(stderr, "\n vbv_buffer_size must be in range 1 <-> 1023.\n");
							err = 1;
						}
					break;

					case 'm':
						argUsed = 1;
						m_search_size = atoi(arg);
						if((m_search_size < 0 )||(m_search_size > 4))
						{
							fprintf(stderr, "\n -m search option must be from 0 to 4!\n");
							err = 1;
						}
					break;

					case 'c':
						if(i+2 < argc)
						{
							nextArg2 = argv[i+2];
							i++;
						}
						else
							nextArg2 = "";

						crop_size = 1;
						argUsed =1;
						crop_horz = atoi(arg);
						if((crop_horz < 16)||(crop_horz>4095))
						{
							fprintf(stderr, "\n -c horizontal size must be from 16 to 4095!\n");
							err = 1;
						}
						crop_vert = atoi(nextArg2);
						if((crop_vert < 16)||(crop_vert>4095))
						{
							fprintf(stderr, "\n -c vertical size must be from 16 to 4095!\n");
							err=1;
						}
					break;

					case 'f':
						argUsed = 1;
						forced_frame_rate = atoi(arg);
						if((forced_frame_rate < 1)||(forced_frame_rate > 5))
						{
							fprintf(stderr, "\n -f frame rate code must be from 1 to 5!\n");
							err=1;
						}
					break;

					case 'x': 
						cpu_MMX = 0;
						cpu_3DNow = 0;
						doublePrecision = 1;
					break;

					case 'd': 
						doublePrecision = 1;
					break;

					case 'q':
						fastQuantization = 1;
					break;

					case 't':
						argUsed = 1;
						fastMotionCompensationLevel = atoi(arg);
						if(fastMotionCompensationLevel < 0 || fastMotionCompensationLevel > 3)
						{
							fprintf(stderr, "\n -t level must be from 0 to 3!\n");
							err = 1;
						}
					break;

					case 'h':
						argUsed = 1;
						wr_seqh2gop = atoi(arg); 
					break;

					default:
						fprintf(stderr,"\nunrecognized option %c\n", c);
						err = 1;
					break;
				}
				if(argUsed)
				{
					if(arg == token)
						token = "";   
					else
						++i;          
					arg = ""; argUsed = 0;
				}
			}
		}
		else 
		{
			if((i != argc-1) || (numAviFiles==0))
            {
                if (numAviFiles < MAX_AVI_FILES)
				    strcpy(avifilenames[numAviFiles++], argv[i]);
                else
                    usage();
            }
			else
				strcpy(mpegfilename, argv[i]);
		}
	}

	if (cpu_MMX) 
		printf("MMX    capable CPU detected, using MMX extensions.\n");
	if (cpu_3DNow) 
		printf("3DNow! capable CPU detected, using 3DNow! extensions.\n");


	if(vcd_parm)
	{
		system_byterate_parm = 1158000/8/1024;
		audio_bitrate_parm = 224;
		audio_layer_parm = 2;
		joint_stereo_parm = 0;
	}

	if(!ValidBitrate(audio_layer_parm, audio_bitrate_parm))
	{
		fprintf(stderr, "\n-a bitrate %i not legal for layer %i", 
			audio_bitrate_parm, audio_layer_parm);
		err = 1;
	}
	if(vcd_parm&&video_only)
	{
		fprintf(stderr, "\n can not specify both -v and -n!\n");
		err = 1;
	}

	if(vcd_parm&&forced_frame_rate)
	{
		fprintf(stderr, "\n can not specify both -v and -f!\n");
		err = 1;
	}

	if(forced_frame_rate)
		video_only = 1;

	if(err)
	{
		fprintf(stderr, "\n type avi2mpg1 <enter> for usage.\n");
		exit(6);
	}

	if(numAviFiles == 0)
		usage();  

	AVIFileInit();


    for(j=0;j<numAviFiles;j++)
    {
        StripExtension(basepathname, avifilenames[j]);
 
	    if(strlen(avifilenames[j]) == strlen(basepathname))
		    strcat(avifilenames[j], ".avi"); 

	   

	    hResult = AVIFileOpen(&pfile, avifilenames[j], OF_READ, 0L);
	    if(hResult)
	    {
		    fprintf(stderr, "\ncould not open filename %s!\n", 
		    	avifilenames[j]);
		    exit(7);
	    }

	    hResult = AVIFileInfo(pfile, &thisPfi, sizeof(AVIFILEINFO));
	    if(hResult)
	    {
		    fprintf(stderr, "\n%s does not appear to be an AVI file!\n", 
		    	avifilenames[j]);
		    exit(8);
	    }

        if (j==0)
            masterPfi=thisPfi;

	    hResult = AVIFileGetStream(pfile, &pVideoStream, streamtypeVIDEO, 0);
	    if(hResult)
	    {
		    fprintf(stderr, "\ncould not retrieve video stream from %s!\n", 
			    avifilenames[j]);
		    exit(31);
	    }

	    pget[j] = AVIStreamGetFrameOpen(pVideoStream, NULL);

	    fps = (float)thisPfi.dwRate/(float)thisPfi.dwScale;
	    fprintf(stderr, "%s file details:\nWidth = %u, Height = %u, FPS = %4.2f", 
		    avifilenames[j], thisPfi.dwWidth, thisPfi.dwHeight, fps);

	    
	    lpbi = AVIStreamGetFrame(pget[j], 0);
	    if(!lpbi)
	    {
		    fprintf(stderr, "\ncould not retrieve video details for %s!",avifilenames[j]);
		    fprintf(stderr, "\nyou probably do not have a codec for this compression scheme!");
		    fprintf(stderr, "\nor avi file may be corrupt!\n");
	    	exit(9);
	    }
	    last_good_video_frame = 0;

	 

	    pixsz = lpbi->biBitCount;
	    if((pixsz!=8)&&(pixsz!=16)&&(pixsz!=24)&&(pixsz!=32))
	    {
		    fprintf(stderr, "\ncan only handle 8 bit palletized, 16, 24, or 32 bit RGB video!,");
		    fprintf(stderr, "\nthis file is %i bits!\n", pixsz);
		    exit(10);
	    }

	    fprintf(stderr, ", Bits per pixel = %u", pixsz);

	    if (j==0)
        {
            if(thisPfi.dwWidth>4095)
	        {
		        fprintf(stderr, "\nHorizontal width must < 4096!");
	    	    err = 1;
	        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线视频| 亚洲裸体在线观看| 欧美色大人视频| 色婷婷狠狠综合| 91网页版在线| 色综合久久久久| 欧美午夜电影网| 51精品视频一区二区三区| 色婷婷久久久久swag精品| 欧美午夜精品一区二区三区| 欧美日韩综合不卡| 欧美一区二区三区的| 精品久久久久一区| 国产精品日韩精品欧美在线| 日韩码欧中文字| 午夜精品福利一区二区蜜股av | 久久久精品国产免费观看同学| 日韩无一区二区| 国产精品每日更新| 亚洲午夜久久久久久久久久久| 亚洲国产aⅴ成人精品无吗| 免费观看一级欧美片| 成人黄色国产精品网站大全在线免费观看| av不卡一区二区三区| 精品视频在线免费| 国产亚洲欧美一区在线观看| 亚洲精品国产成人久久av盗摄| 日韩成人av影视| 成人白浆超碰人人人人| 欧美日韩一级视频| 国产偷国产偷亚洲高清人白洁| 18成人在线观看| 免费在线成人网| 91在线无精精品入口| 欧美不卡123| 一区二区三区在线视频免费观看| 欧美aaaaaa午夜精品| 99免费精品在线| 久久夜色精品国产欧美乱极品| 亚洲一区国产视频| 国产精品一区二区在线播放| 欧美日韩一区精品| 国产精品热久久久久夜色精品三区 | 欧美精品v国产精品v日韩精品| 久久只精品国产| 亚洲激情网站免费观看| 国产呦精品一区二区三区网站| 在线看日本不卡| 欧美经典一区二区| 久久精品国产精品青草| 欧美人妖巨大在线| 中文字幕日韩一区| 国产精品综合网| 精品国精品自拍自在线| 亚洲午夜在线电影| 粉嫩av亚洲一区二区图片| 日韩免费高清av| 亚洲地区一二三色| 91成人国产精品| 中文字幕亚洲电影| av电影在线观看完整版一区二区| 精品盗摄一区二区三区| 日韩和欧美一区二区| 色狠狠色狠狠综合| 亚洲美女淫视频| av中文字幕不卡| 国产精品毛片a∨一区二区三区| 国产精品影视网| 精品人在线二区三区| 日本不卡一区二区三区高清视频| 欧美体内she精高潮| 一级中文字幕一区二区| 欧美午夜一区二区| 亚洲精品日日夜夜| 欧美在线观看视频一区二区| 亚洲乱码国产乱码精品精小说 | 美女免费视频一区二区| 欧美一区2区视频在线观看| 亚洲成av人片一区二区三区| 欧美亚洲动漫另类| 午夜成人在线视频| 日韩午夜在线影院| 国产美女一区二区三区| 国产精品三级久久久久三级| 成人av电影观看| 亚洲一本大道在线| 91精品国产品国语在线不卡 | 亚洲精品一区二区精华| 国产一区三区三区| 国产精品久久久久久久久果冻传媒 | 视频一区二区三区入口| 91精品国产美女浴室洗澡无遮挡| 美女免费视频一区| 亚洲国产经典视频| 在线观看区一区二| 久久er精品视频| 国产精品毛片无遮挡高清| 91高清视频在线| 精品亚洲aⅴ乱码一区二区三区| 久久久一区二区三区捆绑**| 95精品视频在线| 天堂一区二区在线| 国产欧美日韩卡一| 欧美私模裸体表演在线观看| 美腿丝袜在线亚洲一区| 《视频一区视频二区| 4438x亚洲最大成人网| 国产麻豆视频精品| 亚洲综合在线第一页| 欧美成人高清电影在线| 一本色道a无线码一区v| 狠狠色综合日日| 亚洲免费在线观看视频| 久久综合色婷婷| 欧美亚洲禁片免费| 国产成人8x视频一区二区| 午夜久久久久久电影| 欧美高清在线一区| 日韩一级高清毛片| 色综合 综合色| 国产mv日韩mv欧美| 欧美aaa在线| 亚洲成av人片www| 国产精品久久久久久久午夜片| 7777精品久久久大香线蕉| 色婷婷久久久久swag精品 | 国产欧美一区二区精品性色| 在线不卡欧美精品一区二区三区| 国产激情精品久久久第一区二区| 亚洲妇熟xx妇色黄| 亚洲精品成人a在线观看| 中文字幕av免费专区久久| 日韩免费观看2025年上映的电影 | 免费人成精品欧美精品| 一区二区三区久久久| 亚洲女爱视频在线| 国产精品国产自产拍高清av| 精品卡一卡二卡三卡四在线| 91精品国模一区二区三区| 欧美午夜精品免费| 欧美日韩一区二区三区四区 | 国产成人精品综合在线观看 | 欧美日韩电影一区| 在线亚洲精品福利网址导航| 不卡的av网站| 成人激情黄色小说| 国产精华液一区二区三区| 狠狠色综合日日| 国产精品一线二线三线| 精品一区二区三区的国产在线播放 | 亚洲四区在线观看| 国产精品亲子乱子伦xxxx裸| 欧美韩日一区二区三区四区| 中文字幕第一区二区| 国产欧美精品一区二区色综合朱莉| 久久综合久色欧美综合狠狠| 欧美tickling网站挠脚心| 久久麻豆一区二区| 亚洲国产精品高清| 亚洲人成网站色在线观看| 亚洲精品免费在线| 亚洲电影你懂得| 日本欧美在线看| 国内偷窥港台综合视频在线播放| 国内成人精品2018免费看| 国产福利一区二区三区在线视频| 成人亚洲一区二区一| 色天使久久综合网天天| 欧美日韩精品欧美日韩精品一 | 国产在线一区二区| 福利电影一区二区三区| 色婷婷综合视频在线观看| 欧美日韩黄色一区二区| 日韩欧美激情在线| 国产精品色眯眯| 亚洲一区二区美女| 精品午夜一区二区三区在线观看 | 欧美日韩日本视频| 精品88久久久久88久久久| 国产欧美中文在线| 亚洲va欧美va人人爽午夜| 久久91精品国产91久久小草| eeuss鲁一区二区三区| 欧美在线免费播放| 精品国产百合女同互慰| ●精品国产综合乱码久久久久| 五月综合激情婷婷六月色窝| 国产精品亚洲成人| 欧美精品精品一区| 国产精品伦理在线| 日韩高清不卡在线| 成人av免费在线观看| 制服丝袜av成人在线看| 国产精品国产三级国产aⅴ入口 | 欧美精品国产精品| 中文字幕 久热精品 视频在线 | 国产午夜亚洲精品午夜鲁丝片| 亚洲一级不卡视频| 波多野结衣在线aⅴ中文字幕不卡| 欧美视频一区二|