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: hcbtables.h 21 22 ------------------------------------------------------------------------------ 23 REVISION HISTORY 24 25 Description: (1) Add declaration of binary tree tables 26 (2) #if optimized Linear Search Huffman decoding 27 28 Description: Modified per review comments 29 (1) delete #if optimized Linear Search Huffman decoding 30 (2) modified copyright header 31 32 Description: (1) Add declaration different huffman tables 33 34 Who: Date: 35 Description: 36 37 ------------------------------------------------------------------------------ 38 INCLUDE DESCRIPTION 39 40 Declare the structure array for Huffman Codebooks information. 41 42 ------------------------------------------------------------------------------ 43 */ 44 45 /*---------------------------------------------------------------------------- 46 ; CONTINUE ONLY IF NOT ALREADY DEFINED 47 ----------------------------------------------------------------------------*/ 48 #ifndef _HCBTABLES_H 49 #define _HCBTABLES_H 50 51 #ifdef __cplusplus 52 extern "C" 53 { 54 #endif 55 56 /*---------------------------------------------------------------------------- 57 ; INCLUDES 58 ----------------------------------------------------------------------------*/ 59 #include "s_hcb.h" 60 61 /*---------------------------------------------------------------------------- 62 ; MACROS 63 ; Define module specific macros here 64 ----------------------------------------------------------------------------*/ 65 66 /*---------------------------------------------------------------------------- 67 ; DEFINES 68 ; Include all pre-processor statements here. 69 ----------------------------------------------------------------------------*/ 70 71 /*---------------------------------------------------------------------------- 72 ; EXTERNAL VARIABLES REFERENCES 73 ; Declare variables used in this module but defined elsewhere 74 ----------------------------------------------------------------------------*/ 75 76 /* ISO: Hcb book[NSPECBOOKS + 2]; */ 77 78 extern const Hcb hcbbook_binary[13]; 79 extern const Int32 huff_tab1[88]; 80 extern const Int32 huff_tab2[90]; 81 extern const Int32 huff_tab3[151]; 82 extern const Int32 huff_tab4[119]; 83 extern const Int32 huff_tab5[110]; 84 extern const Int32 huff_tab6[113]; 85 extern const Int32 huff_tab7[107]; 86 extern const Int32 huff_tab8[90]; 87 extern const Int32 huff_tab9[204]; 88 extern const Int32 huff_tab10[186]; 89 extern const Int32 huff_tab11[301]; 90 extern const UInt32 huff_tab_scl[188]; 91 92 /*---------------------------------------------------------------------------- 93 ; SIMPLE TYPEDEF'S 94 ----------------------------------------------------------------------------*/ 95 96 /*---------------------------------------------------------------------------- 97 ; ENUMERATED TYPEDEF'S 98 ----------------------------------------------------------------------------*/ 99 100 /*---------------------------------------------------------------------------- 101 ; STRUCTURES TYPEDEF'S 102 ----------------------------------------------------------------------------*/ 103 104 /*---------------------------------------------------------------------------- 105 ; GLOBAL FUNCTION DEFINITIONS 106 ; Function Prototype declaration 107 ----------------------------------------------------------------------------*/ 108 109 /*---------------------------------------------------------------------------- 110 ; END 111 ----------------------------------------------------------------------------*/ 112 #ifdef __cplusplus 113 } 114 #endif 115 116 #endif 117 118 119