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

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

?? decoders.h

?? 32位操作系統(tǒng)OS/2的MPEG播放機
?? 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); */						\

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品免费在线播放| 懂色av一区二区夜夜嗨| 蜜臀精品久久久久久蜜臀| 免费成人在线观看视频| 亚洲综合999| 奇米888四色在线精品| 久久99国产精品久久99| 久久99精品国产| 亚洲欧美激情视频在线观看一区二区三区 | 99国产精品视频免费观看| 91在线国内视频| 久久精品72免费观看| 午夜伦理一区二区| 裸体在线国模精品偷拍| 国产经典欧美精品| 粉嫩aⅴ一区二区三区四区五区| bt7086福利一区国产| 在线观看日韩av先锋影音电影院| 色综合一个色综合| 这里只有精品99re| 中文字幕av在线一区二区三区| 亚洲激情自拍视频| 中文字幕一区二区在线播放| 亚洲永久免费av| 中文字幕乱码亚洲精品一区 | 91网站最新地址| 99久久久免费精品国产一区二区| 国产精品一区在线| 欧美日免费三级在线| 一区二区三区四区乱视频| 欧美日韩黄色一区二区| 国产精品资源网站| 亚洲欧美日韩国产成人精品影院 | 风间由美中文字幕在线看视频国产欧美| 国产成人精品一区二区三区四区 | 伊人一区二区三区| 国产精品嫩草99a| 免费欧美日韩国产三级电影| 成人激情小说网站| www.日本不卡| 丰满少妇久久久久久久| 久久―日本道色综合久久| 精品国产欧美一区二区| 91精品福利视频| 日韩免费看网站| 奇米亚洲午夜久久精品| 久久99精品久久久久久久久久久久 | 精品国产1区2区3区| 日韩国产在线一| 日韩成人一级大片| 国产成人自拍网| 久久99久久精品| 国产河南妇女毛片精品久久久| 久久国产精品99久久久久久老狼| 国产成人午夜99999| av网站免费线看精品| 国产网红主播福利一区二区| 亚洲欧洲日韩一区二区三区| 国产成人av电影| 欧美日韩高清不卡| 亚洲欧美一区二区三区久本道91| 成人在线综合网站| 色偷偷88欧美精品久久久| 国产一区二区三区在线观看精品| 欧美日韩亚洲综合在线| 日本v片在线高清不卡在线观看| 欧美综合一区二区| 成人美女视频在线看| 中文字幕在线一区二区三区| 国产美女视频一区| 日本不卡一区二区| 青青草国产精品亚洲专区无| 精品亚洲成a人| 国产经典欧美精品| 制服丝袜中文字幕一区| 亚洲综合男人的天堂| 全国精品久久少妇| 欧美亚洲综合另类| 亚洲丝袜精品丝袜在线| 一本久道久久综合中文字幕| 国产人成一区二区三区影院| 国内精品嫩模私拍在线| 久久综合给合久久狠狠狠97色69| 青青草国产成人av片免费| 欧美性猛交xxxx乱大交退制版 | 欧美一区二区三区四区久久| 日韩亚洲国产中文字幕欧美| 国产女人aaa级久久久级| 国产综合色在线| 欧美精品一区二区三区蜜桃| 国产成人小视频| 国产性天天综合网| 成人一道本在线| 精品播放一区二区| 国产麻豆午夜三级精品| 色94色欧美sute亚洲线路二 | 国产精品18久久久久久久网站| 91电影在线观看| 国产日韩欧美高清在线| 日本在线播放一区二区三区| 精品理论电影在线| 毛片av一区二区| 精品久久久网站| 国产精品二区一区二区aⅴ污介绍| 色狠狠一区二区| 国产偷国产偷亚洲高清人白洁| 国产一二三精品| 久久久综合视频| av在线不卡网| 亚洲一区二区视频| 不卡视频一二三| 国产欧美精品一区| 色综合中文字幕| 国产精品天干天干在观线| 久久精品国产澳门| 国产精品你懂的| 欧美最新大片在线看| 日韩高清电影一区| 欧美大尺度电影在线| 三级精品在线观看| 欧美主播一区二区三区美女| 五月天网站亚洲| 色狠狠综合天天综合综合| 中文字幕国产精品一区二区| 麻豆一区二区三| 欧美韩国一区二区| 天堂影院一区二区| 国产欧美日韩久久| 国产精品一二三| 精品国产乱码久久久久久老虎| 国产成人日日夜夜| 天天综合天天做天天综合| 2020国产精品自拍| 色天天综合色天天久久| 91精品国产综合久久婷婷香蕉| 精品影视av免费| 中文字幕一区二区三区精华液| 欧美吻胸吃奶大尺度电影| 韩国三级中文字幕hd久久精品| 亚洲国产一区二区三区青草影视| 欧美视频一区二区三区| 国产激情偷乱视频一区二区三区| 午夜精品福利一区二区蜜股av| **性色生活片久久毛片| 欧美性猛片xxxx免费看久爱| 福利电影一区二区三区| 久久 天天综合| 日欧美一区二区| 亚洲综合丁香婷婷六月香| 国产精品美女www爽爽爽| 日韩欧美另类在线| 欧美日韩免费一区二区三区视频| 粉嫩在线一区二区三区视频| 亚洲伦理在线免费看| 欧美国产日产图区| 精品美女在线播放| 制服丝袜日韩国产| 欧美体内she精高潮| 日韩—二三区免费观看av| 一区二区三区色| 中文字幕一区在线观看| 555夜色666亚洲国产免| 国产成人在线观看| 久久99国产乱子伦精品免费| 日韩av在线发布| 午夜成人免费电影| 国产精品免费看片| 国产午夜精品在线观看| 精品国产一区二区三区忘忧草| 91香蕉国产在线观看软件| 成人精品电影在线观看| 粉嫩高潮美女一区二区三区| 国产精品中文欧美| 国产一区欧美日韩| 久久99久久精品欧美| 久久疯狂做爰流白浆xx| 麻豆成人av在线| 亚洲最大色网站| 亚洲国产欧美一区二区三区丁香婷| 久久只精品国产| 欧美精品丝袜久久久中文字幕| 欧美日韩一级大片网址| 精品视频在线看| 欧美日韩国产精选| 欧美一区二区三区人| 99久久er热在这里只有精品15| 免费看日韩a级影片| 日本免费在线视频不卡一不卡二| 国产精品久久久久久户外露出| 中文字幕亚洲一区二区av在线| 国产精品免费网站在线观看| 精品乱人伦小说| 337p粉嫩大胆噜噜噜噜噜91av| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩一级精品视频在线观看| 国产精品成人一区二区艾草| 国产精品福利一区二区三区| 久久人人爽爽爽人久久久| 国产欧美日韩久久| 久久综合九色欧美综合狠狠|