1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 /* 19 20 Pathname: ./include/e_HuffmanConst.h 21 22 ------------------------------------------------------------------------------ 23 REVISION HISTORY 24 25 Who: Date: 26 Description: 27 28 ------------------------------------------------------------------------------ 29 INCLUDE DESCRIPTION 30 31 enum for Huffman related constants 32 33 ------------------------------------------------------------------------------ 34 */ 35 36 /*---------------------------------------------------------------------------- 37 ; CONTINUE ONLY IF NOT ALREADY DEFINED 38 ----------------------------------------------------------------------------*/ 39 #ifndef E_HUFFMAN_CONST_H 40 #define E_HUFFMAN_CONST_H 41 42 /*---------------------------------------------------------------------------- 43 ; INCLUDES 44 ----------------------------------------------------------------------------*/ 45 46 /*---------------------------------------------------------------------------- 47 ; MACROS 48 ; Define module specific macros here 49 ----------------------------------------------------------------------------*/ 50 51 /*---------------------------------------------------------------------------- 52 ; DEFINES 53 ; Include all pre-processor statements here. 54 ----------------------------------------------------------------------------*/ 55 56 /*---------------------------------------------------------------------------- 57 ; EXTERNAL VARIABLES REFERENCES 58 ; Declare variables used in this module but defined elsewhere 59 ----------------------------------------------------------------------------*/ 60 61 /*---------------------------------------------------------------------------- 62 ; SIMPLE TYPEDEF'S 63 ----------------------------------------------------------------------------*/ 64 65 /*---------------------------------------------------------------------------- 66 ; ENUMERATED TYPEDEF'S 67 ----------------------------------------------------------------------------*/ 68 typedef enum 69 { 70 /* 71 * specify huffman tables as signed (1) or unsigned (0) 72 */ 73 HUF1SGN = 1, 74 HUF2SGN = 1, 75 HUF3SGN = 0, 76 HUF4SGN = 0, 77 HUF5SGN = 1, 78 HUF6SGN = 1, 79 HUF7SGN = 0, 80 HUF8SGN = 0, 81 HUF9SGN = 0, 82 HUF10SGN = 0, 83 HUF11SGN = 0, 84 85 ZERO_HCB = 0, 86 BY4BOOKS = 4, 87 ESCBOOK = 11, 88 NSPECBOOKS = ESCBOOK + 1, 89 BOOKSCL = NSPECBOOKS, 90 NBOOKS = NSPECBOOKS + 1, 91 INTENSITY_HCB2 = 14, 92 INTENSITY_HCB = 15, 93 NOISE_HCB = 13, 94 NOISE_HCB2 = 113, 95 96 NOISE_PCM_BITS = 9, 97 NOISE_PCM_OFFSET = (1 << (NOISE_PCM_BITS - 1)), 98 99 NOISE_OFFSET = 90, 100 101 LONG_SECT_BITS = 5, 102 SHORT_SECT_BITS = 3 103 } eHuffmanConst; 104 105 /*---------------------------------------------------------------------------- 106 ; STRUCTURES TYPEDEF'S 107 ----------------------------------------------------------------------------*/ 108 109 /*---------------------------------------------------------------------------- 110 ; GLOBAL FUNCTION DEFINITIONS 111 ; Function Prototype declaration 112 ----------------------------------------------------------------------------*/ 113 114 /*---------------------------------------------------------------------------- 115 ; END 116 ----------------------------------------------------------------------------*/ 117 #endif 118 119 120