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

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

?? jdhuff.h

?? jpegsrc.v6b2000.tar.gz
?? H
字號(hào):
/* * jdhuff.h * * Copyright (C) 1991-1997, 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 declarations for Huffman entropy decoding routines * that are shared between the sequential decoder (jdhuff.c) and the * progressive decoder (jdphuff.c).  No other modules need to see these. *//* Short forms of external names for systems with brain-damaged linkers. */#ifdef NEED_SHORT_EXTERNAL_NAMES#define jpeg_make_d_derived_tbl	jMkDDerived#define jpeg_fill_bit_buffer	jFilBitBuf#define jpeg_huff_decode	jHufDecode#endif /* NEED_SHORT_EXTERNAL_NAMES *//* Derived data constructed for each Huffman table */#define HUFF_LOOKAHEAD	8	/* # of bits of lookahead */typedef struct {  /* Basic tables: (element [0] of each array is unused) */  INT32 maxcode[18];		/* largest code of length k (-1 if none) */  /* (maxcode[17] is a sentinel to ensure jpeg_huff_decode terminates) */  INT32 valoffset[17];		/* huffval[] offset for codes of length k */  /* valoffset[k] = huffval[] index of 1st symbol of code length k, less   * the smallest code of length k; so given a code of length k, the   * corresponding symbol is huffval[code + valoffset[k]]   */  /* Link to public Huffman table (needed only in jpeg_huff_decode) */  JHUFF_TBL *pub;  /* Lookahead tables: indexed by the next HUFF_LOOKAHEAD bits of   * the input data stream.  If the next Huffman code is no more   * than HUFF_LOOKAHEAD bits long, we can obtain its length and   * the corresponding symbol directly from these tables.   */  int look_nbits[1<<HUFF_LOOKAHEAD]; /* # bits, or 0 if too long */  UINT8 look_sym[1<<HUFF_LOOKAHEAD]; /* symbol, or unused */} d_derived_tbl;/* Expand a Huffman table definition into the derived format */EXTERN(void) jpeg_make_d_derived_tbl	JPP((j_decompress_ptr cinfo, boolean isDC, int tblno,	     d_derived_tbl ** pdtbl));/* * Fetching the next N bits from the input stream is a time-critical operation * for the Huffman decoders.  We implement it with a combination of inline * macros and out-of-line subroutines.  Note that N (the number of bits * demanded at one time) never exceeds 15 for JPEG use. * * We read source bytes into get_buffer and dole out bits as needed. * If get_buffer already contains enough bits, they are fetched in-line * by the macros CHECK_BIT_BUFFER and GET_BITS.  When there aren't enough * bits, jpeg_fill_bit_buffer is called; it will attempt to fill get_buffer * as full as possible (not just to the number of bits needed; this * prefetching reduces the overhead cost of calling jpeg_fill_bit_buffer). * Note that jpeg_fill_bit_buffer may return FALSE to indicate suspension. * On TRUE return, jpeg_fill_bit_buffer guarantees that get_buffer contains * at least the requested number of bits --- dummy zeroes are inserted if * necessary. */typedef INT32 bit_buf_type;	/* type of bit-extraction buffer */#define BIT_BUF_SIZE  32	/* size of buffer in bits *//* If long is > 32 bits on your machine, and shifting/masking longs is * reasonably fast, making bit_buf_type be long and setting BIT_BUF_SIZE * appropriately should be a win.  Unfortunately we can't define the size * with something like  #define BIT_BUF_SIZE (sizeof(bit_buf_type)*8) * because not all machines measure sizeof in 8-bit bytes. */typedef struct {		/* Bitreading state saved across MCUs */  bit_buf_type get_buffer;	/* current bit-extraction buffer */  int bits_left;		/* # of unused bits in it */} bitread_perm_state;typedef struct {		/* Bitreading working state within an MCU */  /* Current data source location */  /* We need a copy, rather than munging the original, in case of suspension */  const JOCTET * next_input_byte; /* => next byte to read from source */  size_t bytes_in_buffer;	/* # of bytes remaining in source buffer */  /* Bit input buffer --- note these values are kept in register variables,   * not in this struct, inside the inner loops.   */  bit_buf_type get_buffer;	/* current bit-extraction buffer */  int bits_left;		/* # of unused bits in it */  /* Pointer needed by jpeg_fill_bit_buffer. */  j_decompress_ptr cinfo;	/* back link to decompress master record */} bitread_working_state;/* Macros to declare and load/save bitread local variables. */#define BITREAD_STATE_VARS  \	register bit_buf_type get_buffer;  \	register int bits_left;  \	bitread_working_state br_state#define BITREAD_LOAD_STATE(cinfop,permstate)  \	br_state.cinfo = cinfop; \	br_state.next_input_byte = cinfop->src->next_input_byte; \	br_state.bytes_in_buffer = cinfop->src->bytes_in_buffer; \	get_buffer = permstate.get_buffer; \	bits_left = permstate.bits_left;#define BITREAD_SAVE_STATE(cinfop,permstate)  \	cinfop->src->next_input_byte = br_state.next_input_byte; \	cinfop->src->bytes_in_buffer = br_state.bytes_in_buffer; \	permstate.get_buffer = get_buffer; \	permstate.bits_left = bits_left/* * These macros provide the in-line portion of bit fetching. * Use CHECK_BIT_BUFFER to ensure there are N bits in get_buffer * before using GET_BITS, PEEK_BITS, or DROP_BITS. * The variables get_buffer and bits_left are assumed to be locals, * but the state struct might not be (jpeg_huff_decode needs this). *	CHECK_BIT_BUFFER(state,n,action); *		Ensure there are N bits in get_buffer; if suspend, take action. *      val = GET_BITS(n); *		Fetch next N bits. *      val = PEEK_BITS(n); *		Fetch next N bits without removing them from the buffer. *	DROP_BITS(n); *		Discard next N bits. * The value N should be a simple variable, not an expression, because it * is evaluated multiple times. */#define CHECK_BIT_BUFFER(state,nbits,action) \	{ if (bits_left < (nbits)) {  \	    if (! jpeg_fill_bit_buffer(&(state),get_buffer,bits_left,nbits))  \	      { action; }  \	    get_buffer = (state).get_buffer; bits_left = (state).bits_left; } }#define GET_BITS(nbits) \	(((int) (get_buffer >> (bits_left -= (nbits)))) & ((1<<(nbits))-1))#define PEEK_BITS(nbits) \	(((int) (get_buffer >> (bits_left -  (nbits)))) & ((1<<(nbits))-1))#define DROP_BITS(nbits) \	(bits_left -= (nbits))/* Load up the bit buffer to a depth of at least nbits */EXTERN(boolean) jpeg_fill_bit_buffer	JPP((bitread_working_state * state, register bit_buf_type get_buffer,	     register int bits_left, int nbits));/* * Code for extracting next Huffman-coded symbol from input bit stream. * Again, this is time-critical and we make the main paths be macros. * * We use a lookahead table to process codes of up to HUFF_LOOKAHEAD bits * without looping.  Usually, more than 95% of the Huffman codes will be 8 * or fewer bits long.  The few overlength codes are handled with a loop, * which need not be inline code. * * Notes about the HUFF_DECODE macro: * 1. Near the end of the data segment, we may fail to get enough bits *    for a lookahead.  In that case, we do it the hard way. * 2. If the lookahead table contains no entry, the next code must be *    more than HUFF_LOOKAHEAD bits long. * 3. jpeg_huff_decode returns -1 if forced to suspend. */#define HUFF_DECODE(result,state,htbl,failaction,slowlabel) \{ register int nb, look; \  if (bits_left < HUFF_LOOKAHEAD) { \    if (! jpeg_fill_bit_buffer(&state,get_buffer,bits_left, 0)) {failaction;} \    get_buffer = state.get_buffer; bits_left = state.bits_left; \    if (bits_left < HUFF_LOOKAHEAD) { \      nb = 1; goto slowlabel; \    } \  } \  look = PEEK_BITS(HUFF_LOOKAHEAD); \  if ((nb = htbl->look_nbits[look]) != 0) { \    DROP_BITS(nb); \    result = htbl->look_sym[look]; \  } else { \    nb = HUFF_LOOKAHEAD+1; \slowlabel: \    if ((result=jpeg_huff_decode(&state,get_buffer,bits_left,htbl,nb)) < 0) \	{ failaction; } \    get_buffer = state.get_buffer; bits_left = state.bits_left; \  } \}/* Out-of-line case for Huffman code fetching */EXTERN(int) jpeg_huff_decode	JPP((bitread_working_state * state, register bit_buf_type get_buffer,	     register int bits_left, d_derived_tbl * htbl, int min_bits));

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区不卡| 国内精品久久久久影院色| 天堂在线一区二区| 国产成人综合网| 欧美猛男gaygay网站| 国产日韩欧美电影| 亚洲成人av在线电影| 国产精品12区| 精品欧美一区二区三区精品久久| 中文字幕一区av| 国内精品写真在线观看| 欧美日韩精品福利| 最新热久久免费视频| 韩国女主播成人在线观看| 欧美视频一区二区三区| 久久精品视频在线看| 日韩成人精品在线观看| 色香蕉久久蜜桃| 国产欧美日韩在线视频| 久久99精品国产.久久久久久| 在线精品视频免费播放| 中文av字幕一区| 韩国v欧美v亚洲v日本v| 3atv一区二区三区| 午夜私人影院久久久久| 91福利社在线观看| 国产精品福利一区| 国产成人在线视频网站| 2021中文字幕一区亚洲| 激情欧美一区二区三区在线观看| 欧美精品日日鲁夜夜添| 亚洲第一激情av| 欧美亚州韩日在线看免费版国语版| 国产精品国产精品国产专区不片| 国产99精品视频| 久久久久国产精品厨房| 国产福利一区二区三区视频在线| 精品少妇一区二区三区在线播放| 轻轻草成人在线| 日韩一级片网址| 日本欧美加勒比视频| 日韩一级欧美一级| 紧缚奴在线一区二区三区| 精品久久久久99| 国产乱码精品一品二品| 久久综合网色—综合色88| 国产乱码精品1区2区3区| 国产午夜精品福利| 成人av网站在线观看免费| 国产精品久久777777| 色爱区综合激月婷婷| 亚洲线精品一区二区三区八戒| 7777精品伊人久久久大香线蕉 | xvideos.蜜桃一区二区| 精品一区二区日韩| 久久久久久毛片| 91小视频在线免费看| 亚洲成av人片一区二区梦乃| 欧美高清www午色夜在线视频| 日本午夜一区二区| 久久久久综合网| 色悠久久久久综合欧美99| 丝袜美腿亚洲一区| 国产色爱av资源综合区| 91蜜桃在线免费视频| 肉丝袜脚交视频一区二区| 欧美电视剧免费全集观看| 国产成人日日夜夜| 亚洲色图第一区| 日韩午夜激情视频| www.在线成人| 日韩精品乱码免费| 国产精品视频线看| 欧美日本一区二区三区四区| 国产精品一区二区免费不卡| 亚洲色图.com| 精品精品国产高清a毛片牛牛 | 91啪亚洲精品| 亚洲bt欧美bt精品| 国产无人区一区二区三区| 欧美三级视频在线观看| 国产精品99久久久久久宅男| 亚洲国产欧美在线人成| 久久精品一区二区三区四区| 色综合天天性综合| 韩国av一区二区三区| 午夜婷婷国产麻豆精品| 中文av一区二区| 91精品国产欧美日韩| 99国产精品99久久久久久| 久久 天天综合| 一区二区三区不卡视频在线观看| 久久久高清一区二区三区| 欧美撒尿777hd撒尿| voyeur盗摄精品| 精品一二三四区| 亚洲国产精品欧美一二99| 中文字幕一区二区三区在线观看| 日韩三级在线观看| 欧美性色综合网| 91免费视频观看| 91小视频在线| 不卡一区在线观看| 国产精品91xxx| 经典三级视频一区| 激情久久五月天| 久久精品理论片| 日韩和的一区二区| 日韩中文字幕一区二区三区| 亚洲欧美区自拍先锋| 中文字幕一区二区三区蜜月| 久久久久久久久岛国免费| 日韩精品一区在线观看| 欧美va亚洲va国产综合| 91精品国产91热久久久做人人| 91黄色免费版| 在线观看欧美精品| 欧洲一区二区三区免费视频| 91丨九色porny丨蝌蚪| 99久久亚洲一区二区三区青草| 成人中文字幕合集| 风间由美性色一区二区三区| 波波电影院一区二区三区| 成人亚洲精品久久久久软件| 成人免费看片app下载| 成人综合婷婷国产精品久久蜜臀 | 精品美女被调教视频大全网站| 制服丝袜激情欧洲亚洲| 欧美电影在线免费观看| 欧美日韩国产一级二级| 日韩视频中午一区| 精品sm在线观看| 欧美国产一区二区| 中文字幕亚洲一区二区va在线| 136国产福利精品导航| 亚洲一区二区三区不卡国产欧美| 亚洲成av人片一区二区三区| 免费日韩伦理电影| 国产一区二区三区不卡在线观看| 国产成人av电影在线| 一本色道久久加勒比精品| 欧美亚洲尤物久久| 91精品国产高清一区二区三区 | 精品三级在线看| 国产欧美日产一区| 一区二区三区欧美在线观看| 日韩精品1区2区3区| 国产一区视频在线看| 99精品视频一区二区三区| 欧美偷拍一区二区| 久久久久久日产精品| 亚洲精品免费播放| 美女视频黄 久久| 成人小视频在线观看| 欧美乱妇15p| 国产欧美日产一区| 亚洲mv在线观看| 国产激情一区二区三区桃花岛亚洲| 成人sese在线| 欧美一区二区免费视频| 国产婷婷色一区二区三区在线| 亚洲一区二区三区中文字幕| 激情综合色播五月| 日本韩国一区二区| 欧美videos中文字幕| 一区二区三区四区不卡在线| 国产一区在线看| 欧美男女性生活在线直播观看| 国产女人aaa级久久久级| 午夜视频在线观看一区二区三区| 成人听书哪个软件好| 欧美片在线播放| 亚洲美女屁股眼交3| 国产成人亚洲精品狼色在线| 4438x亚洲最大成人网| 亚洲激情图片一区| 国产成人免费av在线| 日韩精品一区二区三区中文不卡| 一区二区不卡在线播放| 国产成人免费xxxxxxxx| 欧美刺激午夜性久久久久久久| 亚洲韩国精品一区| 91热门视频在线观看| 国产精品美女久久久久久| 精品在线免费观看| 欧美欧美午夜aⅴ在线观看| 亚洲视频你懂的| 不卡高清视频专区| 国产亚洲婷婷免费| 精品影视av免费| 69堂国产成人免费视频| 亚洲在线免费播放| 91日韩精品一区| 亚洲精品自拍动漫在线| av资源网一区| 中文字幕在线一区免费| 丁香啪啪综合成人亚洲小说 | 免费亚洲电影在线| 欧美日韩国产系列| 日韩在线a电影|