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

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

?? jcmaster.c

?? 支持各種柵格圖像和矢量圖像讀取的庫(kù)
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
      cinfo->cur_comp_info[ci] = &cinfo->comp_info[ci];    }    cinfo->Ss = 0;    cinfo->Se = DCTSIZE2-1;    cinfo->Ah = 0;    cinfo->Al = 0;  }}LOCAL(void)per_scan_setup (j_compress_ptr cinfo)/* Do computations that are needed before processing a JPEG scan *//* cinfo->comps_in_scan and cinfo->cur_comp_info[] are already set */{  int ci, mcublks, tmp;  jpeg_component_info *compptr;    if (cinfo->comps_in_scan == 1) {        /* Noninterleaved (single-component) scan */    compptr = cinfo->cur_comp_info[0];        /* Overall image size in MCUs */    cinfo->MCUs_per_row = compptr->width_in_blocks;    cinfo->MCU_rows_in_scan = compptr->height_in_blocks;        /* For noninterleaved scan, always one block per MCU */    compptr->MCU_width = 1;    compptr->MCU_height = 1;    compptr->MCU_blocks = 1;    compptr->MCU_sample_width = DCTSIZE;    compptr->last_col_width = 1;    /* For noninterleaved scans, it is convenient to define last_row_height     * as the number of block rows present in the last iMCU row.     */    tmp = (int) (compptr->height_in_blocks % compptr->v_samp_factor);    if (tmp == 0) tmp = compptr->v_samp_factor;    compptr->last_row_height = tmp;        /* Prepare array describing MCU composition */    cinfo->blocks_in_MCU = 1;    cinfo->MCU_membership[0] = 0;      } else {        /* Interleaved (multi-component) scan */    if (cinfo->comps_in_scan <= 0 || cinfo->comps_in_scan > MAX_COMPS_IN_SCAN)      ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->comps_in_scan,	       MAX_COMPS_IN_SCAN);        /* Overall image size in MCUs */    cinfo->MCUs_per_row = (JDIMENSION)      jdiv_round_up((long) cinfo->image_width,		    (long) (cinfo->max_h_samp_factor*DCTSIZE));    cinfo->MCU_rows_in_scan = (JDIMENSION)      jdiv_round_up((long) cinfo->image_height,		    (long) (cinfo->max_v_samp_factor*DCTSIZE));        cinfo->blocks_in_MCU = 0;        for (ci = 0; ci < cinfo->comps_in_scan; ci++) {      compptr = cinfo->cur_comp_info[ci];      /* Sampling factors give # of blocks of component in each MCU */      compptr->MCU_width = compptr->h_samp_factor;      compptr->MCU_height = compptr->v_samp_factor;      compptr->MCU_blocks = compptr->MCU_width * compptr->MCU_height;      compptr->MCU_sample_width = compptr->MCU_width * DCTSIZE;      /* Figure number of non-dummy blocks in last MCU column & row */      tmp = (int) (compptr->width_in_blocks % compptr->MCU_width);      if (tmp == 0) tmp = compptr->MCU_width;      compptr->last_col_width = tmp;      tmp = (int) (compptr->height_in_blocks % compptr->MCU_height);      if (tmp == 0) tmp = compptr->MCU_height;      compptr->last_row_height = tmp;      /* Prepare array describing MCU composition */      mcublks = compptr->MCU_blocks;      if (cinfo->blocks_in_MCU + mcublks > C_MAX_BLOCKS_IN_MCU)	ERREXIT(cinfo, JERR_BAD_MCU_SIZE);      while (mcublks-- > 0) {	cinfo->MCU_membership[cinfo->blocks_in_MCU++] = ci;      }    }      }  /* Convert restart specified in rows to actual MCU count. */  /* Note that count must fit in 16 bits, so we provide limiting. */  if (cinfo->restart_in_rows > 0) {    long nominal = (long) cinfo->restart_in_rows * (long) cinfo->MCUs_per_row;    cinfo->restart_interval = (unsigned int) MIN(nominal, 65535L);  }}/* * Per-pass setup. * This is called at the beginning of each pass.  We determine which modules * will be active during this pass and give them appropriate start_pass calls. * We also set is_last_pass to indicate whether any more passes will be * required. */METHODDEF(void)prepare_for_pass (j_compress_ptr cinfo){  my_master_ptr master = (my_master_ptr) cinfo->master;  switch (master->pass_type) {  case main_pass:    /* Initial pass: will collect input data, and do either Huffman     * optimization or data output for the first scan.     */    select_scan_parameters(cinfo);    per_scan_setup(cinfo);    if (! cinfo->raw_data_in) {      (*cinfo->cconvert->start_pass) (cinfo);      (*cinfo->downsample->start_pass) (cinfo);      (*cinfo->prep->start_pass) (cinfo, JBUF_PASS_THRU);    }    (*cinfo->fdct->start_pass) (cinfo);    (*cinfo->entropy->start_pass) (cinfo, cinfo->optimize_coding);    (*cinfo->coef->start_pass) (cinfo,				(master->total_passes > 1 ?				 JBUF_SAVE_AND_PASS : JBUF_PASS_THRU));    (*cinfo->main->start_pass) (cinfo, JBUF_PASS_THRU);    if (cinfo->optimize_coding) {      /* No immediate data output; postpone writing frame/scan headers */      master->pub.call_pass_startup = FALSE;    } else {      /* Will write frame/scan headers at first jpeg_write_scanlines call */      master->pub.call_pass_startup = TRUE;    }    break;#ifdef ENTROPY_OPT_SUPPORTED  case huff_opt_pass:    /* Do Huffman optimization for a scan after the first one. */    select_scan_parameters(cinfo);    per_scan_setup(cinfo);    if (cinfo->Ss != 0 || cinfo->Ah == 0 || cinfo->arith_code) {      (*cinfo->entropy->start_pass) (cinfo, TRUE);      (*cinfo->coef->start_pass) (cinfo, JBUF_CRANK_DEST);      master->pub.call_pass_startup = FALSE;      break;    }    /* Special case: Huffman DC refinement scans need no Huffman table     * and therefore we can skip the optimization pass for them.     */    master->pass_type = output_pass;    master->pass_number++;    /*FALLTHROUGH*/#endif  case output_pass:    /* Do a data-output pass. */    /* We need not repeat per-scan setup if prior optimization pass did it. */    if (! cinfo->optimize_coding) {      select_scan_parameters(cinfo);      per_scan_setup(cinfo);    }    (*cinfo->entropy->start_pass) (cinfo, FALSE);    (*cinfo->coef->start_pass) (cinfo, JBUF_CRANK_DEST);    /* We emit frame/scan headers now */    if (master->scan_number == 0)      (*cinfo->marker->write_frame_header) (cinfo);    (*cinfo->marker->write_scan_header) (cinfo);    master->pub.call_pass_startup = FALSE;    break;  default:    ERREXIT(cinfo, JERR_NOT_COMPILED);  }  master->pub.is_last_pass = (master->pass_number == master->total_passes-1);  /* 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->total_passes;  }}/* * Special start-of-pass hook. * This is called by jpeg_write_scanlines if call_pass_startup is TRUE. * In single-pass processing, we need this hook because we don't want to * write frame/scan headers during jpeg_start_compress; we want to let the * application write COM markers etc. between jpeg_start_compress and the * jpeg_write_scanlines loop. * In multi-pass processing, this routine is not used. */METHODDEF(void)pass_startup (j_compress_ptr cinfo){  cinfo->master->call_pass_startup = FALSE; /* reset flag so call only once */  (*cinfo->marker->write_frame_header) (cinfo);  (*cinfo->marker->write_scan_header) (cinfo);}/* * Finish up at end of pass. */METHODDEF(void)finish_pass_master (j_compress_ptr cinfo){  my_master_ptr master = (my_master_ptr) cinfo->master;  /* The entropy coder always needs an end-of-pass call,   * either to analyze statistics or to flush its output buffer.   */  (*cinfo->entropy->finish_pass) (cinfo);  /* Update state for next pass */  switch (master->pass_type) {  case main_pass:    /* next pass is either output of scan 0 (after optimization)     * or output of scan 1 (if no optimization).     */    master->pass_type = output_pass;    if (! cinfo->optimize_coding)      master->scan_number++;    break;  case huff_opt_pass:    /* next pass is always output of current scan */    master->pass_type = output_pass;    break;  case output_pass:    /* next pass is either optimization or output of next scan */    if (cinfo->optimize_coding)      master->pass_type = huff_opt_pass;    master->scan_number++;    break;  }  master->pass_number++;}/* * Initialize master compression control. */GLOBAL(void)jinit_c_master_control (j_compress_ptr cinfo, boolean transcode_only){  my_master_ptr master;  master = (my_master_ptr)      (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,				  SIZEOF(my_comp_master));  cinfo->master = (struct jpeg_comp_master *) master;  master->pub.prepare_for_pass = prepare_for_pass;  master->pub.pass_startup = pass_startup;  master->pub.finish_pass = finish_pass_master;  master->pub.is_last_pass = FALSE;  /* Validate parameters, determine derived values */  initial_setup(cinfo);  if (cinfo->scan_info != NULL) {#ifdef C_MULTISCAN_FILES_SUPPORTED    validate_script(cinfo);#else    ERREXIT(cinfo, JERR_NOT_COMPILED);#endif  } else {    cinfo->progressive_mode = FALSE;    cinfo->num_scans = 1;  }  if (cinfo->progressive_mode)	/*  TEMPORARY HACK ??? */    cinfo->optimize_coding = TRUE; /* assume default tables no good for progressive mode */  /* Initialize my private state */  if (transcode_only) {    /* no main pass in transcoding */    if (cinfo->optimize_coding)      master->pass_type = huff_opt_pass;    else      master->pass_type = output_pass;  } else {    /* for normal compression, first pass is always this type: */    master->pass_type = main_pass;  }  master->scan_number = 0;  master->pass_number = 0;  if (cinfo->optimize_coding)    master->total_passes = cinfo->num_scans * 2;  else    master->total_passes = cinfo->num_scans;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区不卡| 欧美成人精品高清在线播放| 久久精品国产秦先生| 国产精品麻豆久久久| 日韩欧美第一区| 色综合久久久网| 懂色av中文一区二区三区| 日本成人中文字幕在线视频| 亚洲欧美一区二区久久 | 在线观看av一区| 懂色av一区二区在线播放| 免费欧美在线视频| 午夜精品久久久久影视| 1区2区3区精品视频| 欧美激情中文不卡| 精品日韩99亚洲| 欧美一区二区三区视频在线| 欧美色综合影院| 色婷婷综合在线| 成人精品免费网站| 懂色av一区二区在线播放| 国产乱码精品一区二区三区五月婷| 天天操天天干天天综合网| 亚洲一区日韩精品中文字幕| 国产精品久久三| 国产精品人妖ts系列视频| 日本一区二区三区高清不卡| 久久综合网色—综合色88| 日韩女优毛片在线| 精品日韩成人av| 精品久久久久一区二区国产| 欧美成人在线直播| 91麻豆精品国产91久久久久| 欧美裸体一区二区三区| 91高清视频在线| 色综合久久中文字幕| 日本韩国精品一区二区在线观看| 91麻豆国产香蕉久久精品| 91在线观看下载| 一本到不卡免费一区二区| 色94色欧美sute亚洲线路一ni | 国产成人综合在线| 成人国产在线观看| 东方aⅴ免费观看久久av| 99久久伊人久久99| 91麻豆蜜桃一区二区三区| 一本到三区不卡视频| 欧美在线高清视频| 91精品婷婷国产综合久久性色| 制服丝袜在线91| 久久香蕉国产线看观看99| 欧美经典三级视频一区二区三区| 国产精品久久久久久久岛一牛影视| 国产精品欧美极品| 一区二区三区在线视频免费观看 | 成人午夜av电影| 91农村精品一区二区在线| 欧美无人高清视频在线观看| 欧美日本在线视频| 精品国产百合女同互慰| 国产精品美女久久久久aⅴ | 舔着乳尖日韩一区| 精品午夜久久福利影院| 成人av资源网站| 欧美日韩免费高清一区色橹橹| 正在播放亚洲一区| 久久精品男人天堂av| 亚洲欧美另类图片小说| 偷拍与自拍一区| 国产传媒一区在线| 欧美色偷偷大香| 久久伊人中文字幕| 亚洲伦理在线精品| 久久精品72免费观看| 99视频在线观看一区三区| 欧美片网站yy| 国产日韩欧美一区二区三区乱码| 亚洲男人电影天堂| 国内精品国产成人国产三级粉色 | 国产91在线|亚洲| 日本久久精品电影| 精品精品欲导航| 亚洲欧美日韩一区二区| 美女mm1313爽爽久久久蜜臀| 成人免费福利片| 欧美一区二区日韩| 亚洲欧洲日产国码二区| 六月丁香综合在线视频| 91麻豆国产自产在线观看| 欧美成人精品福利| 一区二区三区电影在线播| 国产精一品亚洲二区在线视频| 在线精品视频一区二区三四| 久久色视频免费观看| 亚洲va在线va天堂| 99久久精品久久久久久清纯| 日韩欧美第一区| 亚洲bt欧美bt精品| 91丨porny丨国产入口| 精品处破学生在线二十三| 亚洲成av人影院在线观看网| av电影在线观看一区| 久久这里只有精品首页| 亚洲r级在线视频| 91女人视频在线观看| 国产日韩精品一区| 久久国产婷婷国产香蕉| 欧美精品久久久久久久多人混战 | 亚洲午夜激情网页| jiyouzz国产精品久久| 亚洲精品在线观看网站| 午夜影视日本亚洲欧洲精品| 一本大道久久a久久精二百| 国产日产欧美一区二区视频| 91首页免费视频| 亚洲欧美在线高清| 丁香激情综合国产| 久久久国产一区二区三区四区小说 | 日韩高清不卡在线| 欧美性猛交xxxx乱大交退制版| 亚洲欧美综合色| 粉嫩aⅴ一区二区三区四区五区 | 国产婷婷色一区二区三区四区| 美女视频黄 久久| 日韩午夜三级在线| 男女男精品视频| 日韩一级片网站| 美日韩一区二区三区| 日韩一区二区中文字幕| 男女激情视频一区| 日韩三级视频在线观看| 青青草视频一区| 欧美一区二区精品在线| 蜜桃久久久久久| 久久午夜电影网| 丁香婷婷综合网| 亚洲丝袜美腿综合| 色又黄又爽网站www久久| 一区二区三区不卡视频| 欧美日韩一级大片网址| 日韩国产欧美在线视频| 日韩一区二区三区四区五区六区| 美女国产一区二区三区| 精品欧美黑人一区二区三区| 精品一区免费av| 久久久不卡影院| 99久久婷婷国产| 亚洲香肠在线观看| 日韩欧美国产综合在线一区二区三区| 免费久久99精品国产| 久久亚洲私人国产精品va媚药| 国产99久久久久| 亚洲免费观看高清完整版在线观看 | 国产日韩欧美制服另类| 91在线观看高清| 亚洲va韩国va欧美va精品| 日韩欧美视频一区| 成人免费观看男女羞羞视频| 一区二区在线观看视频在线观看| 欧美日韩精品欧美日韩精品一 | 国产亚洲精品bt天堂精选| 不卡欧美aaaaa| 亚洲国产裸拍裸体视频在线观看乱了 | 精品国产免费久久| 成人a级免费电影| 性欧美大战久久久久久久久| 精品999久久久| 91麻豆国产在线观看| 美洲天堂一区二卡三卡四卡视频| 欧美激情一区在线| 欧美视频完全免费看| 精彩视频一区二区| 亚洲免费伊人电影| 精品毛片乱码1区2区3区| 99re热这里只有精品视频| 男人的j进女人的j一区| 国产精品国产三级国产专播品爱网| 欧美日韩不卡视频| 成人高清伦理免费影院在线观看| 亚洲成人一二三| 国产亚洲精品bt天堂精选| 欧美日韩精品福利| 成人福利视频在线看| 亚洲小说欧美激情另类| 久久久不卡影院| 91麻豆精品国产无毒不卡在线观看| 成人午夜短视频| 久久不见久久见中文字幕免费| 亚洲免费资源在线播放| 久久免费偷拍视频| 7777精品伊人久久久大香线蕉的 | 国产传媒欧美日韩成人| 五月天欧美精品| 最近日韩中文字幕| 精品国产乱码久久久久久闺蜜| 欧美这里有精品| 国产.精品.日韩.另类.中文.在线.播放| 一区二区三区日韩欧美| 国产亚洲精品精华液| 日韩一区二区电影|