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

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

?? jdmaster.c

?? About JPEG, executable on Visual C++
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
  MEMCOPY(table + (4 * (MAXJSAMPLE+1) - CENTERJSAMPLE),
	  cinfo->sample_range_limit, CENTERJSAMPLE * SIZEOF(JSAMPLE));
}


/*
 * Master selection of decompression modules.
 * This is done once at jpeg_start_decompress time.  We determine
 * which modules will be used and give them appropriate initialization calls.
 * We also initialize the decompressor input side to begin consuming data.
 *
 * Since jpeg_read_header has finished, we know what is in the SOF
 * and (first) SOS markers.  We also have all the application parameter
 * settings.
 */

LOCAL(void)
master_selection (j_decompress_ptr cinfo)
{
  my_master_ptr master = (my_master_ptr) cinfo->master;
  boolean use_c_buffer;
  long samplesperrow;
  JDIMENSION jd_samplesperrow;

  /* Initialize dimensions and other stuff */
  jpeg_calc_output_dimensions(cinfo);
  prepare_range_limit_table(cinfo);

  /* Width of an output scanline must be representable as JDIMENSION. */
  samplesperrow = (long) cinfo->output_width * (long) cinfo->out_color_components;
  jd_samplesperrow = (JDIMENSION) samplesperrow;
  if ((long) jd_samplesperrow != samplesperrow)
    ERREXIT(cinfo, JERR_WIDTH_OVERFLOW);

  /* Initialize my private state */
  master->pass_number = 0;
  master->using_merged_upsample = use_merged_upsample(cinfo);

  /* Color quantizer selection */
  master->quantizer_1pass = NULL;
  master->quantizer_2pass = NULL;
  /* No mode changes if not using buffered-image mode. */
  if (! cinfo->quantize_colors || ! cinfo->buffered_image) {
    cinfo->enable_1pass_quant = FALSE;
    cinfo->enable_external_quant = FALSE;
    cinfo->enable_2pass_quant = FALSE;
  }
  if (cinfo->quantize_colors) {
    if (cinfo->raw_data_out)
      ERREXIT(cinfo, JERR_NOTIMPL);
    /* 2-pass quantizer only works in 3-component color space. */
    if (cinfo->out_color_components != 3) {
      cinfo->enable_1pass_quant = TRUE;
      cinfo->enable_external_quant = FALSE;
      cinfo->enable_2pass_quant = FALSE;
      cinfo->colormap = NULL;
    } else if (cinfo->colormap != NULL) {
      cinfo->enable_external_quant = TRUE;
    } else if (cinfo->two_pass_quantize) {
      cinfo->enable_2pass_quant = TRUE;
    } else {
      cinfo->enable_1pass_quant = TRUE;
    }

    if (cinfo->enable_1pass_quant) {
#ifdef QUANT_1PASS_SUPPORTED
      jinit_1pass_quantizer(cinfo);
      master->quantizer_1pass = cinfo->cquantize;
#else
      ERREXIT(cinfo, JERR_NOT_COMPILED);
#endif
    }

    /* We use the 2-pass code to map to external colormaps. */
    if (cinfo->enable_2pass_quant || cinfo->enable_external_quant) {
#ifdef QUANT_2PASS_SUPPORTED
      jinit_2pass_quantizer(cinfo);
      master->quantizer_2pass = cinfo->cquantize;
#else
      ERREXIT(cinfo, JERR_NOT_COMPILED);
#endif
    }
    /* If both quantizers are initialized, the 2-pass one is left active;
     * this is necessary for starting with quantization to an external map.
     */
  }

  /* Post-processing: in particular, color conversion first */
  if (! cinfo->raw_data_out) {
    if (master->using_merged_upsample) {
#ifdef UPSAMPLE_MERGING_SUPPORTED
      jinit_merged_upsampler(cinfo); /* does color conversion too */
#else
      ERREXIT(cinfo, JERR_NOT_COMPILED);
#endif
    } else {
      jinit_color_deconverter(cinfo);
      jinit_upsampler(cinfo);
    }
    jinit_d_post_controller(cinfo, cinfo->enable_2pass_quant);
  }
  /* Inverse DCT */
  jinit_inverse_dct(cinfo);
  /* Entropy decoding: either Huffman or arithmetic coding. */
  if (cinfo->arith_code) {
    ERREXIT(cinfo, JERR_ARITH_NOTIMPL);
  } else {
    if (cinfo->progressive_mode) {
#ifdef D_PROGRESSIVE_SUPPORTED
      jinit_phuff_decoder(cinfo);
#else
      ERREXIT(cinfo, JERR_NOT_COMPILED);
#endif
    } else
      jinit_huff_decoder(cinfo);
  }

  /* Initialize principal buffer controllers. */
  use_c_buffer = cinfo->inputctl->has_multiple_scans || cinfo->buffered_image;
  jinit_d_coef_controller(cinfo, use_c_buffer);

  if (! cinfo->raw_data_out)
    jinit_d_main_controller(cinfo, FALSE /* never need full buffer here */);

  /* We can now tell the memory manager to allocate virtual arrays. */
  (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo);

  /* Initialize input side of decompressor to consume first scan. */
  (*cinfo->inputctl->start_input_pass) (cinfo);

#ifdef D_MULTISCAN_FILES_SUPPORTED
  /* If jpeg_start_decompress will read the whole file, initialize
   * progress monitoring appropriately.  The input step is counted
   * as one pass.
   */
  if (cinfo->progress != NULL && ! cinfo->buffered_image &&
      cinfo->inputctl->has_multiple_scans) {
    int nscans;
    /* Estimate number of scans to set pass_limit. */
    if (cinfo->progressive_mode) {
      /* Arbitrarily estimate 2 interleaved DC scans + 3 AC scans/component. */
      nscans = 2 + 3 * cinfo->num_components;
    } else {
      /* For a nonprogressive multiscan file, estimate 1 scan per component. */
      nscans = cinfo->num_components;
    }
    cinfo->progress->pass_counter = 0L;
    cinfo->progress->pass_limit = (long) cinfo->total_iMCU_rows * nscans;
    cinfo->progress->completed_passes = 0;
    cinfo->progress->total_passes = (cinfo->enable_2pass_quant ? 3 : 2);
    /* Count the input pass as done */
    master->pass_number++;
  }
#endif /* D_MULTISCAN_FILES_SUPPORTED */
}


/*
 * Per-pass setup.
 * This is called at the beginning of each output pass.  We determine which
 * modules will be active during this pass and give them appropriate
 * start_pass calls.  We also set is_dummy_pass to indicate whether this
 * is a "real" output pass or a dummy pass for color quantization.
 * (In the latter case, jdapi.c will crank the pass to completion.)
 */

METHODDEF(void)
prepare_for_output_pass (j_decompress_ptr cinfo)
{
  my_master_ptr master = (my_master_ptr) cinfo->master;

  if (master->pub.is_dummy_pass) {
#ifdef QUANT_2PASS_SUPPORTED
    /* Final pass of 2-pass quantization */
    master->pub.is_dummy_pass = FALSE;
    (*cinfo->cquantize->start_pass) (cinfo, FALSE);
    (*cinfo->post->start_pass) (cinfo, JBUF_CRANK_DEST);
    (*cinfo->main->start_pass) (cinfo, JBUF_CRANK_DEST);
#else
    ERREXIT(cinfo, JERR_NOT_COMPILED);
#endif /* QUANT_2PASS_SUPPORTED */
  } else {
    if (cinfo->quantize_colors && cinfo->colormap == NULL) {
      /* Select new quantization method */
      if (cinfo->two_pass_quantize && cinfo->enable_2pass_quant) {
	cinfo->cquantize = master->quantizer_2pass;
	master->pub.is_dummy_pass = TRUE;
      } else if (cinfo->enable_1pass_quant) {
	cinfo->cquantize = master->quantizer_1pass;
      } else {
	ERREXIT(cinfo, JERR_MODE_CHANGE);
      }
    }
    (*cinfo->idct->start_pass) (cinfo);
    (*cinfo->coef->start_output_pass) (cinfo);
    if (! cinfo->raw_data_out) {
      if (! master->using_merged_upsample)
	(*cinfo->cconvert->start_pass) (cinfo);
      (*cinfo->upsample->start_pass) (cinfo);
      if (cinfo->quantize_colors)
	(*cinfo->cquantize->start_pass) (cinfo, master->pub.is_dummy_pass);
      (*cinfo->post->start_pass) (cinfo,
	    (master->pub.is_dummy_pass ? JBUF_SAVE_AND_PASS : JBUF_PASS_THRU));
      (*cinfo->main->start_pass) (cinfo, JBUF_PASS_THRU);
    }
  }

  /* Set up progress monitor's pass info if present */
  if (cinfo->progress != NULL) {
    cinfo->progress->completed_passes = master->pass_number;
    cinfo->progress->total_passes = master->pass_number +
				    (master->pub.is_dummy_pass ? 2 : 1);
    /* In buffered-image mode, we assume one more output pass if EOI not
     * yet reached, but no more passes if EOI has been reached.
     */
    if (cinfo->buffered_image && ! cinfo->inputctl->eoi_reached) {
      cinfo->progress->total_passes += (cinfo->enable_2pass_quant ? 2 : 1);
    }
  }
}


/*
 * Finish up at end of an output pass.
 */

METHODDEF(void)
finish_output_pass (j_decompress_ptr cinfo)
{
  my_master_ptr master = (my_master_ptr) cinfo->master;

  if (cinfo->quantize_colors)
    (*cinfo->cquantize->finish_pass) (cinfo);
  master->pass_number++;
}


#ifdef D_MULTISCAN_FILES_SUPPORTED

/*
 * Switch to a new external colormap between output passes.
 */

GLOBAL(void)
jpeg_new_colormap (j_decompress_ptr cinfo)
{
  my_master_ptr master = (my_master_ptr) cinfo->master;

  /* Prevent application from calling me at wrong times */
  if (cinfo->global_state != DSTATE_BUFIMAGE)
    ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);

  if (cinfo->quantize_colors && cinfo->enable_external_quant &&
      cinfo->colormap != NULL) {
    /* Select 2-pass quantizer for external colormap use */
    cinfo->cquantize = master->quantizer_2pass;
    /* Notify quantizer of colormap change */
    (*cinfo->cquantize->new_color_map) (cinfo);
    master->pub.is_dummy_pass = FALSE; /* just in case */
  } else
    ERREXIT(cinfo, JERR_MODE_CHANGE);
}

#endif /* D_MULTISCAN_FILES_SUPPORTED */


/*
 * Initialize master decompression control and select active modules.
 * This is performed at the start of jpeg_start_decompress.
 */

GLOBAL(void)
jinit_master_decompress (j_decompress_ptr cinfo)
{
  my_master_ptr master;

  master = (my_master_ptr)
      (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
				  SIZEOF(my_decomp_master));
  cinfo->master = (struct jpeg_decomp_master *) master;
  master->pub.prepare_for_output_pass = prepare_for_output_pass;
  master->pub.finish_output_pass = finish_output_pass;

  master->pub.is_dummy_pass = FALSE;

  master_selection(cinfo);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久网站热最新地址| 国产精品视频观看| 欧美一级艳片视频免费观看| 欧美一区二区在线观看| 久久日韩粉嫩一区二区三区| 国产精品免费网站在线观看| 亚洲一区二区三区免费视频| 亚洲国产综合人成综合网站| 老司机精品视频导航| 国产精品系列在线播放| 91美女精品福利| 91精品国模一区二区三区| 国产校园另类小说区| 悠悠色在线精品| 久久精品99国产精品| 91视视频在线观看入口直接观看www | 亚洲国产成人高清精品| 久久99国产精品久久| 91啦中文在线观看| 欧美成人激情免费网| 亚洲色图欧美偷拍| 黑人精品欧美一区二区蜜桃| 91在线一区二区| 日韩免费一区二区三区在线播放| 成人免费在线视频| 久久国产人妖系列| 色哟哟精品一区| 26uuu成人网一区二区三区| 一区二区三区四区在线免费观看 | 7777精品伊人久久久大香线蕉完整版| 久久亚洲二区三区| 五月天视频一区| 岛国精品在线观看| 日韩久久免费av| 亚洲亚洲精品在线观看| 国产成人精品综合在线观看| 91精品在线麻豆| 中文字幕在线不卡| 韩国av一区二区三区在线观看| 欧洲在线/亚洲| 国产精品的网站| 国产在线日韩欧美| 欧美色图片你懂的| 中文字幕第一区二区| 久久99在线观看| 欧美日韩二区三区| 亚洲激情一二三区| av在线不卡电影| 久久久国产精品午夜一区ai换脸| 日韩不卡免费视频| 欧洲精品在线观看| 亚洲欧美日韩中文字幕一区二区三区| 国产一区二区三区久久久| 777a∨成人精品桃花网| 亚洲制服丝袜av| 91免费观看在线| 国产精品二三区| 不卡视频一二三| 国产精品无人区| 国产91高潮流白浆在线麻豆 | 免费黄网站欧美| 欧美日本韩国一区二区三区视频| 综合亚洲深深色噜噜狠狠网站| 国产成人欧美日韩在线电影| 精品免费日韩av| 久久国产精品99久久人人澡| 欧美久久久久久久久中文字幕| 亚洲精品视频在线观看网站| 99久久99久久精品免费看蜜桃| 国产女人18毛片水真多成人如厕| 狠狠狠色丁香婷婷综合激情| 日韩免费在线观看| 精品亚洲免费视频| 日韩精品最新网址| 精品一区二区在线观看| 久久夜色精品一区| 国产精品一区二区免费不卡| 久久精品日产第一区二区三区高清版 | 国产一区二区免费看| ww亚洲ww在线观看国产| 国产在线精品一区二区夜色| 欧美tickle裸体挠脚心vk| 久久黄色级2电影| 久久久久久久网| 国产成人精品一区二区三区四区| 国产拍欧美日韩视频二区| 国产99久久精品| 亚洲视频网在线直播| 91同城在线观看| 亚洲国产视频直播| 91精品视频网| 极品少妇一区二区三区精品视频| 欧美成人三级在线| 国产宾馆实践打屁股91| 最新日韩av在线| 欧美视频一区在线| 青青草一区二区三区| 精品国产髙清在线看国产毛片| 国产精品综合网| 一区在线观看视频| 欧美日韩成人综合天天影院| 日韩黄色一级片| 久久久久久电影| 色屁屁一区二区| 视频一区二区三区中文字幕| 日韩免费福利电影在线观看| 国产成人在线视频网站| 亚洲精品写真福利| 欧美一区二区福利在线| 国产91清纯白嫩初高中在线观看| 一区二区国产盗摄色噜噜| 日韩欧美自拍偷拍| 成人黄页毛片网站| 一区二区三区日韩在线观看| 日韩欧美亚洲一区二区| 成人国产精品视频| 亚洲3atv精品一区二区三区| 精品少妇一区二区三区在线视频| 成人夜色视频网站在线观看| 亚洲一区二区四区蜜桃| 久久综合九色综合欧美98| 不卡av免费在线观看| 日韩极品在线观看| 自拍偷拍国产亚洲| 91精品国产色综合久久ai换脸| 国产高清精品网站| 婷婷综合另类小说色区| 日本一区二区视频在线| 欧美精品在欧美一区二区少妇| 国产一区二区91| 亚洲韩国一区二区三区| 国产精品免费视频观看| 欧美日韩国产一区| www.日韩精品| 久久精品国产99国产精品| 亚洲影院久久精品| 亚洲国产精品t66y| 欧美电影免费观看高清完整版在 | 亚洲一区二区三区免费视频| 国产日韩一级二级三级| 欧美理论电影在线| www.欧美色图| 激情丁香综合五月| 亚洲午夜视频在线观看| 国产亚洲精品中文字幕| 欧美日本韩国一区| 91极品视觉盛宴| 国产成人在线视频免费播放| 蜜桃传媒麻豆第一区在线观看| 亚洲欧美韩国综合色| 国产人久久人人人人爽| 日韩午夜在线观看视频| 欧洲精品在线观看| 91丨国产丨九色丨pron| 成人综合在线观看| 国产主播一区二区三区| 天天色图综合网| 一区二区三区欧美视频| 国产欧美日本一区视频| 日韩精品一区二区三区在线| 欧美在线不卡视频| 91亚洲男人天堂| 成人app软件下载大全免费| 黄一区二区三区| 久久99国产精品成人| 蜜臀av在线播放一区二区三区| 亚洲精品视频在线| 中文字幕中文乱码欧美一区二区| 久久久国产综合精品女国产盗摄| 日韩欧美黄色影院| 欧美一三区三区四区免费在线看 | 一区二区三区欧美久久| 亚洲国产精品精华液ab| 久久九九国产精品| 久久久久88色偷偷免费| 精品理论电影在线观看| 欧美肥胖老妇做爰| 欧美精品第1页| 欧美日韩国产在线播放网站| 精品视频免费看| 欧美日韩精品一二三区| 欧美日韩精品福利| 欧美午夜免费电影| 一本久久精品一区二区| 91啪在线观看| 色综合av在线| 在线观看亚洲一区| 欧美色国产精品| 91浏览器在线视频| 色噜噜夜夜夜综合网| 在线观看免费亚洲| 91精品国产综合久久久蜜臀图片| 欧美欧美欧美欧美首页| 欧美精品在线观看播放| 日韩美女在线视频| 国产无一区二区| 一区二区中文字幕在线| 亚洲欧美日本韩国| 亚洲成人久久影院| 日本不卡中文字幕|