⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huffman.h

📁 魔兽2Linux版
💻 H
字号:
//==========================================================================////  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR//  PURPOSE.////  Copyright (c) 1999 - 2001  On2 Technologies Inc. All Rights Reserved.////--------------------------------------------------------------------------/******************************************************************************   Module Title :     Huffman.h**   Description  :     Video CODEC********************************************************************************/#ifndef HUFFMAN_H#define HUFFMAN_H#include "type_aliases.h"/*****************************************************************************  Constants******************************************************************************/#define NUM_HUFF_TABLES         80#define DC_HUFF_OFFSET          0#define AC_HUFF_OFFSET          16#define AC_TABLE_2_THRESH       5#define AC_TABLE_3_THRESH       14#define AC_TABLE_4_THRESH       27#define DC_HUFF_CHOICES         16#define DC_HUFF_CHOICE_BITS     4#define AC_HUFF_CHOICES         16#define AC_HUFF_CHOICE_BITS     4// Constants assosciated with entropy tokenisation. #define MAX_SINGLE_TOKEN_VALUE  6#define DCT_VAL_CAT2_MIN        3#define DCT_VAL_CAT3_MIN        7#define DCT_VAL_CAT4_MIN        9#define DCT_VAL_CAT5_MIN        13#define DCT_VAL_CAT6_MIN        21#define DCT_VAL_CAT7_MIN        37#define DCT_VAL_CAT8_MIN        69#define DCT_EOB_TOKEN           0#define DCT_EOB_PAIR_TOKEN      1#define DCT_EOB_TRIPLE_TOKEN    2#define DCT_REPEAT_RUN_TOKEN    3#define DCT_REPEAT_RUN2_TOKEN   4#define DCT_REPEAT_RUN3_TOKEN   5#define DCT_REPEAT_RUN4_TOKEN   6#define DCT_SHORT_ZRL_TOKEN     7#define DCT_ZRL_TOKEN           8#define ONE_TOKEN               9       // Special tokens for -1,1,-2,2#define MINUS_ONE_TOKEN         10 #define TWO_TOKEN               11 #define MINUS_TWO_TOKEN         12 #define LOW_VAL_TOKENS          (MINUS_TWO_TOKEN + 1)#define DCT_VAL_CATEGORY3       (LOW_VAL_TOKENS + 4)#define DCT_VAL_CATEGORY4       (DCT_VAL_CATEGORY3 + 1)#define DCT_VAL_CATEGORY5       (DCT_VAL_CATEGORY4 + 1)#define DCT_VAL_CATEGORY6       (DCT_VAL_CATEGORY5 + 1)#define DCT_VAL_CATEGORY7       (DCT_VAL_CATEGORY6 + 1)#define DCT_VAL_CATEGORY8       (DCT_VAL_CATEGORY7 + 1)#define DCT_RUN_CATEGORY1       (DCT_VAL_CATEGORY8 + 1)#define DCT_RUN_CATEGORY1B      (DCT_RUN_CATEGORY1 + 5)#define DCT_RUN_CATEGORY1C      (DCT_RUN_CATEGORY1B + 1)#define DCT_RUN_CATEGORY2       (DCT_RUN_CATEGORY1C + 1)// 35#define MAX_ENTROPY_TOKENS      (DCT_RUN_CATEGORY2 + 2)  /*****************************************************************************  Types******************************************************************************/  typedef char * HUFF_ENTRY_PTR;typedef struct {                HUFF_ENTRY_PTR ZeroChild;    HUFF_ENTRY_PTR OneChild;    HUFF_ENTRY_PTR Previous;    HUFF_ENTRY_PTR Next;    INT32          Value;    UINT32         Frequency;    } HUFF_ENTRY; /*****************************************************************************   Data structures******************************************************************************/extern UINT8    ExtraBitLengths_VP31[MAX_ENTROPY_TOKENS];/*****************************************************************************  Functions******************************************************************************/#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -