Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distri 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you ag 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publicati 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Sof 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************* 24 // ******************************************************************** 25 // 25 // 26 // 26 // 27 // 27 // 28 28 29 // class description: 29 // class description: 30 // 30 // 31 // This header file defines some hard coded n 31 // This header file defines some hard coded numbers used by G4RTJpegCoder 32 // to convert 8 bits RGB to JPEG. 32 // to convert 8 bits RGB to JPEG. 33 // 33 // 34 34 35 #ifndef G4RTJpegCoderTable_H 35 #ifndef G4RTJpegCoderTable_H 36 #define G4RTJpegCoderTable_H 1 36 #define G4RTJpegCoderTable_H 1 37 37 38 #include "G4RTJpeg.hh" 38 #include "G4RTJpeg.hh" 39 39 40 //QuantumTable 40 //QuantumTable 41 41 42 static const int YQuantumT[] = { 42 static const int YQuantumT[] = { 43 43 44 1, 1, 1, 1, 1, 1, 1, 1, 44 1, 1, 1, 1, 1, 1, 1, 1, 45 1, 1, 1, 1, 1, 1, 1, 1, 45 1, 1, 1, 1, 1, 1, 1, 1, 46 1, 1, 1, 1, 1, 1, 1, 1, 46 1, 1, 1, 1, 1, 1, 1, 1, 47 1, 1, 1, 1, 1, 1, 1, 1, 47 1, 1, 1, 1, 1, 1, 1, 1, 48 1, 1, 1, 1, 1, 1, 1, 1, 48 1, 1, 1, 1, 1, 1, 1, 1, 49 1, 1, 1, 1, 1, 1, 1, 1, 49 1, 1, 1, 1, 1, 1, 1, 1, 50 1, 1, 1, 1, 1, 1, 1, 1, 50 1, 1, 1, 1, 1, 1, 1, 1, 51 1, 1, 1, 1, 1, 1, 1, 1, 51 1, 1, 1, 1, 1, 1, 1, 1, 52 }; 52 }; 53 53 54 static const int CQuantumT[] = { 54 static const int CQuantumT[] = { 55 55 56 1, 1, 1, 1, 1, 1, 1, 1, 56 1, 1, 1, 1, 1, 1, 1, 1, 57 1, 1, 1, 1, 1, 1, 1, 1, 57 1, 1, 1, 1, 1, 1, 1, 1, 58 1, 1, 1, 1, 1, 1, 1, 1, 58 1, 1, 1, 1, 1, 1, 1, 1, 59 1, 1, 1, 1, 1, 1, 1, 1, 59 1, 1, 1, 1, 1, 1, 1, 1, 60 1, 1, 1, 1, 1, 1, 1, 1, 60 1, 1, 1, 1, 1, 1, 1, 1, 61 1, 1, 1, 1, 1, 1, 1, 1, 61 1, 1, 1, 1, 1, 1, 1, 1, 62 1, 1, 1, 1, 1, 1, 1, 1, 62 1, 1, 1, 1, 1, 1, 1, 1, 63 1, 1, 1, 1, 1, 1, 1, 1, 63 1, 1, 1, 1, 1, 1, 1, 1, 64 }; 64 }; 65 65 66 //HuffmanCode 66 //HuffmanCode 67 67 68 static const int YDcSizeT[] = { 68 static const int YDcSizeT[] = { 69 0x0002, 0x0003, 0x0003, 0x0003, 69 0x0002, 0x0003, 0x0003, 0x0003, 70 0x0003, 0x0003, 0x0004, 0x0005, 70 0x0003, 0x0003, 0x0004, 0x0005, 71 0x0006, 0x0007, 0x0008, 0x0009 }; 71 0x0006, 0x0007, 0x0008, 0x0009 }; 72 static const int YDcCodeT[] = { 72 static const int YDcCodeT[] = { 73 0x0000, 0x0002, 0x0003, 0x0004, 73 0x0000, 0x0002, 0x0003, 0x0004, 74 0x0005, 0x0006, 0x000e, 0x001e, 74 0x0005, 0x0006, 0x000e, 0x001e, 75 0x003e, 0x007e, 0x00fe, 0x01fe }; 75 0x003e, 0x007e, 0x00fe, 0x01fe }; 76 static const G4HuffmanCodeTable YDcHuffmanT = 76 static const G4HuffmanCodeTable YDcHuffmanT = { 77 12, 77 12, 78 (int*)YDcSizeT, 78 (int*)YDcSizeT, 79 (int*)YDcCodeT 79 (int*)YDcCodeT 80 }; 80 }; 81 81 82 82 83 static const int CDcSizeT[] = { 83 static const int CDcSizeT[] = { 84 0x0002, 0x0002, 0x0002, 0x0003, 84 0x0002, 0x0002, 0x0002, 0x0003, 85 0x0004, 0x0005, 0x0006, 0x0007, 85 0x0004, 0x0005, 0x0006, 0x0007, 86 0x0008, 0x0009, 0x000a, 0x000b }; 86 0x0008, 0x0009, 0x000a, 0x000b }; 87 static const int CDcCodeT[] = { 87 static const int CDcCodeT[] = { 88 0x0000, 0x0001, 0x0002, 0x0006, 88 0x0000, 0x0001, 0x0002, 0x0006, 89 0x000e, 0x001e, 0x003e, 0x007e, 89 0x000e, 0x001e, 0x003e, 0x007e, 90 0x00fe, 0x01fe, 0x03fe, 0x07fe }; 90 0x00fe, 0x01fe, 0x03fe, 0x07fe }; 91 static const G4HuffmanCodeTable CDcHuffmanT = 91 static const G4HuffmanCodeTable CDcHuffmanT = { 92 12, 92 12, 93 (int*)CDcSizeT, 93 (int*)CDcSizeT, 94 (int*)CDcCodeT 94 (int*)CDcCodeT 95 }; 95 }; 96 96 97 97 98 static const int YAcSizeT[] = { 98 static const int YAcSizeT[] = { 99 4, 2, 2, 3, 4, 5, 7, 8, 99 4, 2, 2, 3, 4, 5, 7, 8, 100 10, 16, 16, 4, 5, 7, 9, 11, 100 10, 16, 16, 4, 5, 7, 9, 11, 101 16, 16, 16, 16, 16, 5, 8, 10, 101 16, 16, 16, 16, 16, 5, 8, 10, 102 12, 16, 16, 16, 16, 16, 16, 6, 102 12, 16, 16, 16, 16, 16, 16, 6, 103 9, 12, 16, 16, 16, 16, 16, 16, 103 9, 12, 16, 16, 16, 16, 16, 16, 104 16, 6, 10, 16, 16, 16, 16, 16, 104 16, 6, 10, 16, 16, 16, 16, 16, 105 16, 16, 16, 7, 11, 16, 16, 16, 105 16, 16, 16, 7, 11, 16, 16, 16, 106 16, 16, 16, 16, 16, 7, 12, 16, 106 16, 16, 16, 16, 16, 7, 12, 16, 107 16, 16, 16, 16, 16, 16, 16, 8, 107 16, 16, 16, 16, 16, 16, 16, 8, 108 12, 16, 16, 16, 16, 16, 16, 16, 108 12, 16, 16, 16, 16, 16, 16, 16, 109 16, 9, 15, 16, 16, 16, 16, 16, 109 16, 9, 15, 16, 16, 16, 16, 16, 110 16, 16, 16, 9, 16, 16, 16, 16, 110 16, 16, 16, 9, 16, 16, 16, 16, 111 16, 16, 16, 16, 16, 9, 16, 16, 111 16, 16, 16, 16, 16, 9, 16, 16, 112 16, 16, 16, 16, 16, 16, 16, 10, 112 16, 16, 16, 16, 16, 16, 16, 10, 113 16, 16, 16, 16, 16, 16, 16, 16, 113 16, 16, 16, 16, 16, 16, 16, 16, 114 16, 10, 16, 16, 16, 16, 16, 16, 114 16, 10, 16, 16, 16, 16, 16, 16, 115 16, 16, 16, 11, 16, 16, 16, 16, 115 16, 16, 16, 11, 16, 16, 16, 16, 116 16, 16, 16, 16, 16, 16, 16, 16, 116 16, 16, 16, 16, 16, 16, 16, 16, 117 16, 16, 16, 16, 16, 16, 16, 11, 117 16, 16, 16, 16, 16, 16, 16, 11, 118 16, 16, 16, 16, 16, 16, 16, 16, 118 16, 16, 16, 16, 16, 16, 16, 16, 119 16, 16 }; 119 16, 16 }; 120 static const int YAcCodeT[] = { 120 static const int YAcCodeT[] = { 121 0x000a, 0x0000, 0x0001, 0x0004, 121 0x000a, 0x0000, 0x0001, 0x0004, 122 0x000b, 0x001a, 0x0078, 0x00f8, 122 0x000b, 0x001a, 0x0078, 0x00f8, 123 0x03f6, 0xff82, 0xff83, 0x000c, 123 0x03f6, 0xff82, 0xff83, 0x000c, 124 0x001b, 0x0079, 0x01f6, 0x07f6, 124 0x001b, 0x0079, 0x01f6, 0x07f6, 125 0xff84, 0xff85, 0xff86, 0xff87, 125 0xff84, 0xff85, 0xff86, 0xff87, 126 0xff88, 0x001c, 0x00f9, 0x03f7, 126 0xff88, 0x001c, 0x00f9, 0x03f7, 127 0x0ff4, 0xff89, 0xff8a, 0xff8b, 127 0x0ff4, 0xff89, 0xff8a, 0xff8b, 128 0xff8c, 0xff8d, 0xff8e, 0x003a, 128 0xff8c, 0xff8d, 0xff8e, 0x003a, 129 0x01f7, 0x0ff5, 0xff8f, 0xff90, 129 0x01f7, 0x0ff5, 0xff8f, 0xff90, 130 0xff91, 0xff92, 0xff93, 0xff94, 130 0xff91, 0xff92, 0xff93, 0xff94, 131 0xff95, 0x003b, 0x03f8, 0xff96, 131 0xff95, 0x003b, 0x03f8, 0xff96, 132 0xff97, 0xff98, 0xff99, 0xff9a, 132 0xff97, 0xff98, 0xff99, 0xff9a, 133 0xff9b, 0xff9c, 0xff9d, 0x007a, 133 0xff9b, 0xff9c, 0xff9d, 0x007a, 134 0x07f7, 0xff9e, 0xff9f, 0xffa0, 134 0x07f7, 0xff9e, 0xff9f, 0xffa0, 135 0xffa1, 0xffa2, 0xffa3, 0xffa4, 135 0xffa1, 0xffa2, 0xffa3, 0xffa4, 136 0xffa5, 0x007b, 0x0ff6, 0xffa6, 136 0xffa5, 0x007b, 0x0ff6, 0xffa6, 137 0xffa7, 0xffa8, 0xffa9, 0xffaa, 137 0xffa7, 0xffa8, 0xffa9, 0xffaa, 138 0xffab, 0xffac, 0xffad, 0x00fa, 138 0xffab, 0xffac, 0xffad, 0x00fa, 139 0x0ff7, 0xffae, 0xffaf, 0xffb0, 139 0x0ff7, 0xffae, 0xffaf, 0xffb0, 140 0xffb1, 0xffb2, 0xffb3, 0xffb4, 140 0xffb1, 0xffb2, 0xffb3, 0xffb4, 141 0xffb5, 0x01f8, 0x7fc0, 0xffb6, 141 0xffb5, 0x01f8, 0x7fc0, 0xffb6, 142 0xffb7, 0xffb8, 0xffb9, 0xffba, 142 0xffb7, 0xffb8, 0xffb9, 0xffba, 143 0xffbb, 0xffbc, 0xffbd, 0x01f9, 143 0xffbb, 0xffbc, 0xffbd, 0x01f9, 144 0xffbe, 0xffbf, 0xffc0, 0xffc1, 144 0xffbe, 0xffbf, 0xffc0, 0xffc1, 145 0xffc2, 0xffc3, 0xffc4, 0xffc5, 145 0xffc2, 0xffc3, 0xffc4, 0xffc5, 146 0xffc6, 0x01fa, 0xffc7, 0xffc8, 146 0xffc6, 0x01fa, 0xffc7, 0xffc8, 147 0xffc9, 0xffca, 0xffcb, 0xffcc, 147 0xffc9, 0xffca, 0xffcb, 0xffcc, 148 0xffcd, 0xffce, 0xffcf, 0x03f9, 148 0xffcd, 0xffce, 0xffcf, 0x03f9, 149 0xffd0, 0xffd1, 0xffd2, 0xffd3, 149 0xffd0, 0xffd1, 0xffd2, 0xffd3, 150 0xffd4, 0xffd5, 0xffd6, 0xffd7, 150 0xffd4, 0xffd5, 0xffd6, 0xffd7, 151 0xffd8, 0x03fa, 0xffd9, 0xffda, 151 0xffd8, 0x03fa, 0xffd9, 0xffda, 152 0xffdb, 0xffdc, 0xffdd, 0xffde, 152 0xffdb, 0xffdc, 0xffdd, 0xffde, 153 0xffdf, 0xffe0, 0xffe1, 0x07f8, 153 0xffdf, 0xffe0, 0xffe1, 0x07f8, 154 0xffe2, 0xffe3, 0xffe4, 0xffe5, 154 0xffe2, 0xffe3, 0xffe4, 0xffe5, 155 0xffe6, 0xffe7, 0xffe8, 0xffe9, 155 0xffe6, 0xffe7, 0xffe8, 0xffe9, 156 0xffea, 0xffeb, 0xffec, 0xffed, 156 0xffea, 0xffeb, 0xffec, 0xffed, 157 0xffee, 0xffef, 0xfff0, 0xfff1, 157 0xffee, 0xffef, 0xfff0, 0xfff1, 158 0xfff2, 0xfff3, 0xfff4, 0x07f9, 158 0xfff2, 0xfff3, 0xfff4, 0x07f9, 159 0xfff5, 0xfff6, 0xfff7, 0xfff8, 159 0xfff5, 0xfff6, 0xfff7, 0xfff8, 160 0xfff9, 0xfffa, 0xfffb, 0xfffc, 160 0xfff9, 0xfffa, 0xfffb, 0xfffc, 161 0xfffd, 0xfffe }; 161 0xfffd, 0xfffe }; 162 static const G4HuffmanCodeTable YAcHuffmanT = 162 static const G4HuffmanCodeTable YAcHuffmanT = { 163 162, 163 162, 164 (int*)YAcSizeT, 164 (int*)YAcSizeT, 165 (int*)YAcCodeT 165 (int*)YAcCodeT 166 }; 166 }; 167 167 168 static const int YEOBidx = 0; 168 static const int YEOBidx = 0; 169 static const int YZRLidx = 151; 169 static const int YZRLidx = 151; 170 170 171 171 172 static const int CAcSizeT[] = { 172 static const int CAcSizeT[] = { 173 2, 2, 3, 4, 5, 5, 6, 7, 173 2, 2, 3, 4, 5, 5, 6, 7, 174 9, 10, 12, 4, 6, 8, 9, 11, 174 9, 10, 12, 4, 6, 8, 9, 11, 175 12, 16, 16, 16, 16, 5, 8, 10, 175 12, 16, 16, 16, 16, 5, 8, 10, 176 12, 15, 16, 16, 16, 16, 16, 5, 176 12, 15, 16, 16, 16, 16, 16, 5, 177 8, 10, 12, 16, 16, 16, 16, 16, 177 8, 10, 12, 16, 16, 16, 16, 16, 178 16, 6, 9, 16, 16, 16, 16, 16, 178 16, 6, 9, 16, 16, 16, 16, 16, 179 16, 16, 16, 6, 10, 16, 16, 16, 179 16, 16, 16, 6, 10, 16, 16, 16, 180 16, 16, 16, 16, 16, 7, 11, 16, 180 16, 16, 16, 16, 16, 7, 11, 16, 181 16, 16, 16, 16, 16, 16, 16, 7, 181 16, 16, 16, 16, 16, 16, 16, 7, 182 11, 16, 16, 16, 16, 16, 16, 16, 182 11, 16, 16, 16, 16, 16, 16, 16, 183 16, 8, 16, 16, 16, 16, 16, 16, 183 16, 8, 16, 16, 16, 16, 16, 16, 184 16, 16, 16, 9, 16, 16, 16, 16, 184 16, 16, 16, 9, 16, 16, 16, 16, 185 16, 16, 16, 16, 16, 9, 16, 16, 185 16, 16, 16, 16, 16, 9, 16, 16, 186 16, 16, 16, 16, 16, 16, 16, 9, 186 16, 16, 16, 16, 16, 16, 16, 9, 187 16, 16, 16, 16, 16, 16, 16, 16, 187 16, 16, 16, 16, 16, 16, 16, 16, 188 16, 9, 16, 16, 16, 16, 16, 16, 188 16, 9, 16, 16, 16, 16, 16, 16, 189 16, 16, 16, 11, 16, 16, 16, 16, 189 16, 16, 16, 11, 16, 16, 16, 16, 190 16, 16, 16, 16, 16, 14, 16, 16, 190 16, 16, 16, 16, 16, 14, 16, 16, 191 16, 16, 16, 16, 16, 16, 16, 10, 191 16, 16, 16, 16, 16, 16, 16, 10, 192 15, 16, 16, 16, 16, 16, 16, 16, 192 15, 16, 16, 16, 16, 16, 16, 16, 193 16, 16 }; 193 16, 16 }; 194 static const int CAcCodeT[] = { 194 static const int CAcCodeT[] = { 195 0x0000, 0x0001, 0x0004, 0x000a, 195 0x0000, 0x0001, 0x0004, 0x000a, 196 0x0018, 0x0019, 0x0038, 0x0078, 196 0x0018, 0x0019, 0x0038, 0x0078, 197 0x01f4, 0x03f6, 0x0ff4, 0x000b, 197 0x01f4, 0x03f6, 0x0ff4, 0x000b, 198 0x0039, 0x00f6, 0x01f5, 0x07f6, 198 0x0039, 0x00f6, 0x01f5, 0x07f6, 199 0x0ff5, 0xff88, 0xff89, 0xff8a, 199 0x0ff5, 0xff88, 0xff89, 0xff8a, 200 0xff8b, 0x001a, 0x00f7, 0x03f7, 200 0xff8b, 0x001a, 0x00f7, 0x03f7, 201 0x0ff6, 0x7fc2, 0xff8c, 0xff8d, 201 0x0ff6, 0x7fc2, 0xff8c, 0xff8d, 202 0xff8e, 0xff8f, 0xff90, 0x001b, 202 0xff8e, 0xff8f, 0xff90, 0x001b, 203 0x00f8, 0x03f8, 0x0ff7, 0xff91, 203 0x00f8, 0x03f8, 0x0ff7, 0xff91, 204 0xff92, 0xff93, 0xff94, 0xff95, 204 0xff92, 0xff93, 0xff94, 0xff95, 205 0xff96, 0x003a, 0x01f6, 0xff97, 205 0xff96, 0x003a, 0x01f6, 0xff97, 206 0xff98, 0xff99, 0xff9a, 0xff9b, 206 0xff98, 0xff99, 0xff9a, 0xff9b, 207 0xff9c, 0xff9d, 0xff9e, 0x003b, 207 0xff9c, 0xff9d, 0xff9e, 0x003b, 208 0x03f9, 0xff9f, 0xffa0, 0xffa1, 208 0x03f9, 0xff9f, 0xffa0, 0xffa1, 209 0xffa2, 0xffa3, 0xffa4, 0xffa5, 209 0xffa2, 0xffa3, 0xffa4, 0xffa5, 210 0xffa6, 0x0079, 0x07f7, 0xffa7, 210 0xffa6, 0x0079, 0x07f7, 0xffa7, 211 0xffa8, 0xffa9, 0xffaa, 0xffab, 211 0xffa8, 0xffa9, 0xffaa, 0xffab, 212 0xffac, 0xffad, 0xffae, 0x007a, 212 0xffac, 0xffad, 0xffae, 0x007a, 213 0x07f8, 0xffaf, 0xffb0, 0xffb1, 213 0x07f8, 0xffaf, 0xffb0, 0xffb1, 214 0xffb2, 0xffb3, 0xffb4, 0xffb5, 214 0xffb2, 0xffb3, 0xffb4, 0xffb5, 215 0xffb6, 0x00f9, 0xffb7, 0xffb8, 215 0xffb6, 0x00f9, 0xffb7, 0xffb8, 216 0xffb9, 0xffba, 0xffbb, 0xffbc, 216 0xffb9, 0xffba, 0xffbb, 0xffbc, 217 0xffbd, 0xffbe, 0xffbf, 0x01f7, 217 0xffbd, 0xffbe, 0xffbf, 0x01f7, 218 0xffc0, 0xffc1, 0xffc2, 0xffc3, 218 0xffc0, 0xffc1, 0xffc2, 0xffc3, 219 0xffc4, 0xffc5, 0xffc6, 0xffc7, 219 0xffc4, 0xffc5, 0xffc6, 0xffc7, 220 0xffc8, 0x01f8, 0xffc9, 0xffca, 220 0xffc8, 0x01f8, 0xffc9, 0xffca, 221 0xffcb, 0xffcc, 0xffcd, 0xffce, 221 0xffcb, 0xffcc, 0xffcd, 0xffce, 222 0xffcf, 0xffd0, 0xffd1, 0x01f9, 222 0xffcf, 0xffd0, 0xffd1, 0x01f9, 223 0xffd2, 0xffd3, 0xffd4, 0xffd5, 223 0xffd2, 0xffd3, 0xffd4, 0xffd5, 224 0xffd6, 0xffd7, 0xffd8, 0xffd9, 224 0xffd6, 0xffd7, 0xffd8, 0xffd9, 225 0xffda, 0x01fa, 0xffdb, 0xffdc, 225 0xffda, 0x01fa, 0xffdb, 0xffdc, 226 0xffdd, 0xffde, 0xffdf, 0xffe0, 226 0xffdd, 0xffde, 0xffdf, 0xffe0, 227 0xffe1, 0xffe2, 0xffe3, 0x07f9, 227 0xffe1, 0xffe2, 0xffe3, 0x07f9, 228 0xffe4, 0xffe5, 0xffe6, 0xffe7, 228 0xffe4, 0xffe5, 0xffe6, 0xffe7, 229 0xffe8, 0xffe9, 0xffea, 0xffeb, 229 0xffe8, 0xffe9, 0xffea, 0xffeb, 230 0xffec, 0x3fe0, 0xffed, 0xffee, 230 0xffec, 0x3fe0, 0xffed, 0xffee, 231 0xffef, 0xfff0, 0xfff1, 0xfff2, 231 0xffef, 0xfff0, 0xfff1, 0xfff2, 232 0xfff3, 0xfff4, 0xfff5, 0x03fa, 232 0xfff3, 0xfff4, 0xfff5, 0x03fa, 233 0x7fc3, 0xfff6, 0xfff7, 0xfff8, 233 0x7fc3, 0xfff6, 0xfff7, 0xfff8, 234 0xfff9, 0xfffa, 0xfffb, 0xfffc, 234 0xfff9, 0xfffa, 0xfffb, 0xfffc, 235 0xfffd, 0xfffe }; 235 0xfffd, 0xfffe }; 236 static const G4HuffmanCodeTable CAcHuffmanT = 236 static const G4HuffmanCodeTable CAcHuffmanT = { 237 162, 237 162, 238 (int*)CAcSizeT, 238 (int*)CAcSizeT, 239 (int*)CAcCodeT 239 (int*)CAcCodeT 240 }; 240 }; 241 241 242 static const int CEOBidx = 0; 242 static const int CEOBidx = 0; 243 static const int CZRLidx = 151; 243 static const int CZRLidx = 151; 244 244 245 //HuffmanCode 245 //HuffmanCode 246 246 247 static const int DcDhtLength = 0x21; 247 static const int DcDhtLength = 0x21; 248 static const int AcDhtLength = 0xb7; 248 static const int AcDhtLength = 0xb7; 249 249 250 static const u_char YDcDht[] = { 250 static const u_char YDcDht[] = { 251 0xff, 0xc4, 251 0xff, 0xc4, 252 0x00, 0x1f, 252 0x00, 0x1f, 253 0x00, 253 0x00, 254 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x 254 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 255 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x 255 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 256 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x 256 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 257 0x08, 0x09, 0x0a, 0x0b 257 0x08, 0x09, 0x0a, 0x0b 258 }; 258 }; 259 259 260 static const u_char CDcDht[] = { 260 static const u_char CDcDht[] = { 261 0xff, 0xc4, 261 0xff, 0xc4, 262 0x00, 0x1f, 262 0x00, 0x1f, 263 0x01, 263 0x01, 264 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x 264 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 265 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x 265 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 266 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x 266 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 267 0x08, 0x09, 0x0a, 0x0b 267 0x08, 0x09, 0x0a, 0x0b 268 }; 268 }; 269 269 270 static const u_char YAcDht[] = { 270 static const u_char YAcDht[] = { 271 0xff, 0xc4, 271 0xff, 0xc4, 272 0x00, 0xb5, 272 0x00, 0xb5, 273 0x10, 273 0x10, 274 274 275 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x 275 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03, 276 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x 276 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d, 277 277 278 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x 278 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 279 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x 279 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 280 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x 280 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, 281 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0x 281 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 282 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x 282 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 283 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x 283 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, 284 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x 284 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 285 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x 285 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 286 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x 286 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 287 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x 287 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 288 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x 288 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 289 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x 289 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 290 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x 290 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 291 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0x 291 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 292 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0x 292 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 293 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0x 293 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 294 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0x 294 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 295 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0x 295 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 296 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0x 296 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 297 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0x 297 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 298 0xf9, 0xfa 298 0xf9, 0xfa 299 }; 299 }; 300 300 301 static const u_char CAcDht[] = { 301 static const u_char CAcDht[] = { 302 0xff, 0xc4, 302 0xff, 0xc4, 303 0x00, 0xb5, 303 0x00, 0xb5, 304 0x11, 304 0x11, 305 305 306 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x 306 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 307 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x 307 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 308 308 309 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x 309 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 310 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x 310 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 311 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x 311 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 312 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0x 312 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 313 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x 313 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 314 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x 314 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, 315 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x 315 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 316 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x 316 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 317 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x 317 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 318 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x 318 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 319 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x 319 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 320 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x 320 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 321 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x 321 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 322 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0x 322 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 323 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0x 323 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 324 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0x 324 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 325 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0x 325 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 326 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0x 326 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 327 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0x 327 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 328 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0x 328 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 329 0xf9, 0xfa 329 0xf9, 0xfa 330 }; 330 }; 331 331 332 #endif 332 #endif 333 333 334 334