00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef G4RTJpegCoderTable_H
00037 #define G4RTJpegCoderTable_H 1
00038
00039 #include "G4RTJpeg.hh"
00040
00041
00042
00043 static const int YQuantumT[] = {
00044
00045 1, 1, 1, 1, 1, 1, 1, 1,
00046 1, 1, 1, 1, 1, 1, 1, 1,
00047 1, 1, 1, 1, 1, 1, 1, 1,
00048 1, 1, 1, 1, 1, 1, 1, 1,
00049 1, 1, 1, 1, 1, 1, 1, 1,
00050 1, 1, 1, 1, 1, 1, 1, 1,
00051 1, 1, 1, 1, 1, 1, 1, 1,
00052 1, 1, 1, 1, 1, 1, 1, 1,
00053 };
00054
00055 static const int CQuantumT[] = {
00056
00057 1, 1, 1, 1, 1, 1, 1, 1,
00058 1, 1, 1, 1, 1, 1, 1, 1,
00059 1, 1, 1, 1, 1, 1, 1, 1,
00060 1, 1, 1, 1, 1, 1, 1, 1,
00061 1, 1, 1, 1, 1, 1, 1, 1,
00062 1, 1, 1, 1, 1, 1, 1, 1,
00063 1, 1, 1, 1, 1, 1, 1, 1,
00064 1, 1, 1, 1, 1, 1, 1, 1,
00065 };
00066
00067
00068
00069 static const int YDcSizeT[] = {
00070 0x0002, 0x0003, 0x0003, 0x0003,
00071 0x0003, 0x0003, 0x0004, 0x0005,
00072 0x0006, 0x0007, 0x0008, 0x0009 };
00073 static const int YDcCodeT[] = {
00074 0x0000, 0x0002, 0x0003, 0x0004,
00075 0x0005, 0x0006, 0x000e, 0x001e,
00076 0x003e, 0x007e, 0x00fe, 0x01fe };
00077 static const G4HuffmanCodeTable YDcHuffmanT = {
00078 12,
00079 (int*)YDcSizeT,
00080 (int*)YDcCodeT
00081 };
00082
00083
00084 static const int CDcSizeT[] = {
00085 0x0002, 0x0002, 0x0002, 0x0003,
00086 0x0004, 0x0005, 0x0006, 0x0007,
00087 0x0008, 0x0009, 0x000a, 0x000b };
00088 static const int CDcCodeT[] = {
00089 0x0000, 0x0001, 0x0002, 0x0006,
00090 0x000e, 0x001e, 0x003e, 0x007e,
00091 0x00fe, 0x01fe, 0x03fe, 0x07fe };
00092 static const G4HuffmanCodeTable CDcHuffmanT = {
00093 12,
00094 (int*)CDcSizeT,
00095 (int*)CDcCodeT
00096 };
00097
00098
00099 static const int YAcSizeT[] = {
00100 4, 2, 2, 3, 4, 5, 7, 8,
00101 10, 16, 16, 4, 5, 7, 9, 11,
00102 16, 16, 16, 16, 16, 5, 8, 10,
00103 12, 16, 16, 16, 16, 16, 16, 6,
00104 9, 12, 16, 16, 16, 16, 16, 16,
00105 16, 6, 10, 16, 16, 16, 16, 16,
00106 16, 16, 16, 7, 11, 16, 16, 16,
00107 16, 16, 16, 16, 16, 7, 12, 16,
00108 16, 16, 16, 16, 16, 16, 16, 8,
00109 12, 16, 16, 16, 16, 16, 16, 16,
00110 16, 9, 15, 16, 16, 16, 16, 16,
00111 16, 16, 16, 9, 16, 16, 16, 16,
00112 16, 16, 16, 16, 16, 9, 16, 16,
00113 16, 16, 16, 16, 16, 16, 16, 10,
00114 16, 16, 16, 16, 16, 16, 16, 16,
00115 16, 10, 16, 16, 16, 16, 16, 16,
00116 16, 16, 16, 11, 16, 16, 16, 16,
00117 16, 16, 16, 16, 16, 16, 16, 16,
00118 16, 16, 16, 16, 16, 16, 16, 11,
00119 16, 16, 16, 16, 16, 16, 16, 16,
00120 16, 16 };
00121 static const int YAcCodeT[] = {
00122 0x000a, 0x0000, 0x0001, 0x0004,
00123 0x000b, 0x001a, 0x0078, 0x00f8,
00124 0x03f6, 0xff82, 0xff83, 0x000c,
00125 0x001b, 0x0079, 0x01f6, 0x07f6,
00126 0xff84, 0xff85, 0xff86, 0xff87,
00127 0xff88, 0x001c, 0x00f9, 0x03f7,
00128 0x0ff4, 0xff89, 0xff8a, 0xff8b,
00129 0xff8c, 0xff8d, 0xff8e, 0x003a,
00130 0x01f7, 0x0ff5, 0xff8f, 0xff90,
00131 0xff91, 0xff92, 0xff93, 0xff94,
00132 0xff95, 0x003b, 0x03f8, 0xff96,
00133 0xff97, 0xff98, 0xff99, 0xff9a,
00134 0xff9b, 0xff9c, 0xff9d, 0x007a,
00135 0x07f7, 0xff9e, 0xff9f, 0xffa0,
00136 0xffa1, 0xffa2, 0xffa3, 0xffa4,
00137 0xffa5, 0x007b, 0x0ff6, 0xffa6,
00138 0xffa7, 0xffa8, 0xffa9, 0xffaa,
00139 0xffab, 0xffac, 0xffad, 0x00fa,
00140 0x0ff7, 0xffae, 0xffaf, 0xffb0,
00141 0xffb1, 0xffb2, 0xffb3, 0xffb4,
00142 0xffb5, 0x01f8, 0x7fc0, 0xffb6,
00143 0xffb7, 0xffb8, 0xffb9, 0xffba,
00144 0xffbb, 0xffbc, 0xffbd, 0x01f9,
00145 0xffbe, 0xffbf, 0xffc0, 0xffc1,
00146 0xffc2, 0xffc3, 0xffc4, 0xffc5,
00147 0xffc6, 0x01fa, 0xffc7, 0xffc8,
00148 0xffc9, 0xffca, 0xffcb, 0xffcc,
00149 0xffcd, 0xffce, 0xffcf, 0x03f9,
00150 0xffd0, 0xffd1, 0xffd2, 0xffd3,
00151 0xffd4, 0xffd5, 0xffd6, 0xffd7,
00152 0xffd8, 0x03fa, 0xffd9, 0xffda,
00153 0xffdb, 0xffdc, 0xffdd, 0xffde,
00154 0xffdf, 0xffe0, 0xffe1, 0x07f8,
00155 0xffe2, 0xffe3, 0xffe4, 0xffe5,
00156 0xffe6, 0xffe7, 0xffe8, 0xffe9,
00157 0xffea, 0xffeb, 0xffec, 0xffed,
00158 0xffee, 0xffef, 0xfff0, 0xfff1,
00159 0xfff2, 0xfff3, 0xfff4, 0x07f9,
00160 0xfff5, 0xfff6, 0xfff7, 0xfff8,
00161 0xfff9, 0xfffa, 0xfffb, 0xfffc,
00162 0xfffd, 0xfffe };
00163 static const G4HuffmanCodeTable YAcHuffmanT = {
00164 162,
00165 (int*)YAcSizeT,
00166 (int*)YAcCodeT
00167 };
00168
00169 static const int YEOBidx = 0;
00170 static const int YZRLidx = 151;
00171
00172
00173 static const int CAcSizeT[] = {
00174 2, 2, 3, 4, 5, 5, 6, 7,
00175 9, 10, 12, 4, 6, 8, 9, 11,
00176 12, 16, 16, 16, 16, 5, 8, 10,
00177 12, 15, 16, 16, 16, 16, 16, 5,
00178 8, 10, 12, 16, 16, 16, 16, 16,
00179 16, 6, 9, 16, 16, 16, 16, 16,
00180 16, 16, 16, 6, 10, 16, 16, 16,
00181 16, 16, 16, 16, 16, 7, 11, 16,
00182 16, 16, 16, 16, 16, 16, 16, 7,
00183 11, 16, 16, 16, 16, 16, 16, 16,
00184 16, 8, 16, 16, 16, 16, 16, 16,
00185 16, 16, 16, 9, 16, 16, 16, 16,
00186 16, 16, 16, 16, 16, 9, 16, 16,
00187 16, 16, 16, 16, 16, 16, 16, 9,
00188 16, 16, 16, 16, 16, 16, 16, 16,
00189 16, 9, 16, 16, 16, 16, 16, 16,
00190 16, 16, 16, 11, 16, 16, 16, 16,
00191 16, 16, 16, 16, 16, 14, 16, 16,
00192 16, 16, 16, 16, 16, 16, 16, 10,
00193 15, 16, 16, 16, 16, 16, 16, 16,
00194 16, 16 };
00195 static const int CAcCodeT[] = {
00196 0x0000, 0x0001, 0x0004, 0x000a,
00197 0x0018, 0x0019, 0x0038, 0x0078,
00198 0x01f4, 0x03f6, 0x0ff4, 0x000b,
00199 0x0039, 0x00f6, 0x01f5, 0x07f6,
00200 0x0ff5, 0xff88, 0xff89, 0xff8a,
00201 0xff8b, 0x001a, 0x00f7, 0x03f7,
00202 0x0ff6, 0x7fc2, 0xff8c, 0xff8d,
00203 0xff8e, 0xff8f, 0xff90, 0x001b,
00204 0x00f8, 0x03f8, 0x0ff7, 0xff91,
00205 0xff92, 0xff93, 0xff94, 0xff95,
00206 0xff96, 0x003a, 0x01f6, 0xff97,
00207 0xff98, 0xff99, 0xff9a, 0xff9b,
00208 0xff9c, 0xff9d, 0xff9e, 0x003b,
00209 0x03f9, 0xff9f, 0xffa0, 0xffa1,
00210 0xffa2, 0xffa3, 0xffa4, 0xffa5,
00211 0xffa6, 0x0079, 0x07f7, 0xffa7,
00212 0xffa8, 0xffa9, 0xffaa, 0xffab,
00213 0xffac, 0xffad, 0xffae, 0x007a,
00214 0x07f8, 0xffaf, 0xffb0, 0xffb1,
00215 0xffb2, 0xffb3, 0xffb4, 0xffb5,
00216 0xffb6, 0x00f9, 0xffb7, 0xffb8,
00217 0xffb9, 0xffba, 0xffbb, 0xffbc,
00218 0xffbd, 0xffbe, 0xffbf, 0x01f7,
00219 0xffc0, 0xffc1, 0xffc2, 0xffc3,
00220 0xffc4, 0xffc5, 0xffc6, 0xffc7,
00221 0xffc8, 0x01f8, 0xffc9, 0xffca,
00222 0xffcb, 0xffcc, 0xffcd, 0xffce,
00223 0xffcf, 0xffd0, 0xffd1, 0x01f9,
00224 0xffd2, 0xffd3, 0xffd4, 0xffd5,
00225 0xffd6, 0xffd7, 0xffd8, 0xffd9,
00226 0xffda, 0x01fa, 0xffdb, 0xffdc,
00227 0xffdd, 0xffde, 0xffdf, 0xffe0,
00228 0xffe1, 0xffe2, 0xffe3, 0x07f9,
00229 0xffe4, 0xffe5, 0xffe6, 0xffe7,
00230 0xffe8, 0xffe9, 0xffea, 0xffeb,
00231 0xffec, 0x3fe0, 0xffed, 0xffee,
00232 0xffef, 0xfff0, 0xfff1, 0xfff2,
00233 0xfff3, 0xfff4, 0xfff5, 0x03fa,
00234 0x7fc3, 0xfff6, 0xfff7, 0xfff8,
00235 0xfff9, 0xfffa, 0xfffb, 0xfffc,
00236 0xfffd, 0xfffe };
00237 static const G4HuffmanCodeTable CAcHuffmanT = {
00238 162,
00239 (int*)CAcSizeT,
00240 (int*)CAcCodeT
00241 };
00242
00243 static const int CEOBidx = 0;
00244 static const int CZRLidx = 151;
00245
00246
00247
00248 static const int DcDhtLength = 0x21;
00249 static const int AcDhtLength = 0xb7;
00250
00251 static const u_char YDcDht[] = {
00252 0xff, 0xc4,
00253 0x00, 0x1f,
00254 0x00,
00255 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01,
00256 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00257 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
00258 0x08, 0x09, 0x0a, 0x0b
00259 };
00260
00261 static const u_char CDcDht[] = {
00262 0xff, 0xc4,
00263 0x00, 0x1f,
00264 0x01,
00265 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
00266 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
00267 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
00268 0x08, 0x09, 0x0a, 0x0b
00269 };
00270
00271 static const u_char YAcDht[] = {
00272 0xff, 0xc4,
00273 0x00, 0xb5,
00274 0x10,
00275
00276 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03,
00277 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d,
00278
00279 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
00280 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
00281 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
00282 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
00283 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
00284 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
00285 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
00286 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
00287 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
00288 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
00289 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
00290 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
00291 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
00292 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
00293 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
00294 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
00295 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
00296 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
00297 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
00298 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
00299 0xf9, 0xfa
00300 };
00301
00302 static const u_char CAcDht[] = {
00303 0xff, 0xc4,
00304 0x00, 0xb5,
00305 0x11,
00306
00307 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04,
00308 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77,
00309
00310 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
00311 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
00312 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
00313 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
00314 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
00315 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
00316 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
00317 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
00318 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
00319 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
00320 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
00321 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
00322 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
00323 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
00324 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
00325 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
00326 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
00327 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
00328 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
00329 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
00330 0xf9, 0xfa
00331 };
00332
00333 #endif
00334