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

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

?? cjpeg.c

?? 一款最完整的工業(yè)組態(tài)軟源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#ifdef ENTROPY_OPT_SUPPORTED
      cinfo->optimize_coding = TRUE;
#else
      fprintf(stderr, "%s: sorry, entropy optimization was not compiled\n",
	      progname);
      exit(EXIT_FAILURE);
#endif

    } else if (keymatch(arg, "outfile", 4)) {
      /* Set output file name. */
      if (++argn >= argc)	/* advance to next argument */
	usage();
      outfilename = argv[argn];	/* save it away for later use */

    } else if (keymatch(arg, "progressive", 1)) {
      /* Select simple progressive mode. */
#ifdef C_PROGRESSIVE_SUPPORTED
      simple_progressive = TRUE;
      /* We must postpone execution until num_components is known. */
#else
      fprintf(stderr, "%s: sorry, progressive output was not compiled\n",
	      progname);
      exit(EXIT_FAILURE);
#endif

    } else if (keymatch(arg, "quality", 1)) {
      /* Quality factor (quantization table scaling factor). */
      if (++argn >= argc)	/* advance to next argument */
	usage();
      if (sscanf(argv[argn], "%d", &quality) != 1)
	usage();
      /* Change scale factor in case -qtables is present. */
      q_scale_factor = jpeg_quality_scaling(quality);

    } else if (keymatch(arg, "qslots", 2)) {
      /* Quantization table slot numbers. */
      if (++argn >= argc)	/* advance to next argument */
	usage();
      qslotsarg = argv[argn];
      /* Must delay setting qslots until after we have processed any
       * colorspace-determining switches, since jpeg_set_colorspace sets
       * default quant table numbers.
       */

    } else if (keymatch(arg, "qtables", 2)) {
      /* Quantization tables fetched from file. */
      if (++argn >= argc)	/* advance to next argument */
	usage();
      qtablefile = argv[argn];
      /* We postpone actually reading the file in case -quality comes later. */

    } else if (keymatch(arg, "restart", 1)) {
      /* Restart interval in MCU rows (or in MCUs with 'b'). */
      long lval;
      char ch = 'x';

      if (++argn >= argc)	/* advance to next argument */
	usage();
      if (sscanf(argv[argn], "%ld%c", &lval, &ch) < 1)
	usage();
      if (lval < 0 || lval > 65535L)
	usage();
      if (ch == 'b' || ch == 'B') {
	cinfo->restart_interval = (unsigned int) lval;
	cinfo->restart_in_rows = 0; /* else prior '-restart n' overrides me */
      } else {
	cinfo->restart_in_rows = (int) lval;
	/* restart_interval will be computed during startup */
      }

    } else if (keymatch(arg, "sample", 2)) {
      /* Set sampling factors. */
      if (++argn >= argc)	/* advance to next argument */
	usage();
      samplearg = argv[argn];
      /* Must delay setting sample factors until after we have processed any
       * colorspace-determining switches, since jpeg_set_colorspace sets
       * default sampling factors.
       */

    } else if (keymatch(arg, "scans", 2)) {
      /* Set scan script. */
#ifdef C_MULTISCAN_FILES_SUPPORTED
      if (++argn >= argc)	/* advance to next argument */
	usage();
      scansarg = argv[argn];
      /* We must postpone reading the file in case -progressive appears. */
#else
      fprintf(stderr, "%s: sorry, multi-scan output was not compiled\n",
	      progname);
      exit(EXIT_FAILURE);
#endif

    } else if (keymatch(arg, "smooth", 2)) {
      /* Set input smoothing factor. */
      int val;

      if (++argn >= argc)	/* advance to next argument */
	usage();
      if (sscanf(argv[argn], "%d", &val) != 1)
	usage();
      if (val < 0 || val > 100)
	usage();
      cinfo->smoothing_factor = val;

    } else if (keymatch(arg, "targa", 1)) {
      /* Input file is Targa format. */
      is_targa = TRUE;

    } else {
      usage();			/* bogus switch */
    }
  }

  /* Post-switch-scanning cleanup */

  if (for_real) {

    /* Set quantization tables for selected quality. */
    /* Some or all may be overridden if -qtables is present. */
    jpeg_set_quality(cinfo, quality, force_baseline);

    if (qtablefile != NULL)	/* process -qtables if it was present */
      if (! read_quant_tables(cinfo, qtablefile,
			      q_scale_factor, force_baseline))
	usage();

    if (qslotsarg != NULL)	/* process -qslots if it was present */
      if (! set_quant_slots(cinfo, qslotsarg))
	usage();

    if (samplearg != NULL)	/* process -sample if it was present */
      if (! set_sample_factors(cinfo, samplearg))
	usage();

#ifdef C_PROGRESSIVE_SUPPORTED
    if (simple_progressive)	/* process -progressive; -scans can override */
      jpeg_simple_progression(cinfo);
#endif

#ifdef C_MULTISCAN_FILES_SUPPORTED
    if (scansarg != NULL)	/* process -scans if it was present */
      if (! read_scan_script(cinfo, scansarg))
	usage();
#endif
  }

  return argn;			/* return index of next arg (file name) */
}


/*
 * The main program.
 */

int
main (int argc, char **argv)
{
  struct jpeg_compress_struct cinfo;
  struct jpeg_error_mgr jerr;
#ifdef PROGRESS_REPORT
  struct cdjpeg_progress_mgr progress;
#endif
  int file_index;
  cjpeg_source_ptr src_mgr;
  FILE * input_file;
  FILE * output_file;
  JDIMENSION num_scanlines;

  /* On Mac, fetch a command line. */
#ifdef USE_CCOMMAND
  argc = ccommand(&argv);
#endif

  progname = argv[0];
  if (progname == NULL || progname[0] == 0)
    progname = "cjpeg";		/* in case C library doesn't provide it */

  /* Initialize the JPEG compression object with default error handling. */
  cinfo.err = jpeg_std_error(&jerr);
  jpeg_create_compress(&cinfo);
  /* Add some application-specific error messages (from cderror.h) */
  jerr.addon_message_table = cdjpeg_message_table;
  jerr.first_addon_message = JMSG_FIRSTADDONCODE;
  jerr.last_addon_message = JMSG_LASTADDONCODE;

  /* Now safe to enable signal catcher. */
#ifdef NEED_SIGNAL_CATCHER
  enable_signal_catcher((j_common_ptr) &cinfo);
#endif

  /* Initialize JPEG parameters.
   * Much of this may be overridden later.
   * In particular, we don't yet know the input file's color space,
   * but we need to provide some value for jpeg_set_defaults() to work.
   */

  cinfo.in_color_space = JCS_RGB; /* arbitrary guess */
  jpeg_set_defaults(&cinfo);

  /* Scan command line to find file names.
   * It is convenient to use just one switch-parsing routine, but the switch
   * values read here are ignored; we will rescan the switches after opening
   * the input file.
   */

  file_index = parse_switches(&cinfo, argc, argv, 0, FALSE);

#ifdef TWO_FILE_COMMANDLINE
  /* Must have either -outfile switch or explicit output file name */
  if (outfilename == NULL) {
    if (file_index != argc-2) {
      fprintf(stderr, "%s: must name one input and one output file\n",
	      progname);
      usage();
    }
    outfilename = argv[file_index+1];
  } else {
    if (file_index != argc-1) {
      fprintf(stderr, "%s: must name one input and one output file\n",
	      progname);
      usage();
    }
  }
#else
  /* Unix style: expect zero or one file name */
  if (file_index < argc-1) {
    fprintf(stderr, "%s: only one input file\n", progname);
    usage();
  }
#endif /* TWO_FILE_COMMANDLINE */

  /* Open the input file. */
  if (file_index < argc) {
    if ((input_file = fopen(argv[file_index], READ_BINARY)) == NULL) {
      fprintf(stderr, "%s: can't open %s\n", progname, argv[file_index]);
      exit(EXIT_FAILURE);
    }
  } else {
    /* default input file is stdin */
    input_file = read_stdin();
  }

  /* Open the output file. */
  if (outfilename != NULL) {
    if ((output_file = fopen(outfilename, WRITE_BINARY)) == NULL) {
      fprintf(stderr, "%s: can't open %s\n", progname, outfilename);
      exit(EXIT_FAILURE);
    }
  } else {
    /* default output file is stdout */
    output_file = write_stdout();
  }

#ifdef PROGRESS_REPORT
  start_progress_monitor((j_common_ptr) &cinfo, &progress);
#endif

  /* Figure out the input file format, and set up to read it. */
  src_mgr = select_file_type(&cinfo, input_file);
  src_mgr->input_file = input_file;

  /* Read the input file header to obtain file size & colorspace. */
  (*src_mgr->start_input) (&cinfo, src_mgr);

  /* Now that we know input colorspace, fix colorspace-dependent defaults */
  jpeg_default_colorspace(&cinfo);

  /* Adjust default compression parameters by re-parsing the options */
  file_index = parse_switches(&cinfo, argc, argv, 0, TRUE);

  /* Specify data destination for compression */
  jpeg_stdio_dest(&cinfo, output_file);

  /* Start compressor */
  jpeg_start_compress(&cinfo, TRUE);

  /* Process data */
  while (cinfo.next_scanline < cinfo.image_height) {
    num_scanlines = (*src_mgr->get_pixel_rows) (&cinfo, src_mgr);
    (void) jpeg_write_scanlines(&cinfo, src_mgr->buffer, num_scanlines);
  }

  /* Finish compression and release memory */
  (*src_mgr->finish_input) (&cinfo, src_mgr);
  jpeg_finish_compress(&cinfo);
  jpeg_destroy_compress(&cinfo);

  /* Close files, if we opened them */
  if (input_file != stdin)
    fclose(input_file);
  if (output_file != stdout)
    fclose(output_file);

#ifdef PROGRESS_REPORT
  end_progress_monitor((j_common_ptr) &cinfo);
#endif

  /* All done. */
  exit(jerr.num_warnings ? EXIT_WARNING : EXIT_SUCCESS);
  return 0;			/* suppress no-return-value warnings */
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线不卡网| 精品亚洲国产成人av制服丝袜| 91麻豆精品国产91久久久| 91麻豆精品在线观看| 成人精品免费视频| 成人免费视频app| 国产成人小视频| 国产成人自拍网| 韩国成人福利片在线播放| 久久福利资源站| 国产精品一区二区x88av| 国内成人精品2018免费看| 国产一区日韩二区欧美三区| 国产成人免费视| 99国产精品久久久| 91网站黄www| 欧美午夜精品久久久久久孕妇| 欧美熟乱第一页| 91精品在线观看入口| 日韩精品一区二区三区老鸭窝| 日韩欧美国产一区二区在线播放| 欧美v国产在线一区二区三区| 久久日韩粉嫩一区二区三区| 国产欧美日韩另类一区| 亚洲三级电影全部在线观看高清| 亚洲女同一区二区| 亚洲成在人线免费| 麻豆免费看一区二区三区| 国产馆精品极品| 一本色道a无线码一区v| 欧美日韩国产大片| 欧美成人免费网站| 国产精品天天摸av网| 一区二区视频在线看| 亚洲成人激情av| 国产一区二区免费视频| 成人免费观看av| 欧美日韩高清在线| 国产无一区二区| 亚洲国产精品久久久男人的天堂| 老司机精品视频在线| www.在线欧美| 91精品一区二区三区在线观看| 久久精品在线免费观看| 夜夜精品视频一区二区 | 自拍偷拍欧美精品| 午夜精品福利在线| 成人性生交大片免费看在线播放 | 欧美美女一区二区三区| 久久日一线二线三线suv| 亚洲欧洲成人精品av97| 午夜精品久久久久久久久久 | 欧洲精品在线观看| 精品国产百合女同互慰| 亚洲人成网站精品片在线观看| 久久国产夜色精品鲁鲁99| 99精品欧美一区二区三区小说| 日韩视频在线观看一区二区| 亚洲色图制服丝袜| 国内精品自线一区二区三区视频| 色综合久久中文字幕| 亚洲精品一区二区三区在线观看| 亚洲乱码国产乱码精品精的特点 | 亚洲va欧美va人人爽午夜 | 日韩美女一区二区三区| 亚洲免费av高清| 国产福利视频一区二区三区| 666欧美在线视频| 亚洲欧美色一区| 国产91精品露脸国语对白| 欧美不卡一区二区三区| 亚洲第一成人在线| 色婷婷综合激情| 国产精品欧美极品| 国产麻豆视频一区二区| 欧美一级在线视频| 亚洲精品日产精品乱码不卡| 国产.欧美.日韩| 久久久久久免费网| 另类中文字幕网| 欧美日韩国产影片| 亚洲欧美国产毛片在线| 高清av一区二区| www国产亚洲精品久久麻豆| 人人超碰91尤物精品国产| 欧美三片在线视频观看| 亚洲欧美激情视频在线观看一区二区三区 | 欧美大片一区二区三区| 亚洲午夜精品久久久久久久久| 色综合久久久久综合体桃花网| 欧美激情一区二区三区不卡| 国产一区二区三区高清播放| 欧美岛国在线观看| 蜜臀99久久精品久久久久久软件 | 亚洲自拍偷拍欧美| 在线视频国产一区| 日韩毛片一二三区| 91香蕉视频黄| 亚洲欧洲色图综合| 99国产精品99久久久久久| 国产精品二三区| 99久久精品费精品国产一区二区| 国产精品成人一区二区三区夜夜夜| 懂色av中文字幕一区二区三区| 国产欧美精品一区| 成年人国产精品| 国产精品不卡视频| 99久久免费国产| 亚洲女性喷水在线观看一区| 91福利在线看| 水野朝阳av一区二区三区| 7777精品伊人久久久大香线蕉的 | 欧美综合视频在线观看| 亚洲综合一区二区| 7777精品伊人久久久大香线蕉 | 不卡一区二区在线| 亚洲私人影院在线观看| 欧美影视一区在线| 日本午夜精品视频在线观看| 欧美大片在线观看| 国产91丝袜在线播放0| 综合久久久久久| 欧美日韩一区在线观看| 日本怡春院一区二区| 精品国产91洋老外米糕| 国产.精品.日韩.另类.中文.在线.播放 | 久久久国际精品| 91丨porny丨国产入口| 婷婷一区二区三区| 26uuu精品一区二区在线观看| 成人短视频下载| 亚洲成精国产精品女| 精品日产卡一卡二卡麻豆| 粉嫩高潮美女一区二区三区| 欧美剧在线免费观看网站| 国产免费观看久久| 欧美性大战xxxxx久久久| 午夜欧美在线一二页| 精品久久久久久久久久久久久久久| 国产麻豆午夜三级精品| 亚洲精品一二三区| 日韩视频123| 一区二区三区蜜桃网| 精品对白一区国产伦| 国产大片一区二区| 精品国产成人系列| 在线精品亚洲一区二区不卡| 成人丝袜视频网| 激情成人综合网| 日韩精品免费专区| 一区二区三区中文字幕电影| 国产精品蜜臀av| 国产亚洲欧美一级| 日韩欧美一级二级| 欧美日韩一级二级| 91国产成人在线| 成人动漫中文字幕| 国产精品一二三四五| 麻豆精品一二三| 首页欧美精品中文字幕| 亚洲一区二区三区中文字幕在线| 国产精品久久一卡二卡| 久久久久久久电影| 精品久久久久久无| 538在线一区二区精品国产| 欧美亚男人的天堂| 色婷婷综合久久久中文一区二区 | 国产精品成人一区二区三区夜夜夜| 久久免费美女视频| 精品av综合导航| 日韩免费高清电影| 日韩午夜av电影| 欧美一区二区三区啪啪| 7777女厕盗摄久久久| 91精品国产品国语在线不卡| 欧美日韩高清一区二区不卡| 精品视频1区2区| 欧美日韩一区在线| 在线播放/欧美激情| 51午夜精品国产| 日韩一区二区三区av| 日韩一区二区不卡| 欧美精品一区二区三区在线播放| 精品国内片67194| 久久麻豆一区二区| 国产日韩欧美精品电影三级在线| 国产丝袜在线精品| ...中文天堂在线一区| 亚洲男人的天堂av| 亚洲一区二区成人在线观看| 午夜视频在线观看一区二区三区| 五月婷婷综合激情| 免费成人你懂的| 国产乱码精品一区二区三区av | 国产精品视频一二三| 欧美国产日韩a欧美在线观看| 中文字幕在线一区免费| 亚洲欧美日韩久久| 图片区小说区国产精品视频| 毛片av一区二区|