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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? avi2m1v.c

?? mp3解碼程序vc++環(huán)境下運行
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* avi2m1v.c  - 
 * 該文件為即為mpeg2enc.c的雛形,在此基礎(chǔ)上產(chǎn)生了avi2mpg1程序                     * 他支持多輸入的avi文件。
*/


#include <windows.h>
#include <vfw.h>
#include <stdio.h>#include <stdlib.h>
#include "global.h"
#include "avi2mpg1.h"#include "video.h"


/* 聲明私有函數(shù) */static void init(void);static void setparm(void);static void initquantmat(void);int avi2m1v(outputfile)char *outputfile;{	/* 設(shè)定參數(shù) */	setparm();	/* 初始化量化矩陣 */	initquantmat();	/* 打開輸出文件 */	if (!(outfile=fopen(outputfile,"wb")))		fprintf(stderr, "\nCouldn't create video stream file %s", outputfile);
	init();	putseq();	fclose(outfile);
#ifdef DEBUG  
  fclose(statfile);
#endif  return 0;}
void error(text)
char *text;
{
  putc('\n',stderr);
  fprintf(stderr,text);
  putc('\n',stderr);
  exit(1);
}
static void init(){  int i, size;  static int block_count_tab[3] = {6,8,12};  initbits();  init_fdct();  init_idct();  /* 將圖像的大小四舍五入到與其最接近的16或32的倍數(shù)*/  mb_width = (horizontal_size+15)/16;  mb_height = prog_seq ? (vertical_size+15)/16 : 2*((vertical_size+31)/32);  mb_height2 = fieldpic ? mb_height>>1 : mb_height; /* for field pictures */  width = 16*mb_width;  height = 16*mb_height;
  chrom_width = (chroma_format==CHROMA444) ? width : width>>1;  chrom_height = (chroma_format!=CHROMA420) ? height : height>>1;  height2 = fieldpic ? height>>1 : height;  width2 = fieldpic ? width<<1 : width;  chrom_width2 = fieldpic ? chrom_width<<1 : chrom_width;    block_count = block_count_tab[chroma_format-1];  if (!(clp = (unsigned char *)malloc(1024)))    error("clip table malloc failed\n");  clp+= 384;  for (i=-384; i<640; i++)    clp[i] = (i<0) ? 0 : ((i>255) ? 255 : i);  for (i=0; i<3; i++)  {    size = (i==0) ? width*height : chrom_width*chrom_height;    if (!(newrefframe[i] = (unsigned char *)malloc(size)))      error("malloc failed\n");    if (!(oldrefframe[i] = (unsigned char *)malloc(size)))      error("malloc failed\n");    if (!(auxframe[i] = (unsigned char *)malloc(size)))      error("malloc failed\n");    if (!(neworgframe[i] = (unsigned char *)malloc(size)))      error("malloc failed\n");    if (!(oldorgframe[i] = (unsigned char *)malloc(size)))      error("malloc failed\n");    if (!(auxorgframe[i] = (unsigned char *)malloc(size)))      error("malloc failed\n");    if (!(predframe[i] = (unsigned char *)malloc(size)))      error("malloc failed\n");  }
  // 下面為圖像的讀取分配U和V緩存
  if (!(Ubuffer = (unsigned char *)malloc(width*height)))
	error("malloc failed\n");

  if (!(Vbuffer = (unsigned char *)malloc(width*height)))
	error("malloc failed\n");

  if (!(Ubuffer422 = (unsigned char *)malloc(width*height)))
	error("malloc failed\n");

  if (!(Vbuffer422 = (unsigned char *)malloc(width*height)))
	error("malloc failed\n");

  if (!(TempFilterBuffer = (unsigned char *)malloc(width*height)))
	error("malloc failed\n");

  mbinfo = (struct mbinfo *)malloc(mb_width*mb_height2*sizeof(struct mbinfo));  if (!mbinfo)    error("malloc failed\n");  blocks =    (short (*)[64])malloc(mb_width*mb_height2*block_count*sizeof(short [64]));  if (!blocks)    error("malloc failed\n");
#ifdef DEBUG  if (statname[0]=='-')    statfile = stdout;  else if (!(statfile = fopen(statname,"w")))  {    sprintf(errortext,"Couldn't create statistics output file %s",statname);    error(errortext);  }
#endif}static void setparm(){  int i;  int h,m,s,f;  static double ratetab[8]=    {24000.0/1001.0,24.0,25.0,30000.0/1001.0,30.0,50.0,60000.0/1001.0,60.0};  extern int r,Xi,Xb,Xp,d0i,d0p,d0b; /* rate control */  extern double avg_act; /* rate control */
  char line[256];
  char line1[256];
  char temp[256]="Encoded by AVI2MPG1 Version ";

  
  
  strcpy(tplref, "-");
  strcpy(statname, "nul:");
  i = (int)((float)masterPfi.dwRate/(float)masterPfi.dwScale*100.0);

  frame_rate_code = 0;
  frame_repl = 1;
  if(!forced_frame_rate)
  {
	if((i>950)&&(i<1010)) // 10 fps -> 30 fps
	{
		frame_rate_code = 5;
		frame_repl = 3;
	}
	if((i>1150)&&(i<1225)) // 12 fps -> 24 fps
	{
		frame_rate_code = 2;
		frame_repl = 2;
	}
	if((i>=12.25)&&(i<12.75)) // 12.5 fps -> 25 fps
	{
		frame_rate_code = 3;
		frame_repl = 2;
	}
	if((i>1450)&&(i<1550)) // 15 fps -> 30 fps
	{
		frame_rate_code = 5;
		frame_repl = 2;
	}
	if((i>2350)&&(i<2400))
		frame_rate_code = 1;
	if((i>=2400)&&(i<2450))
		frame_rate_code = 2;
	if((i>2450)&&(i<2550))
		frame_rate_code = 3;
	if((i>2950)&&(i<3000))
		frame_rate_code = 4;
	if((i>=3000)&&(i<3050))
		frame_rate_code = 5;
	if(frame_rate_code == 0)
	{
		fprintf(stderr, "\nsource frame rate must be 10, 12, 12.5, 15, 23.976, 24, 25, 29.97, or 30 FPS!");
		fprintf(stderr, "\nif you don not require audio, try using forced frame rate option (-f).\n");
	    exit(2);
	}
  }
  else
  {
	  frame_rate_code = forced_frame_rate;
  }

  if(vcd_parm)
  {
	crop_size = 1;
	crop_horz = 352;
	if((frame_rate_code<2)||(frame_rate_code>3))
		crop_vert = 240;
	else
		crop_vert = 288;
  }


  inputtype = 1;

  nframes = (totalFrames * frame_repl) - 1;

  frame0 = 0;

  fieldpic = 0; // frame pictures only for mpeg1

  if(!crop_size)
  {
	  
	  horizontal_size = ((masterPfi.dwWidth + 15)>>4)<<4; // make it multiple of 16
	  vertical_size = ((masterPfi.dwHeight + 1)>>1)<<1;
  }
  else
  {
	  horizontal_size = ((crop_horz + 1)>>1)<<1; // make it even
	  vertical_size = ((crop_vert + 1)>>1)<<1;
  }

  if(vcd_parm)
      bit_rate = 1040000;  
	  //bit_rate = 1152000;
  else if(video_only)
	  bit_rate = system_byterate_parm*8*1024;
  else
  {
      bit_rate = (float)(system_byterate_parm*8*1024) - (float)(audio_bitrate_parm*1024) - (float)(4*8*1024);
	  bit_rate = bit_rate * 0.9; 
	  if(bit_rate <= 81920)
	  {
		  fprintf(stderr, "\n specified parameters would result in video bitrate of less than 81920!");
		  fprintf(stderr, "\n Try adjusting audio bit-rate (-a), or use video only stream (-n)\n");
		  exit(3);
	  }
  }

  fprintf(stderr, " using bitrate of %u", (unsigned int)bit_rate);
  fprintf(stderr, ":\n");

  if((masterPfi.dwWidth != (unsigned)horizontal_size)||
     (masterPfi.dwHeight != (unsigned)vertical_size))
  {
	  fprintf(stderr, "*** WARNING: cropping video to %i x %i\n", horizontal_size, vertical_size);
  }

  if(frame_repl!=1)
  {
	  if(frame_rate_code == 3)
		fprintf(stderr, "Source FPS of 12.5 will be upsampled to 25 FPS,");
	  else
		fprintf(stderr, "Source FPS of %u will be upsampled to %u FPS,", (i+50)/100, (i+50)/100*frame_repl);
	  fprintf(stderr, " New total frames = %u\n", nframes);
  }

  if(forced_frame_rate)
  {
	  fprintf(stderr, "\n Forcing frame rate of ");
	  switch (forced_frame_rate)
	  {
		case 1:
		  fprintf(stderr, "23.976");
		break;
		case 2:
		  fprintf(stderr, "24");
		break;
		case 3:
		  fprintf(stderr, "25");
		break;
		case 4:
		  fprintf(stderr, "29.97");
		break;
		case 5:
		  fprintf(stderr, "30");
		break;
	  }
	  fprintf(stderr, " FPS, video only stream.\n");
  }

  // bit_rate = 1856000;  
  low_delay = 0;     
  prog_seq = 1;
  chroma_format = 1; // 4:2:0
  display_horizontal_size = masterPfi.dwWidth;
  display_vertical_size = masterPfi.dwHeight;
  conceal_tab[0] = 0;
  conceal_tab[1] = 0;
  conceal_tab[2] = 0;
  topfirst = 0;
  prog_frame = 1;

  strcpy(id_string, "encoded by avi2mpg1 ver ");
  strcat(id_string, VERSION);

// 讀取參數(shù)文件

      GetPrivateProfileString("matrix","iqname","-",iqname,254,video_param_filename);
      GetPrivateProfileString("matrix","niqname","-",niqname,254,video_param_filename);
      GetPrivateProfileString("timecode","tc_of1stframe","00:00:00:00",line,254,video_param_filename); sscanf(line,"%d:%d:%d:%d",&h,&m,&s,&f);
      N=GetPrivateProfileInt("frameinfo","nrframesinGOP",15,video_param_filename);
      M=GetPrivateProfileInt("frameinfo","ipframedist",3,video_param_filename);
      aspectratio=GetPrivateProfileInt("image","aspectratio",8,video_param_filename);
      profile=GetPrivateProfileInt("image","prof_id",4,video_param_filename);
      video_format=GetPrivateProfileInt("image","vid_format",1,video_param_filename);
      level=GetPrivateProfileInt("image","lev_id",10,video_param_filename);
      vbv_buffer_size=GetPrivateProfileInt("buffer","vbv_buf",20,video_param_filename);
      wr_seqh2gop=GetPrivateProfileInt("flags","wr_seqh2gop",wr_seqh2gop,video_param_filename);
      constrparms=GetPrivateProfileInt("flags","constrparm",1,video_param_filename);
      color_primaries=GetPrivateProfileInt("color","col_primaries",5,video_param_filename);
      transfer_characteristics=GetPrivateProfileInt("color","trans_ch",5,video_param_filename);
      matrix_coefficients=GetPrivateProfileInt("color","matrix_coeff",5,video_param_filename);
      dc_prec=GetPrivateProfileInt("color","intradc_prec",0,video_param_filename);
      GetPrivateProfileString("frame","frame_pred_dct","1 1 1",line,254,video_param_filename); sscanf(line,"%d %d %d",
        frame_pred_dct_tab,frame_pred_dct_tab+1,frame_pred_dct_tab+2);
      GetPrivateProfileString("frame","q_scale_type","0 0 0",line,254,video_param_filename); sscanf(line,"%d %d %d",
        qscale_tab,qscale_tab+1,qscale_tab+2);
      GetPrivateProfileString("frame","intra_vlc_format","0 0 0",line,254,video_param_filename); sscanf(line,"%d %d %d",
        intravlc_tab,intravlc_tab+1,intravlc_tab+2);
      GetPrivateProfileString("frame","alternate_scan","0 0 0",line,254,video_param_filename); sscanf(line,"%d %d %d",
        altscan_tab,altscan_tab+1,altscan_tab+2);
      repeatfirst=GetPrivateProfileInt("flags","repeat_first_field",0,video_param_filename);
      P=GetPrivateProfileInt("slice","p_dist",0,video_param_filename);
      r=GetPrivateProfileInt("motion","rate_control",0,video_param_filename);
      GetPrivateProfileString("motion","avg_act","0",line,254,video_param_filename); sscanf(line,"%lf",&avg_act);
      Xi=GetPrivateProfileInt("motion","xi",0,video_param_filename);
      Xp=GetPrivateProfileInt("motion","xp",0,video_param_filename);
      Xb=GetPrivateProfileInt("motion","xb",0,video_param_filename);
      d0i=GetPrivateProfileInt("motion","d0i",0,video_param_filename);
      d0p=GetPrivateProfileInt("motion","d0p",0,video_param_filename);
      d0b=GetPrivateProfileInt("motion","d0b",0,video_param_filename);

      if (wr_seqh2gop<0)
          error("wr_seqh2gop must be 0 or positive");
      if (N<1)
          error("N must be positive");
      if (M<1)
          error("M must be positive");
      if (N%M != 0)
          error("N must be an integer multiple of M");

      motion_data = (struct motion_data *)malloc(M*sizeof(struct motion_data));
      if (!motion_data)
          error("malloc failed\n");

      i=0;
      GetPrivateProfileString("motion_data","p0","2 2 11 11",line,254,video_param_filename);
      sscanf(line,"%d %d %d %d", &motion_data[i].forw_hor_f_code, &motion_data[i].forw_vert_f_code,
        &motion_data[i].sxf, &motion_data[i].syf);

      for (i=1; i<M; i++)
	    {
        sprintf(line,"bf%u",i);
        GetPrivateProfileString("motion_data",line,"1 1 3 3",line1,254,video_param_filename);
        sscanf(line1,"%d %d %d %d", &motion_data[i].forw_hor_f_code, &motion_data[i].forw_vert_f_code,
          &motion_data[i].sxf, &motion_data[i].syf);

        sprintf(line,"bb%u",i);
        GetPrivateProfileString("motion_data",line,"1 1 3 3",line1,254,video_param_filename);
        sscanf(line1,"%d %d %d %d", &motion_data[i].back_hor_f_code, &motion_data[i].back_vert_f_code,
          &motion_data[i].sxb, &motion_data[i].syb);
	    }

      if(!use_v_param_file)
  {
      P = 0;      r = 0;      avg_act = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频在线永久播放| 国产精品久久久久久久久免费樱桃| 懂色av噜噜一区二区三区av| 日韩经典一区二区| 亚洲人亚洲人成电影网站色| 国产色一区二区| 国产精品久久久久久亚洲毛片| 国产欧美在线观看一区| 国产欧美一区视频| 亚洲男人天堂一区| 日韩中文字幕1| 国产一区二区不卡老阿姨| 国产aⅴ综合色| av爱爱亚洲一区| 91精品国产欧美一区二区成人| 欧美一区二区三区四区在线观看 | 欧美美女喷水视频| 欧美日韩精品一区视频| 欧美一级一级性生活免费录像| 日韩欧美国产一区二区在线播放| 欧美一区二区三区成人| 中文字幕的久久| 伊人一区二区三区| 国产精品久久国产精麻豆99网站| 日韩精品免费专区| 丁香婷婷综合激情五月色| 色狠狠一区二区三区香蕉| 欧美写真视频网站| 国产欧美视频一区二区| 午夜精品国产更新| 日本精品一区二区三区高清| 91精品欧美一区二区三区综合在 | 国产馆精品极品| 欧美久久婷婷综合色| 亚洲蜜桃精久久久久久久| 精品一区二区久久| 欧美成va人片在线观看| 亚洲一卡二卡三卡四卡无卡久久| 国产福利不卡视频| 日本一区二区三区四区 | 欧美一级高清片| 一区二区三区蜜桃网| 色婷婷综合久久久| 综合久久久久久久| 91色.com| 午夜精品免费在线| 欧美老年两性高潮| 日韩在线卡一卡二| 欧美电影免费提供在线观看| 日韩高清电影一区| 久久婷婷色综合| 成人性生交大片免费看视频在线| 中文字幕精品三区| 91丨porny丨最新| 久久精品人人爽人人爽| 一区二区三区 在线观看视频| 欧美一区二区在线不卡| 免费观看成人av| 久久精品在线观看| 色视频成人在线观看免| 日韩成人免费在线| 中国色在线观看另类| 欧美午夜一区二区| 黄色精品一二区| 中文字幕一区三区| 欧美一级生活片| 99久久99久久精品免费观看 | 精品一区二区在线免费观看| 国产精品乱码妇女bbbb| 制服丝袜亚洲色图| 国产伦精一区二区三区| 一区二区三区中文免费| 日韩欧美亚洲一区二区| 91久久精品一区二区| 成人毛片老司机大片| av一区二区不卡| 日韩二区三区在线观看| 亚洲日本乱码在线观看| 精品久久久久久亚洲综合网| 在线观看一区二区视频| 成人免费视频视频在线观看免费| 日本三级亚洲精品| 日韩国产欧美三级| 午夜精品影院在线观看| 综合av第一页| 亚洲精选一二三| 亚洲欧美日韩电影| 一区二区三区在线观看国产| 国产精品嫩草影院com| 成人免费视频caoporn| 亚洲国产一区二区在线播放| 日韩色视频在线观看| 88在线观看91蜜桃国自产| 色综合久久久久综合体| 91啪九色porn原创视频在线观看| 欧美日韩精品一区视频| 欧美一卡二卡三卡| 久久网站热最新地址| 久久久www成人免费毛片麻豆 | 日韩国产一区二| 久久电影网站中文字幕 | 精品国一区二区三区| 精品卡一卡二卡三卡四在线| 91麻豆精品国产综合久久久久久| 在线电影一区二区三区| 欧美精品一区二区久久久| 久久精品欧美日韩精品| 一区二区三区在线视频观看58| 亚洲免费成人av| 色综合久久88色综合天天| 欧美亚洲国产bt| 久久久久亚洲综合| 亚洲第一搞黄网站| www.av亚洲| 久久色视频免费观看| 亚洲专区一二三| 成人av综合一区| 26uuu亚洲综合色| 日本一不卡视频| 在线观看三级视频欧美| 国产精品久久久久久久久免费丝袜| 亚洲综合色在线| 成人动漫av在线| 久久久欧美精品sm网站| 视频在线观看国产精品| 91视频com| 亚洲激情六月丁香| 91视频国产观看| 亚洲精品中文字幕乱码三区| 免费日本视频一区| 成人激情小说乱人伦| 久久精品视频一区二区| 日本欧美久久久久免费播放网| 不卡电影免费在线播放一区| 久久嫩草精品久久久精品| 欧美a级一区二区| 日韩女同互慰一区二区| 婷婷一区二区三区| 这里是久久伊人| 久久99精品国产91久久来源| 日韩精品在线一区二区| 国产精品一区二区男女羞羞无遮挡| 精品久久国产老人久久综合| 激情综合色丁香一区二区| 久久久91精品国产一区二区三区| 另类综合日韩欧美亚洲| 国产精品视频观看| 欧美四级电影在线观看| 五月婷婷综合激情| 国产丝袜在线精品| 色88888久久久久久影院野外| 麻豆久久久久久| 国产精品无遮挡| 91精品国产综合久久久久| 美女视频一区二区三区| 国产精品理论片| 日韩欧美一二三区| 日本精品裸体写真集在线观看| 日韩精品一二三| 欧美国产一区二区| 日韩三区在线观看| 在线观看欧美日本| 国v精品久久久网| 久久电影网站中文字幕| 午夜精品久久久久久久99水蜜桃| 精品国产乱码久久久久久久 | 国产精品久久看| 欧美一区二区三区视频免费| 色视频一区二区| 国产在线一区观看| 免费美女久久99| 狠狠色丁香久久婷婷综合_中| 国产精品女上位| 欧美一区二区三区在| 在线观看日韩av先锋影音电影院| 粉嫩aⅴ一区二区三区四区五区| 性欧美疯狂xxxxbbbb| 日韩美女视频19| 最新久久zyz资源站| 久久综合色之久久综合| 日韩欧美在线一区二区三区| 制服丝袜中文字幕一区| 欧美日韩一区二区在线观看视频 | 久久综合一区二区| 久久久久久免费| 国产欧美日韩另类视频免费观看| 久久久国产一区二区三区四区小说 | 精品中文av资源站在线观看| 久久99久久精品欧美| 国产最新精品免费| 成人性生交大合| 精品视频一区三区九区| 91精品国产综合久久久蜜臀粉嫩| 精品国产99国产精品| 国产精品免费av| 亚洲777理论| 丁香六月久久综合狠狠色| 欧美少妇一区二区| 欧美精品一区二区三区在线播放| 国产精品丝袜久久久久久app|