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

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

?? jcapistd.c

?? MPEG4解碼程序源代碼(能夠?qū)Ω鞣NMPEG4文件進(jìn)行解碼)
?? C
字號(hào):
////////////////////////////////////////////////////////////////////////
//
//	Note : this file is included as part of the Smaller Animals Software
//	JpegFile package. Though this file has not been modified from it's 
//	original IJG 6a form, it is not the responsibility on the Independent
//	JPEG Group to answer questions regarding this code.
//	
//	Any questions you have about this code should be addressed to :
//
//	CHRISDL@PAGESZ.NET	- the distributor of this package.
//
//	Remember, by including this code in the JpegFile package, Smaller 
//	Animals Software assumes all responsibilities for answering questions
//	about it. If we (SA Software) can't answer your questions ourselves, we 
//	will direct you to people who can.
//
//	Thanks, CDL.
//
////////////////////////////////////////////////////////////////////////
/*
 * jcapistd.c
 *
 * Copyright (C) 1994-1996, Thomas G. Lane.
 * This file is part of the Independent JPEG Group's software.
 * For conditions of distribution and use, see the accompanying README file.
 *
 * This file contains application interface code for the compression half
 * of the JPEG library.  These are the "standard" API routines that are
 * used in the normal full-compression case.  They are not used by a
 * transcoding-only application.  Note that if an application links in
 * jpeg_start_compress, it will end up linking in the entire compressor.
 * We thus must separate this file from jcapimin.c to avoid linking the
 * whole compression library into a transcoder.
 */

#define JPEG_INTERNALS
#include "jinclude.h"
#include "jpeglib.h"


/*
 * Compression initialization.
 * Before calling this, all parameters and a data destination must be set up.
 *
 * We require a write_all_tables parameter as a failsafe check when writing
 * multiple datastreams from the same compression object.  Since prior runs
 * will have left all the tables marked sent_table=TRUE, a subsequent run
 * would emit an abbreviated stream (no tables) by default.  This may be what
 * is wanted, but for safety's sake it should not be the default behavior:
 * programmers should have to make a deliberate choice to emit abbreviated
 * images.  Therefore the documentation and examples should encourage people
 * to pass write_all_tables=TRUE; then it will take active thought to do the
 * wrong thing.
 */

GLOBAL(void)
jpeg_start_compress (j_compress_ptr cinfo, boolean write_all_tables)
{
  if (cinfo->global_state != CSTATE_START)
    ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);

  if (write_all_tables)
    jpeg_suppress_tables(cinfo, FALSE);	/* mark all tables to be written */

  /* (Re)initialize error mgr and destination modules */
  (*cinfo->err->reset_error_mgr) ((j_common_ptr) cinfo);
  (*cinfo->dest->init_destination) (cinfo);
  /* Perform master selection of active modules */
  jinit_compress_master(cinfo);
  /* Set up for the first pass */
  (*cinfo->master->prepare_for_pass) (cinfo);
  /* Ready for application to drive first pass through jpeg_write_scanlines
   * or jpeg_write_raw_data.
   */
  cinfo->next_scanline = 0;
  cinfo->global_state = (cinfo->raw_data_in ? CSTATE_RAW_OK : CSTATE_SCANNING);
}


/*
 * Write some scanlines of data to the JPEG compressor.
 *
 * The return value will be the number of lines actually written.
 * This should be less than the supplied num_lines only in case that
 * the data destination module has requested suspension of the compressor,
 * or if more than image_height scanlines are passed in.
 *
 * Note: we warn about excess calls to jpeg_write_scanlines() since
 * this likely signals an application programmer error.  However,
 * excess scanlines passed in the last valid call are *silently* ignored,
 * so that the application need not adjust num_lines for end-of-image
 * when using a multiple-scanline buffer.
 */

GLOBAL(JDIMENSION)
jpeg_write_scanlines (j_compress_ptr cinfo, JSAMPARRAY scanlines,
		      JDIMENSION num_lines)
{
  JDIMENSION row_ctr, rows_left;

  if (cinfo->global_state != CSTATE_SCANNING)
    ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
  if (cinfo->next_scanline >= cinfo->image_height)
    WARNMS(cinfo, JWRN_TOO_MUCH_DATA);

  /* Call progress monitor hook if present */
  if (cinfo->progress != NULL) {
    cinfo->progress->pass_counter = (long) cinfo->next_scanline;
    cinfo->progress->pass_limit = (long) cinfo->image_height;
    (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo);
  }

  /* Give master control module another chance if this is first call to
   * jpeg_write_scanlines.  This lets output of the frame/scan headers be
   * delayed so that application can write COM, etc, markers between
   * jpeg_start_compress and jpeg_write_scanlines.
   */
  if (cinfo->master->call_pass_startup)
    (*cinfo->master->pass_startup) (cinfo);

  /* Ignore any extra scanlines at bottom of image. */
  rows_left = cinfo->image_height - cinfo->next_scanline;
  if (num_lines > rows_left)
    num_lines = rows_left;

  row_ctr = 0;
  (*cinfo->main->process_data) (cinfo, scanlines, &row_ctr, num_lines);
  cinfo->next_scanline += row_ctr;
  return row_ctr;
}


/*
 * Alternate entry point to write raw data.
 * Processes exactly one iMCU row per call, unless suspended.
 */

GLOBAL(JDIMENSION)
jpeg_write_raw_data (j_compress_ptr cinfo, JSAMPIMAGE data,
		     JDIMENSION num_lines)
{
  JDIMENSION lines_per_iMCU_row;

  if (cinfo->global_state != CSTATE_RAW_OK)
    ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
  if (cinfo->next_scanline >= cinfo->image_height) {
    WARNMS(cinfo, JWRN_TOO_MUCH_DATA);
    return 0;
  }

  /* Call progress monitor hook if present */
  if (cinfo->progress != NULL) {
    cinfo->progress->pass_counter = (long) cinfo->next_scanline;
    cinfo->progress->pass_limit = (long) cinfo->image_height;
    (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo);
  }

  /* Give master control module another chance if this is first call to
   * jpeg_write_raw_data.  This lets output of the frame/scan headers be
   * delayed so that application can write COM, etc, markers between
   * jpeg_start_compress and jpeg_write_raw_data.
   */
  if (cinfo->master->call_pass_startup)
    (*cinfo->master->pass_startup) (cinfo);

  /* Verify that at least one iMCU row has been passed. */
  lines_per_iMCU_row = cinfo->max_v_samp_factor * DCTSIZE;
  if (num_lines < lines_per_iMCU_row)
    ERREXIT(cinfo, JERR_BUFFER_SIZE);

  /* Directly compress the row. */
  if (! (*cinfo->coef->compress_data) (cinfo, data)) {
    /* If compressor did not consume the whole row, suspend processing. */
    return 0;
  }

  /* OK, we processed one iMCU row. */
  cinfo->next_scanline += lines_per_iMCU_row;
  return lines_per_iMCU_row;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情偷乱视频一区二区三区| 精品国产一区二区亚洲人成毛片| 一色屋精品亚洲香蕉网站| 国产91在线看| 综合色中文字幕| 欧美色窝79yyyycom| 日韩成人精品在线观看| 精品福利一区二区三区免费视频| 国产成人在线看| 中文字幕在线播放不卡一区| 日本韩国欧美国产| 天堂久久一区二区三区| 亚洲精品一区二区三区四区高清| 国产一区二区三区视频在线播放 | 欧美午夜一区二区| 日av在线不卡| 亚洲国产精品t66y| 欧美日韩一区二区三区在线| 九九**精品视频免费播放| 国产午夜精品在线观看| 日本丰满少妇一区二区三区| 奇米色777欧美一区二区| 久久精品亚洲乱码伦伦中文| 在线影院国内精品| 国产精品中文字幕日韩精品| 亚洲毛片av在线| 精品日韩99亚洲| 色婷婷激情综合| 久久99精品国产麻豆不卡| 亚洲私人黄色宅男| 日韩精品在线一区| 99久久er热在这里只有精品15 | 亚洲欧洲99久久| 欧美一区国产二区| 97久久精品人人做人人爽50路| 蜜臀久久99精品久久久画质超高清| 国产精品美女久久久久高潮| 91麻豆精品国产91久久久久久久久 | 亚洲欧美成aⅴ人在线观看| 7777精品伊人久久久大香线蕉最新版| 国产成人精品三级麻豆| 青椒成人免费视频| 一区二区三区中文在线| 国产人久久人人人人爽| 欧美一级二级在线观看| 色老综合老女人久久久| 国产乱码精品一区二区三| 天天色综合成人网| 亚洲免费大片在线观看| 国产欧美日韩综合精品一区二区| 69堂亚洲精品首页| 一本大道av一区二区在线播放| 国产91丝袜在线播放0| 另类人妖一区二区av| 五月综合激情日本mⅴ| 亚洲精品中文在线| 亚洲丝袜美腿综合| 国产精品毛片久久久久久| 久久网站热最新地址| 欧美日韩精品一区二区三区| 日本久久电影网| 99久久国产综合色|国产精品| 国产福利精品导航| 国产乱国产乱300精品| 久久电影网电视剧免费观看| 青草av.久久免费一区| 日本中文在线一区| 男人的天堂亚洲一区| 五月婷婷色综合| 日韩成人精品在线观看| 日本欧美大码aⅴ在线播放| 午夜久久久久久电影| 性做久久久久久免费观看欧美| 一区二区三区不卡在线观看| 亚洲黄色性网站| 亚洲在线中文字幕| 亚洲福利视频三区| 天堂va蜜桃一区二区三区漫画版| 亚洲电影一区二区| 午夜精品福利一区二区三区蜜桃| 亚洲午夜久久久久久久久久久| 亚洲综合激情网| 天天亚洲美女在线视频| 麻豆国产欧美一区二区三区| 美女网站色91| 国产91丝袜在线18| 91丨porny丨最新| 欧美亚洲国产bt| 91麻豆精品国产| 久久久激情视频| 亚洲视频综合在线| 亚洲第一福利一区| 日本不卡一区二区三区| 久久99国产精品免费| 精彩视频一区二区| 91丝袜国产在线播放| 欧美日韩综合不卡| 日韩免费高清电影| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品卡一卡二| 亚洲国产成人高清精品| 久久99久久99小草精品免视看| 国产乱码精品一区二区三区av| 94色蜜桃网一区二区三区| 欧美丰满嫩嫩电影| 国产欧美一区二区精品仙草咪| 亚洲人成7777| 日本成人在线看| 成+人+亚洲+综合天堂| 欧美日韩亚洲综合在线| 久久人人爽人人爽| 亚洲狠狠丁香婷婷综合久久久| 免费观看一级欧美片| av电影在线观看完整版一区二区| 欧美日韩精品一区视频| 亚洲国产成人在线| 五月激情六月综合| 成人免费看片app下载| 911精品产国品一二三产区| 中文字幕乱码久久午夜不卡| 亚洲高清在线视频| 成人高清免费观看| 日韩欧美色综合| 亚洲色图欧美激情| 国产精品一区二区在线观看不卡| 色婷婷av一区二区| 久久精品一二三| 日韩综合小视频| 99久久精品国产毛片| 久久久久久97三级| 日本亚洲欧美天堂免费| 91久久精品一区二区| 国产精品午夜免费| 麻豆中文一区二区| 在线观看免费亚洲| 国产精品毛片久久久久久久| 狠狠色丁香久久婷婷综合_中 | 91麻豆文化传媒在线观看| 精品日本一线二线三线不卡| 一区二区成人在线| 99久久国产免费看| 国产精品视频在线看| 久久99热这里只有精品| 91精品综合久久久久久| 亚洲免费观看高清完整| 成人av小说网| 国产日本欧洲亚洲| 国产一区二区看久久| 日韩一区二区免费视频| 洋洋成人永久网站入口| 99久久精品免费观看| 国产欧美一区二区三区网站| 国产麻豆精品一区二区| 在线综合视频播放| 日韩av中文字幕一区二区三区 | 国产成人免费av在线| 欧美tickling挠脚心丨vk| 丝袜诱惑制服诱惑色一区在线观看| 色域天天综合网| 最新日韩在线视频| 99在线精品观看| 国产精品毛片无遮挡高清| 成人午夜免费视频| 国产欧美视频一区二区| 福利一区在线观看| 国产精品毛片a∨一区二区三区| 国产伦精品一区二区三区视频青涩| 欧美一区二区视频在线观看2020| 午夜精品在线视频一区| 911精品国产一区二区在线| 日韩电影网1区2区| 日韩女优av电影在线观看| 韩日精品视频一区| 久久亚洲精品小早川怜子| 国产高清久久久| 中文字幕免费在线观看视频一区| 国产xxx精品视频大全| 国产精品乱码人人做人人爱| 国产sm精品调教视频网站| 欧美国产禁国产网站cc| 99精品视频一区二区| 亚洲最大成人综合| 欧美二区在线观看| 六月丁香婷婷久久| 久久精品日韩一区二区三区| 成人的网站免费观看| 亚洲激情自拍视频| 欧美日韩一区二区在线观看视频| 午夜精品久久久久久久99水蜜桃| 91精品国产欧美一区二区18 | 色综合久久中文字幕| 亚洲最新在线观看| 91精品国产一区二区三区| 国产精品99久久久久久有的能看| 国产精品人成在线观看免费 | 精品国产一区二区三区四区四| 国产麻豆视频一区| 亚洲色图欧美偷拍| 日韩一区二区三区免费观看| 国产成人鲁色资源国产91色综|