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

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

?? decoders.h

?? 32位操作系統(tǒng)OS/2的MPEG播放機(jī)
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (c) 1992 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 {  unsigned 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[128];/* External declaration of dct dc size chrom table. */extern dct_dc_size_entry dct_dc_size_chrominance[256];/* 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_bits7(index);                              \                                                     \  macro_val = dct_dc_size_luminance[index].value;       \                                                     \  flush_bits(dct_dc_size_luminance[index].num_bits); \}#define DecodeDCTDCSizeChrom(macro_val)                      \{                                                        \  unsigned int index;                                    \                                                         \  show_bits8(index);                                  \                                                         \  macro_val = dct_dc_size_chrominance[index].value;         \                                                         \  flush_bits(dct_dc_size_chrominance[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 {								\    if (index == 2) { 							\      /* show_bits10(index); */						\      index = next32bits >> 22;						\      value = dct_coeff_tbl_2[index & 3];				\    }									\    else if (index == 3) { 						\      /* show_bits10(index); */						\

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文字幕在线观看| 日本电影欧美片| 欧美电影影音先锋| 秋霞午夜鲁丝一区二区老狼| 在线免费观看成人短视频| 一区二区三国产精华液| 91女人视频在线观看| 一区二区三区四区在线免费观看 | 欧美综合色免费| 亚洲精品一二三| 欧美色区777第一页| 久久国产福利国产秒拍| 久久麻豆一区二区| 成人app软件下载大全免费| 国产精品麻豆一区二区| 在线观看不卡视频| 国产在线精品一区二区| 亚洲欧美成aⅴ人在线观看 | 色综合咪咪久久| 亚洲大片一区二区三区| 欧美精品一区二区高清在线观看| 成人做爰69片免费看网站| 一区二区三区精品视频| 日韩免费视频一区| 99精品久久免费看蜜臀剧情介绍| 日本aⅴ精品一区二区三区 | 中文字幕国产一区二区| 欧美精品一卡二卡| 盗摄精品av一区二区三区| 日韩精品福利网| 亚洲免费大片在线观看| 国产欧美日韩激情| 欧美性大战久久| 色综合 综合色| 国产一区二区三区不卡在线观看| 亚洲国产精品一区二区久久| 亚洲欧美另类久久久精品2019| 久久久www免费人成精品| 欧美色涩在线第一页| 日本乱人伦aⅴ精品| 91视频在线看| 91成人网在线| 欧美另类一区二区三区| 欧美日韩在线三区| 欧美日本国产视频| 在线精品观看国产| 欧美在线视频日韩| 色婷婷综合久久久久中文一区二区| 国产69精品久久久久毛片 | 亚洲成av人片观看| 一区av在线播放| 亚洲影院在线观看| 日韩精品国产欧美| 一区二区三区不卡视频 | 欧美一区二视频| 欧美久久久久久久久中文字幕| 95精品视频在线| 成人国产在线观看| 色乱码一区二区三区88| 欧美精品免费视频| 久久久综合精品| 亚洲国产一区二区视频| 久久国内精品视频| 欧美日韩一区在线观看| 91在线无精精品入口| 成人精品高清在线| 日韩一区二区在线观看| 中文字幕一区二区在线播放 | 伊人婷婷欧美激情| 狠狠v欧美v日韩v亚洲ⅴ| 成人免费毛片app| 欧美日韩一卡二卡| 亚洲国产成人在线| 日本系列欧美系列| 91理论电影在线观看| 久久久久久久久99精品| 亚洲一区二区成人在线观看| 一本大道久久a久久精品综合| 欧美一区二区三区视频在线观看| 亚洲国产激情av| 日韩精品久久理论片| 色狠狠av一区二区三区| 中文字幕免费不卡在线| 蜜桃视频在线观看一区| 在线不卡中文字幕播放| 亚洲免费观看在线观看| 95精品视频在线| 亚洲三级免费电影| 本田岬高潮一区二区三区| 久久婷婷色综合| 喷白浆一区二区| 欧美一卡二卡在线观看| 成人a区在线观看| 国产精品欧美综合在线| 国产丶欧美丶日本不卡视频| 国产三级欧美三级日产三级99| 精品一区二区三区在线观看| 精品三级在线看| 国产宾馆实践打屁股91| 国产精品黄色在线观看| 99re热这里只有精品视频| √…a在线天堂一区| 色综合久久99| 午夜欧美2019年伦理| 欧美电影免费观看完整版| 久久精品国产精品亚洲精品| 国产亚洲欧洲一区高清在线观看| 成人午夜又粗又硬又大| 最新日韩av在线| 欧美视频精品在线| 寂寞少妇一区二区三区| 国产精品理伦片| 欧美日韩aaa| 国产v综合v亚洲欧| 亚洲无线码一区二区三区| 久久久久9999亚洲精品| 欧美色手机在线观看| 韩国视频一区二区| 亚洲狼人国产精品| 精品捆绑美女sm三区| 一本久道久久综合中文字幕 | 国产日韩欧美高清在线| 欧美日韩久久一区二区| 国产精品羞羞答答xxdd| 日韩精品一级二级| 亚洲丝袜美腿综合| 久久先锋资源网| 欧美精品xxxxbbbb| 色偷偷一区二区三区| 国产91丝袜在线播放九色| 美脚の诱脚舐め脚责91| 亚洲国产成人porn| 1024精品合集| 久久影院午夜论| 欧美一区二区三区电影| 欧美日韩国产一区| 91老司机福利 在线| 99热在这里有精品免费| 国产精品性做久久久久久| 精品综合免费视频观看| 99国产精品久久久久久久久久久| 国产精品1区二区.| 成人午夜免费视频| 成人18视频日本| 91丝袜国产在线播放| 成人的网站免费观看| 色婷婷激情综合| 欧美精选在线播放| 欧美一区二区三区不卡| 久久久久久久综合色一本| 精品国产一区二区亚洲人成毛片| 精品日产卡一卡二卡麻豆| 国产欧美精品一区二区三区四区| 久久综合色鬼综合色| 中文字幕的久久| 国产精品911| 在线视频你懂得一区| 欧美一区二区播放| 中文字幕精品综合| 国产精品白丝av| 欧美专区在线观看一区| 日韩精品一区二区在线| 日本大胆欧美人术艺术动态| 国产揄拍国内精品对白| 99精品偷自拍| 日韩视频在线永久播放| 国产精品成人免费| 91在线观看一区二区| 91精品国产综合久久精品| 国产亚洲美州欧州综合国| 视频一区中文字幕国产| 成人动漫一区二区| 精品日韩欧美在线| 天天免费综合色| 91香蕉视频污在线| 欧美经典一区二区三区| 色综合天天综合色综合av| av中文字幕不卡| 精品国产污污免费网站入口| 亚洲成人www| 日本乱人伦aⅴ精品| 一区二区三区欧美在线观看| 国产中文一区二区三区| 欧美日韩国产美女| 亚洲国产乱码最新视频| 制服丝袜日韩国产| 国产精品一区二区无线| 国产精品久久久久aaaa| 色先锋资源久久综合| 日韩精品久久理论片| 国产亚洲综合色| 欧美在线一区二区| 国产大陆a不卡| 日韩av在线播放中文字幕| 国产精品久久影院| 欧美久久久久免费| 不卡的av中国片| 免费精品视频在线| 自拍视频在线观看一区二区| 欧美一级电影网站|