Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/RayTracer/include/private/G4RTJpegCoderTables.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

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