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

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

?? mpeg2enc.c

?? mpeg2編解標(biāo)準(zhǔn)源
?? C
字號(hào):
/* mpeg2enc.c, main() and parameter file reading                            *//* Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. *//* * Disclaimer of Warranty * * These software programs are available to the user without any license fee or * royalty on an "as is" basis.  The MPEG Software Simulation Group disclaims * any and all warranties, whether express, implied, or statuary, including any * implied warranties or merchantability or of fitness for a particular * purpose.  In no event shall the copyright-holder be liable for any * incidental, punitive, or consequential damages of any kind whatsoever * arising from the use of these programs. * * This disclaimer of warranty extends to the user of these programs and user's * customers, employees, agents, transferees, successors, and assigns. * * The MPEG Software Simulation Group does not represent or warrant that the * programs furnished hereunder are free of infringement of any third-party * patents. * * Commercial implementations of MPEG-1 and MPEG-2 video, including shareware, * are subject to royalty fees to patent holders.  Many of these patents are * general enough such that they are unavoidable regardless of implementation * design. * */#include <stdio.h>#include <stdlib.h>#define GLOBAL /* used by global.h */#include "config.h"#include "global.h"/* private prototypes */static void init _ANSI_ARGS_((void));static void readparmfile _ANSI_ARGS_((char *fname));static void readquantmat _ANSI_ARGS_((void));int main(argc,argv)int argc;char *argv[];{  if (argc!=3)  {    printf("\n%s, %s\n",version,author);    printf("Usage: mpeg2encode in.par out.m2v\n");    exit(0);  }  /* read parameter file */  readparmfile(argv[1]);  /* read quantization matrices */  readquantmat();  /* open output file */  if (!(outfile=fopen(argv[2],"wb")))  {    sprintf(errortext,"Couldn't create output file %s",argv[2]);    error(errortext);  }  init();  putseq();  fclose(outfile);  fclose(statfile);  return 0;}static void init(){  int i, size;  static int block_count_tab[3] = {6,8,12};  initbits();  init_fdct();  init_idct();  /* round picture dimensions to nearest multiple of 16 or 32 */  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];  /* clip table */  if (!(clp = (unsigned char *)malloc(1024)))    error("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");  }  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");  /* open statistics output file */  if (statname[0]=='-')    statfile = stdout;  else if (!(statfile = fopen(statname,"w")))  {    sprintf(errortext,"Couldn't create statistics output file %s",statname);    error(errortext);  }}void error(text)char *text;{  fprintf(stderr,text);  putc('\n',stderr);  exit(1);}static void readparmfile(fname)char *fname;{  int i;  int h,m,s,f;  FILE *fd;  char line[256];  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 */  if (!(fd = fopen(fname,"r")))  {    sprintf(errortext,"Couldn't open parameter file %s",fname);    error(errortext);  }  fgets(id_string,254,fd);  fgets(line,254,fd); sscanf(line,"%s",tplorg);  fgets(line,254,fd); sscanf(line,"%s",tplref);  fgets(line,254,fd); sscanf(line,"%s",iqname);  fgets(line,254,fd); sscanf(line,"%s",niqname);  fgets(line,254,fd); sscanf(line,"%s",statname);  fgets(line,254,fd); sscanf(line,"%d",&inputtype);  fgets(line,254,fd); sscanf(line,"%d",&nframes);  fgets(line,254,fd); sscanf(line,"%d",&frame0);  fgets(line,254,fd); sscanf(line,"%d:%d:%d:%d",&h,&m,&s,&f);  fgets(line,254,fd); sscanf(line,"%d",&N);  fgets(line,254,fd); sscanf(line,"%d",&M);  fgets(line,254,fd); sscanf(line,"%d",&mpeg1);  fgets(line,254,fd); sscanf(line,"%d",&fieldpic);  fgets(line,254,fd); sscanf(line,"%d",&horizontal_size);  fgets(line,254,fd); sscanf(line,"%d",&vertical_size);  fgets(line,254,fd); sscanf(line,"%d",&aspectratio);  fgets(line,254,fd); sscanf(line,"%d",&frame_rate_code);  fgets(line,254,fd); sscanf(line,"%lf",&bit_rate);  fgets(line,254,fd); sscanf(line,"%d",&vbv_buffer_size);     fgets(line,254,fd); sscanf(line,"%d",&low_delay);       fgets(line,254,fd); sscanf(line,"%d",&constrparms);  fgets(line,254,fd); sscanf(line,"%d",&profile);  fgets(line,254,fd); sscanf(line,"%d",&level);  fgets(line,254,fd); sscanf(line,"%d",&prog_seq);  fgets(line,254,fd); sscanf(line,"%d",&chroma_format);  fgets(line,254,fd); sscanf(line,"%d",&video_format);  fgets(line,254,fd); sscanf(line,"%d",&color_primaries);  fgets(line,254,fd); sscanf(line,"%d",&transfer_characteristics);  fgets(line,254,fd); sscanf(line,"%d",&matrix_coefficients);  fgets(line,254,fd); sscanf(line,"%d",&display_horizontal_size);  fgets(line,254,fd); sscanf(line,"%d",&display_vertical_size);  fgets(line,254,fd); sscanf(line,"%d",&dc_prec);  fgets(line,254,fd); sscanf(line,"%d",&topfirst);  fgets(line,254,fd); sscanf(line,"%d %d %d",    frame_pred_dct_tab,frame_pred_dct_tab+1,frame_pred_dct_tab+2);    fgets(line,254,fd); sscanf(line,"%d %d %d",    conceal_tab,conceal_tab+1,conceal_tab+2);    fgets(line,254,fd); sscanf(line,"%d %d %d",    qscale_tab,qscale_tab+1,qscale_tab+2);  fgets(line,254,fd); sscanf(line,"%d %d %d",    intravlc_tab,intravlc_tab+1,intravlc_tab+2);  fgets(line,254,fd); sscanf(line,"%d %d %d",    altscan_tab,altscan_tab+1,altscan_tab+2);  fgets(line,254,fd); sscanf(line,"%d",&repeatfirst);  fgets(line,254,fd); sscanf(line,"%d",&prog_frame);/* intra slice interval refresh period */    fgets(line,254,fd); sscanf(line,"%d",&P);  fgets(line,254,fd); sscanf(line,"%d",&r);  fgets(line,254,fd); sscanf(line,"%lf",&avg_act);  fgets(line,254,fd); sscanf(line,"%d",&Xi);  fgets(line,254,fd); sscanf(line,"%d",&Xp);  fgets(line,254,fd); sscanf(line,"%d",&Xb);  fgets(line,254,fd); sscanf(line,"%d",&d0i);  fgets(line,254,fd); sscanf(line,"%d",&d0p);  fgets(line,254,fd); sscanf(line,"%d",&d0b);  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");  for (i=0; i<M; i++)  {    fgets(line,254,fd);    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);    if (i!=0)    {      fgets(line,254,fd);      sscanf(line,"%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);    }  }  fclose(fd);  /* make flags boolean (x!=0 -> x=1) */  mpeg1 = !!mpeg1;  fieldpic = !!fieldpic;  low_delay = !!low_delay;  constrparms = !!constrparms;  prog_seq = !!prog_seq;  topfirst = !!topfirst;  for (i=0; i<3; i++)  {    frame_pred_dct_tab[i] = !!frame_pred_dct_tab[i];    conceal_tab[i] = !!conceal_tab[i];    qscale_tab[i] = !!qscale_tab[i];    intravlc_tab[i] = !!intravlc_tab[i];    altscan_tab[i] = !!altscan_tab[i];  }  repeatfirst = !!repeatfirst;  prog_frame = !!prog_frame;  /* make sure MPEG specific parameters are valid */  range_checks();  frame_rate = ratetab[frame_rate_code-1];  /* timecode -> frame number */  tc0 = h;  tc0 = 60*tc0 + m;  tc0 = 60*tc0 + s;  tc0 = (int)(frame_rate+0.5)*tc0 + f;  if (!mpeg1)  {    profile_and_level_checks();  }  else  {    /* MPEG-1 */    if (constrparms)    {      if (horizontal_size>768          || vertical_size>576          || ((horizontal_size+15)/16)*((vertical_size+15)/16)>396          || ((horizontal_size+15)/16)*((vertical_size+15)/16)*frame_rate>396*25.0          || frame_rate>30.0)      {        if (!quiet)          fprintf(stderr,"Warning: setting constrained_parameters_flag = 0\n");        constrparms = 0;      }    }    if (constrparms)    {      for (i=0; i<M; i++)      {        if (motion_data[i].forw_hor_f_code>4)        {          if (!quiet)            fprintf(stderr,"Warning: setting constrained_parameters_flag = 0\n");          constrparms = 0;          break;        }        if (motion_data[i].forw_vert_f_code>4)        {          if (!quiet)            fprintf(stderr,"Warning: setting constrained_parameters_flag = 0\n");          constrparms = 0;          break;        }        if (i!=0)        {          if (motion_data[i].back_hor_f_code>4)          {            if (!quiet)              fprintf(stderr,"Warning: setting constrained_parameters_flag = 0\n");            constrparms = 0;            break;          }          if (motion_data[i].back_vert_f_code>4)          {            if (!quiet)              fprintf(stderr,"Warning: setting constrained_parameters_flag = 0\n");            constrparms = 0;            break;          }        }      }    }  }  /* relational checks */  if (mpeg1)  {    if (!prog_seq)    {      if (!quiet)        fprintf(stderr,"Warning: setting progressive_sequence = 1\n");      prog_seq = 1;    }    if (chroma_format!=CHROMA420)    {      if (!quiet)        fprintf(stderr,"Warning: setting chroma_format = 1 (4:2:0)\n");      chroma_format = CHROMA420;    }    if (dc_prec!=0)    {      if (!quiet)        fprintf(stderr,"Warning: setting intra_dc_precision = 0\n");      dc_prec = 0;    }    for (i=0; i<3; i++)      if (qscale_tab[i])      {        if (!quiet)          fprintf(stderr,"Warning: setting qscale_tab[%d] = 0\n",i);        qscale_tab[i] = 0;      }    for (i=0; i<3; i++)      if (intravlc_tab[i])      {        if (!quiet)          fprintf(stderr,"Warning: setting intravlc_tab[%d] = 0\n",i);        intravlc_tab[i] = 0;      }    for (i=0; i<3; i++)      if (altscan_tab[i])      {        if (!quiet)          fprintf(stderr,"Warning: setting altscan_tab[%d] = 0\n",i);        altscan_tab[i] = 0;      }  }  if (!mpeg1 && constrparms)  {    if (!quiet)      fprintf(stderr,"Warning: setting constrained_parameters_flag = 0\n");    constrparms = 0;  }  if (prog_seq && !prog_frame)  {    if (!quiet)      fprintf(stderr,"Warning: setting progressive_frame = 1\n");    prog_frame = 1;  }  if (prog_frame && fieldpic)  {    if (!quiet)      fprintf(stderr,"Warning: setting field_pictures = 0\n");    fieldpic = 0;  }  if (!prog_frame && repeatfirst)  {    if (!quiet)      fprintf(stderr,"Warning: setting repeat_first_field = 0\n");    repeatfirst = 0;  }  if (prog_frame)  {    for (i=0; i<3; i++)      if (!frame_pred_dct_tab[i])      {        if (!quiet)          fprintf(stderr,"Warning: setting frame_pred_frame_dct[%d] = 1\n",i);        frame_pred_dct_tab[i] = 1;      }  }  if (prog_seq && !repeatfirst && topfirst)  {    if (!quiet)      fprintf(stderr,"Warning: setting top_field_first = 0\n");    topfirst = 0;  }  /* search windows */  for (i=0; i<M; i++)  {    if (motion_data[i].sxf > (4<<motion_data[i].forw_hor_f_code)-1)    {      if (!quiet)        fprintf(stderr,          "Warning: reducing forward horizontal search width to %d\n",          (4<<motion_data[i].forw_hor_f_code)-1);      motion_data[i].sxf = (4<<motion_data[i].forw_hor_f_code)-1;    }    if (motion_data[i].syf > (4<<motion_data[i].forw_vert_f_code)-1)    {      if (!quiet)        fprintf(stderr,          "Warning: reducing forward vertical search width to %d\n",          (4<<motion_data[i].forw_vert_f_code)-1);      motion_data[i].syf = (4<<motion_data[i].forw_vert_f_code)-1;    }    if (i!=0)    {      if (motion_data[i].sxb > (4<<motion_data[i].back_hor_f_code)-1)      {        if (!quiet)          fprintf(stderr,            "Warning: reducing backward horizontal search width to %d\n",            (4<<motion_data[i].back_hor_f_code)-1);        motion_data[i].sxb = (4<<motion_data[i].back_hor_f_code)-1;      }      if (motion_data[i].syb > (4<<motion_data[i].back_vert_f_code)-1)      {        if (!quiet)          fprintf(stderr,            "Warning: reducing backward vertical search width to %d\n",            (4<<motion_data[i].back_vert_f_code)-1);        motion_data[i].syb = (4<<motion_data[i].back_vert_f_code)-1;      }    }  }}static void readquantmat(){  int i,v;  FILE *fd;  if (iqname[0]=='-')  {    /* use default intra matrix */    load_iquant = 0;    for (i=0; i<64; i++)      intra_q[i] = default_intra_quantizer_matrix[i];  }  else  {    /* read customized intra matrix */    load_iquant = 1;    if (!(fd = fopen(iqname,"r")))    {      sprintf(errortext,"Couldn't open quant matrix file %s",iqname);      error(errortext);    }    for (i=0; i<64; i++)    {      fscanf(fd,"%d",&v);      if (v<1 || v>255)        error("invalid value in quant matrix");      intra_q[i] = v;    }    fclose(fd);  }  if (niqname[0]=='-')  {    /* use default non-intra matrix */    load_niquant = 0;    for (i=0; i<64; i++)      inter_q[i] = 16;  }  else  {    /* read customized non-intra matrix */    load_niquant = 1;    if (!(fd = fopen(niqname,"r")))    {      sprintf(errortext,"Couldn't open quant matrix file %s",niqname);      error(errortext);    }    for (i=0; i<64; i++)    {      fscanf(fd,"%d",&v);      if (v<1 || v>255)        error("invalid value in quant matrix");      inter_q[i] = v;    }    fclose(fd);  }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜欧美在线一二页| 91久久一区二区| 国产成a人亚洲精品| 国产精品自拍毛片| 国产成人av电影在线播放| 国产乱理伦片在线观看夜一区| 国产一区二区在线观看视频| 国产一区不卡视频| 成人高清视频在线| 99精品视频一区| 在线观看三级视频欧美| 欧美另类高清zo欧美| 欧美一区二区福利视频| www国产精品av| 国产精品视频免费| 夜夜嗨av一区二区三区| 午夜欧美在线一二页| 久久99国产精品麻豆| 成人亚洲一区二区一| 一本到一区二区三区| 8x8x8国产精品| 国产午夜亚洲精品理论片色戒| 中文字幕一区二区三区在线观看| 亚洲精品日韩一| 美女视频一区二区| 丁香激情综合国产| 欧美在线高清视频| 精品国产一区二区精华| 国产精品你懂的在线| 一区二区激情视频| 麻豆精品新av中文字幕| 成人动漫精品一区二区| 欧美日韩不卡一区| 欧美韩日一区二区三区| 亚洲主播在线观看| 激情综合网激情| 色婷婷久久综合| 日韩精品一区二区三区视频播放 | 一本大道av伊人久久综合| 欧美日韩精品一区二区天天拍小说 | 日本成人在线电影网| 国产精品一二三区在线| 一本久道中文字幕精品亚洲嫩| 日韩一区国产二区欧美三区| 日本一区二区视频在线| 日韩精品亚洲专区| 成人精品国产福利| 91精品福利在线一区二区三区 | 国产精品国产馆在线真实露脸| 亚洲成人中文在线| 成人精品在线视频观看| 67194成人在线观看| 国产精品成人免费| 韩国女主播成人在线| 欧美亚洲综合色| 欧美国产精品劲爆| 美日韩一区二区三区| 在线中文字幕一区| 久久综合网色—综合色88| 亚洲电影第三页| 99精品一区二区| 国产亚洲欧美激情| 青娱乐精品视频在线| 色诱亚洲精品久久久久久| 国产亚洲精品资源在线26u| 日韩影院免费视频| 色婷婷久久久亚洲一区二区三区| 精品国产伦一区二区三区免费| 亚洲宅男天堂在线观看无病毒| 粉嫩嫩av羞羞动漫久久久| 7777精品伊人久久久大香线蕉完整版| 日韩美女视频19| 国产精品中文字幕日韩精品 | 亚洲在线观看免费视频| 成人午夜av影视| 久久久五月婷婷| 麻豆成人久久精品二区三区红| 欧美综合欧美视频| 亚洲黄色片在线观看| 成人av午夜影院| 国产欧美视频一区二区| 国产一区二区三区综合| 精品少妇一区二区三区免费观看| 亚洲成人av资源| 欧美亚洲国产bt| 亚洲综合图片区| 色婷婷精品久久二区二区蜜臂av| 亚洲国产精品激情在线观看| 国产成人av一区二区三区在线观看| 日韩视频免费直播| 老司机免费视频一区二区三区| 欧美欧美欧美欧美| 视频在线观看一区二区三区| 欧美久久久久久久久久| 亚洲成人综合网站| 欧美剧情片在线观看| 午夜不卡av在线| 制服.丝袜.亚洲.中文.综合| 午夜日韩在线观看| 欧美一区二区人人喊爽| 麻豆精品视频在线观看| 日韩精品一区二区三区四区| 久久99久久精品欧美| 精品福利av导航| 国产精品综合久久| 国产欧美精品一区二区色综合 | 在线观看91视频| 亚洲成人自拍偷拍| 日韩一区二区视频| 国产在线播放一区| 国产精品美女视频| 色婷婷久久久亚洲一区二区三区 | 久久精品久久99精品久久| 日韩欧美aaaaaa| 国产河南妇女毛片精品久久久| 国产精品网站导航| 在线区一区二视频| 日本中文字幕一区二区有限公司| 精品少妇一区二区三区免费观看| 国产一二精品视频| 亚洲日穴在线视频| 欧美视频中文字幕| 久久av资源站| 中文字幕一区二区三区四区| 欧美在线观看一区| 精品一区二区免费在线观看| 国产精品女主播av| 欧美日韩一级二级三级| 国内精品伊人久久久久影院对白| 亚洲国产精品精华液ab| 欧洲人成人精品| 久久91精品国产91久久小草| 国产精品久久精品日日| 欧美高清视频一二三区| 国产精华液一区二区三区| 亚洲精品美国一| 欧美一级高清大全免费观看| 处破女av一区二区| 亚洲五月六月丁香激情| 精品欧美一区二区在线观看| 99久久久精品| 麻豆精品一区二区av白丝在线| 国产精品视频你懂的| 欧美精品久久久久久久久老牛影院| 国产一区二区三区四 | 在线观看日韩高清av| 免费成人在线视频观看| 国产精品欧美经典| 欧美一二三在线| 91麻豆国产福利在线观看| 精品一区二区在线视频| 樱桃视频在线观看一区| 久久婷婷成人综合色| 欧美性色欧美a在线播放| 国产麻豆成人精品| 亚洲成av人片在www色猫咪| 久久精品视频在线看| 51久久夜色精品国产麻豆| 99国产精品久久| 国内精品久久久久影院薰衣草 | 91麻豆国产精品久久| 九九久久精品视频| 亚洲国产综合色| 亚洲国产精品精华液2区45| 在线电影一区二区三区| 91视频91自| 顶级嫩模精品视频在线看| 日韩黄色一级片| 一区二区免费视频| 国产精品二区一区二区aⅴ污介绍| 7777女厕盗摄久久久| 91久久精品国产91性色tv| 国产91精品一区二区麻豆亚洲| 日韩不卡在线观看日韩不卡视频| 亚洲精品中文在线观看| 中文字幕不卡在线| 久久久久免费观看| 日韩午夜精品电影| 欧美喷水一区二区| 在线观看日韩精品| 91麻豆福利精品推荐| 成人av网在线| 国产成人午夜精品影院观看视频 | 亚洲丝袜另类动漫二区| 国产人久久人人人人爽| 久久先锋影音av鲁色资源网| 欧美精品在线一区二区| 精品视频一区三区九区| 91成人在线精品| 日本高清视频一区二区| 91麻豆国产在线观看| 99国产精品99久久久久久| 国产成人午夜99999| 精彩视频一区二区| 精久久久久久久久久久| 精品中文字幕一区二区| 裸体健美xxxx欧美裸体表演| 人妖欧美一区二区| 免费成人深夜小野草| 美腿丝袜亚洲综合|