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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? decoders.h

?? MPEG2 PLAYER in linux
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (c) 1995 The Regents of the University of California. * All rights reserved. *  * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice and the following * two paragraphs appear in all copies of this software. *  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. *//* * decoders.h * * This file contains the declarations of structures required for Huffman * decoding * *//* Include util.h for bit i/o parsing macros. */#include "util.h"/* Code for unbound values in decoding tables */#define ERROR (-1)#define DCT_ERROR 63#define MACRO_BLOCK_STUFFING 34#define MACRO_BLOCK_ESCAPE 35/* Two types of DCT Coefficients */#define DCT_COEFF_FIRST 0#define DCT_COEFF_NEXT 1/* Special values for DCT Coefficients */#define END_OF_BLOCK 62#define ESCAPE 61/* Structure for an entry in the decoding table of  * macroblock_address_increment */typedef struct {  int value;       /* value for macroblock_address_increment */  int num_bits;             /* length of the Huffman code */} mb_addr_inc_entry;/* Decoding table for macroblock_address_increment */extern mb_addr_inc_entry mb_addr_inc[2048];/* Structure for an entry in the decoding table of macroblock_type */typedef struct {  unsigned int mb_quant;              /* macroblock_quant */  unsigned int mb_motion_forward;     /* macroblock_motion_forward */  unsigned int mb_motion_backward;    /* macroblock_motion_backward */  unsigned int mb_pattern;            /* macroblock_pattern */  unsigned int mb_intra;              /* macroblock_intra */  int num_bits;                       /* length of the Huffman code */} mb_type_entry;/* Decoding table for macroblock_type in predictive-coded pictures */extern mb_type_entry mb_type_P[64];/* Decoding table for macroblock_type in bidirectionally-coded pictures */extern mb_type_entry mb_type_B[64];/* Structures for an entry in the decoding table of coded_block_pattern */typedef struct {  unsigned int cbp;            /* coded_block_pattern */  int num_bits;                /* length of the Huffman code */} coded_block_pattern_entry;/* External declaration of coded block pattern table. */extern coded_block_pattern_entry coded_block_pattern[512];/* Structure for an entry in the decoding table of motion vectors */typedef struct {  int code;              /* value for motion_horizontal_forward_code,			  * motion_vertical_forward_code, 			  * motion_horizontal_backward_code, or			  * motion_vertical_backward_code.			  */  int num_bits;          /* length of the Huffman code */} motion_vectors_entry;/* Decoding table for motion vectors */extern motion_vectors_entry motion_vectors[2048];/* Structure for an entry in the decoding table of dct_dc_size */typedef struct {  unsigned int value;    /* value of dct_dc_size (luminance or chrominance) */  int num_bits;          /* length of the Huffman code */} dct_dc_size_entry;/* External declaration of dct dc size lumiance table. */extern dct_dc_size_entry dct_dc_size_luminance[32];extern dct_dc_size_entry dct_dc_size_luminance1[16];/* External declaration of dct dc size chrom table. */extern dct_dc_size_entry dct_dc_size_chrominance[32];extern dct_dc_size_entry dct_dc_size_chrominance1[32];/* DCT coeff tables. */#define RUN_MASK 0xfc00#define LEVEL_MASK 0x03f0#define NUM_MASK 0x000f#define RUN_SHIFT 10#define LEVEL_SHIFT 4/* External declaration of dct coeff tables. */extern unsigned short int dct_coeff_tbl_0[256];extern unsigned short int dct_coeff_tbl_1[16];extern unsigned short int dct_coeff_tbl_2[4];extern unsigned short int dct_coeff_tbl_3[4];extern unsigned short int dct_coeff_next[256];extern unsigned short int dct_coeff_first[256];#define DecodeDCTDCSizeLum(macro_val)                    \{                                                    \  unsigned int index;	\	\  show_bits5(index);	\  	\  if (index < 31) {	\  	macro_val = dct_dc_size_luminance[index].value;	\  	flush_bits(dct_dc_size_luminance[index].num_bits);	\  }	\  else {	\	show_bits9(index);	\	index -= 0x1f0;	\	macro_val = dct_dc_size_luminance1[index].value;	\	flush_bits(dct_dc_size_luminance1[index].num_bits);	\  }	\}#define DecodeDCTDCSizeChrom(macro_val)                      \{                                                        \  unsigned int index;	\	\  show_bits5(index);	\  	\  if (index < 31) {	\  	macro_val = dct_dc_size_chrominance[index].value;	\  	flush_bits(dct_dc_size_chrominance[index].num_bits);	\  }	\  else {	\	show_bits10(index);	\	index -= 0x3e0;	\	macro_val = dct_dc_size_chrominance1[index].value;	\	flush_bits(dct_dc_size_chrominance1[index].num_bits);	\  }	\}#define DecodeDCTCoeff(dct_coeff_tbl, run, level)			\{									\  unsigned int temp, index;						\  unsigned int value, next32bits, flushed;				\									\  /*									\   * Grab the next 32 bits and use it to improve performance of		\   * getting the bits to parse. Thus, calls are translated as:		\   *									\   *	show_bitsX  <-->   next32bits >> (32-X)				\   *	get_bitsX   <-->   val = next32bits >> (32-flushed-X);		\   *			   flushed += X;				\   *			   next32bits &= bitMask[flushed];		\   *	flush_bitsX <-->   flushed += X;				\   *			   next32bits &= bitMask[flushed];		\   *									\   * I've streamlined the code a lot, so that we don't have to mask	\   * out the low order bits and a few of the extra adds are removed.	\   */									\  show_bits32(next32bits);						\									\  /* show_bits8(index); */						\  index = next32bits >> 24;						\									\  if (index > 3) {							\    value = dct_coeff_tbl[index];					\    run = value >> RUN_SHIFT;						\    if (run != END_OF_BLOCK) {						\      /* num_bits = (value & NUM_MASK) + 1; */				\      /* flush_bits(num_bits); */					\      if (run != ESCAPE) {						\	 /* get_bits1(value); */					\	 /* if (value) level = -level; */				\	 flushed = (value & NUM_MASK) + 2;				\         level = (value & LEVEL_MASK) >> LEVEL_SHIFT;			\	 value = next32bits >> (32-flushed);				\	 value &= 0x1;							\	 if (value) level = -level;					\	 /* next32bits &= ((~0) >> flushed);  last op before update */	\       }								\       else {    /* run == ESCAPE */					\	 /* Get the next six into run, and next 8 into temp */		\         /* get_bits14(temp); */					\	 flushed = (value & NUM_MASK) + 1;				\	 temp = next32bits >> (18-flushed);				\	 /* Normally, we'd ad 14 to flushed, but I've saved a few	\	  * instr by moving the add below */				\	 temp &= 0x3fff;						\	 run = temp >> 8;						\	 temp &= 0xff;							\	 if (temp == 0) {						\            /* get_bits8(level); */					\	    level = next32bits >> (10-flushed);				\	    level &= 0xff;						\	    flushed += 22;						\ 	    assert(level >= 128);					\	 } else if (temp != 128) {					\	    /* Grab sign bit */						\	    flushed += 14;						\	    level = ((int) (temp << 24)) >> 24;				\	 } else {							\            /* get_bits8(level); */					\	    level = next32bits >> (10-flushed);				\	    level &= 0xff;						\	    flushed += 22;						\	    level = level - 256;					\	    assert(level <= -128 && level >= -255);			\	 }								\       }								\       /* Update bitstream... */					\       flush_bits(flushed);						\       assert (flushed <= 32);						\    }									\  }									\  else {								\    switch (index) {                                                    \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女高潮久久久| 久久久久久久网| 欧美精品一区二区三区很污很色的 | 色婷婷久久一区二区三区麻豆| 4438成人网| 又紧又大又爽精品一区二区| 国产精品1区2区| 欧美一区午夜精品| 亚洲国产视频一区二区| 成人激情电影免费在线观看| 日韩精品一区二区三区四区| 亚洲电影欧美电影有声小说| www.欧美亚洲| 久久精品视频在线看| 日日夜夜免费精品| 欧美丝袜自拍制服另类| 亚洲欧洲综合另类在线| 成人av网站在线| 国产婷婷色一区二区三区| 久久电影网站中文字幕| 欧美一三区三区四区免费在线看| 亚洲自拍都市欧美小说| 色综合久久久久久久久久久| 国产精品国产三级国产普通话99 | 一本色道综合亚洲| 中文字幕的久久| 丰满亚洲少妇av| 国产精品拍天天在线| 国产**成人网毛片九色| 国产偷国产偷精品高清尤物| 国内精品久久久久影院色 | 精品一区二区影视| 日韩午夜三级在线| 精品一区二区三区影院在线午夜| 欧美一区二区免费视频| 日韩av在线发布| 日韩精品一区二区三区四区| 免费成人结看片| 欧美成人精品福利| 国产精品1区2区3区在线观看| 久久久无码精品亚洲日韩按摩| 看电影不卡的网站| 久久综合久久综合亚洲| 国内精品久久久久影院一蜜桃| 久久久久久久久免费| 风间由美一区二区av101| 国产精品萝li| 色综合激情久久| 日韩精品国产欧美| 精品日韩一区二区三区免费视频| 国内成+人亚洲+欧美+综合在线| 久久一区二区三区国产精品| 懂色av一区二区三区蜜臀| 亚洲欧美在线aaa| 欧美视频在线一区| 日一区二区三区| 久久女同性恋中文字幕| thepron国产精品| 午夜欧美视频在线观看| 欧美xxxxx牲另类人与| 成人永久看片免费视频天堂| 亚洲精品乱码久久久久久| 88在线观看91蜜桃国自产| 国产成人超碰人人澡人人澡| 亚洲精品国产一区二区精华液| 欧美精品777| 风间由美性色一区二区三区| 亚洲成人激情综合网| www激情久久| 精品视频一区三区九区| 高潮精品一区videoshd| 亚洲一区二区三区四区在线观看| 精品三级在线看| 一本久久精品一区二区| 九九热在线视频观看这里只有精品| 亚洲欧洲av另类| 欧美tickling挠脚心丨vk| 色哟哟国产精品| 国产乱码字幕精品高清av | 国产一区激情在线| 一区二区三区精品久久久| 亚洲精品一线二线三线| 欧美性受xxxx黑人xyx性爽| 国产一区二区导航在线播放| 亚洲国产精品尤物yw在线观看| 欧美激情在线看| 日韩免费电影网站| 欧美精品在线观看播放| 色综合久久久久综合体| 国产成人av一区二区三区在线| 丝袜诱惑制服诱惑色一区在线观看| 国产精品福利av| 久久久99精品久久| 欧美一卡二卡在线观看| 欧美日韩一区精品| 色av成人天堂桃色av| 成人性生交大片| 国内精品视频666| 强制捆绑调教一区二区| 午夜精品免费在线| 国产精品久久久久国产精品日日| 欧美精品一区二区在线观看| 日韩欧美一二三| 91精品国产综合久久久久久久 | 北条麻妃国产九九精品视频| 久久99久久久久| 开心九九激情九九欧美日韩精美视频电影 | 色婷婷国产精品久久包臀| 成人免费电影视频| 懂色中文一区二区在线播放| 国产成人av一区二区三区在线 | 99久久国产综合精品女不卡| 国产不卡视频在线播放| 国产乱国产乱300精品| 国产伦精品一区二区三区免费迷| 美腿丝袜一区二区三区| 久久99国产精品麻豆| 狠狠网亚洲精品| 国产乱国产乱300精品| 丰满亚洲少妇av| 93久久精品日日躁夜夜躁欧美| a4yy欧美一区二区三区| 91捆绑美女网站| 欧美日免费三级在线| 91麻豆精品久久久久蜜臀| 日韩精品资源二区在线| 久久久久久9999| 欧美激情综合五月色丁香| 中文字幕一区二区三区在线不卡| 国产精品美女久久福利网站| ㊣最新国产の精品bt伙计久久| ...av二区三区久久精品| 亚洲一线二线三线久久久| 日韩精品国产欧美| 国产经典欧美精品| 91黄色免费版| 欧美成人猛片aaaaaaa| 国产精品久久网站| 亚洲综合在线五月| 黄网站免费久久| 一本色道久久综合亚洲91| 欧美日韩亚洲综合一区| 久久人人超碰精品| 日韩美女啊v在线免费观看| 亚洲韩国一区二区三区| 国内精品写真在线观看| 日韩三级视频在线看| 欧美韩国日本综合| 亚洲午夜日本在线观看| 国产乱码精品一区二区三区忘忧草 | 午夜精品视频在线观看| 国产精品伊人色| 国产亚洲精品资源在线26u| 日韩美女视频一区二区| 美国三级日本三级久久99| www.日韩大片| 欧美成人午夜电影| 亚洲精品精品亚洲| 国产精品亚洲视频| 欧美日韩激情一区二区| 中文字幕精品—区二区四季| 日本欧美久久久久免费播放网| 成人黄色软件下载| 精品动漫一区二区三区在线观看| 亚洲日本韩国一区| 国产成人午夜片在线观看高清观看| 精品视频资源站| 亚洲人被黑人高潮完整版| 狠狠狠色丁香婷婷综合久久五月| 欧美亚洲综合色| 国产精品久久三区| 国产乱一区二区| 日韩欧美成人一区| 亚洲国产精品一区二区久久恐怖片 | 亚洲男人天堂一区| 国产成人aaaa| 精品国产亚洲一区二区三区在线观看| 亚洲日本一区二区| 国产成人亚洲综合a∨婷婷| 欧美电影免费观看完整版| 午夜精品久久久久久| 在线看日本不卡| 亚洲精品欧美激情| 91啪亚洲精品| 日韩理论片中文av| proumb性欧美在线观看| 欧美激情中文字幕一区二区| 黑人精品欧美一区二区蜜桃| 日韩一区二区免费高清| 亚洲国产精品一区二区www在线| 色拍拍在线精品视频8848| 综合电影一区二区三区| 成人性色生活片| 国产精品美女久久久久久| 成人av影视在线观看| 国产精品久久久久久久久久久免费看 | 亚洲精品一区二区三区影院| 久久精品国产99| 欧美tickle裸体挠脚心vk| 精品一区二区免费在线观看|