36 #ifndef G4RTJpegCoderTable_H 
   37 #define G4RTJpegCoderTable_H 1 
   43 static const int    YQuantumT[] = {
 
   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     1,  1,  1,  1,  1,  1,  1,  1,
 
   55 static const int    CQuantumT[] = {
 
   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     1,  1,  1,  1,  1,  1,  1,  1,
 
   69 static const int    YDcSizeT[] = {
 
   70         0x0002, 0x0003, 0x0003, 0x0003,
 
   71         0x0003, 0x0003, 0x0004, 0x0005,
 
   72         0x0006, 0x0007, 0x0008, 0x0009  };
 
   73 static const int    YDcCodeT[] = {  
 
   74         0x0000, 0x0002, 0x0003, 0x0004,
 
   75         0x0005, 0x0006, 0x000e, 0x001e,
 
   76         0x003e, 0x007e, 0x00fe, 0x01fe  };
 
   84 static const int    CDcSizeT[] = {   
 
   85         0x0002, 0x0002, 0x0002, 0x0003,
 
   86         0x0004, 0x0005, 0x0006, 0x0007,
 
   87         0x0008, 0x0009, 0x000a, 0x000b  };
 
   88 static const int    CDcCodeT[] = {   
 
   89         0x0000, 0x0001, 0x0002, 0x0006,
 
   90         0x000e, 0x001e, 0x003e, 0x007e,
 
   91         0x00fe, 0x01fe, 0x03fe, 0x07fe  };
 
   99 static const int    YAcSizeT[] = {
 
  100          4,  2,  2,  3,  4,  5,  7,  8,
 
  101         10, 16, 16,  4,  5,  7,  9, 11,
 
  102         16, 16, 16, 16, 16,  5,  8, 10,
 
  103         12, 16, 16, 16, 16, 16, 16,  6,
 
  104          9, 12, 16, 16, 16, 16, 16, 16,
 
  105         16,  6, 10, 16, 16, 16, 16, 16,
 
  106         16, 16, 16,  7, 11, 16, 16, 16,
 
  107         16, 16, 16, 16, 16,  7, 12, 16,
 
  108         16, 16, 16, 16, 16, 16, 16,  8,
 
  109         12, 16, 16, 16, 16, 16, 16, 16,
 
  110         16,  9, 15, 16, 16, 16, 16, 16,
 
  111         16, 16, 16,  9, 16, 16, 16, 16,
 
  112         16, 16, 16, 16, 16,  9, 16, 16,
 
  113         16, 16, 16, 16, 16, 16, 16, 10,
 
  114         16, 16, 16, 16, 16, 16, 16, 16,
 
  115         16, 10, 16, 16, 16, 16, 16, 16,
 
  116         16, 16, 16, 11, 16, 16, 16, 16,
 
  117         16, 16, 16, 16, 16, 16, 16, 16,
 
  118         16, 16, 16, 16, 16, 16, 16, 11,
 
  119         16, 16, 16, 16, 16, 16, 16, 16,
 
  121 static const int    YAcCodeT[] = { 
 
  122         0x000a, 0x0000, 0x0001, 0x0004,
 
  123         0x000b, 0x001a, 0x0078, 0x00f8,
 
  124         0x03f6, 0xff82, 0xff83, 0x000c,
 
  125         0x001b, 0x0079, 0x01f6, 0x07f6,
 
  126         0xff84, 0xff85, 0xff86, 0xff87,
 
  127         0xff88, 0x001c, 0x00f9, 0x03f7,
 
  128         0x0ff4, 0xff89, 0xff8a, 0xff8b,
 
  129         0xff8c, 0xff8d, 0xff8e, 0x003a,
 
  130         0x01f7, 0x0ff5, 0xff8f, 0xff90,
 
  131         0xff91, 0xff92, 0xff93, 0xff94,
 
  132         0xff95, 0x003b, 0x03f8, 0xff96,
 
  133         0xff97, 0xff98, 0xff99, 0xff9a,
 
  134         0xff9b, 0xff9c, 0xff9d, 0x007a,
 
  135         0x07f7, 0xff9e, 0xff9f, 0xffa0,
 
  136         0xffa1, 0xffa2, 0xffa3, 0xffa4,
 
  137         0xffa5, 0x007b, 0x0ff6, 0xffa6,
 
  138         0xffa7, 0xffa8, 0xffa9, 0xffaa,
 
  139         0xffab, 0xffac, 0xffad, 0x00fa,
 
  140         0x0ff7, 0xffae, 0xffaf, 0xffb0,
 
  141         0xffb1, 0xffb2, 0xffb3, 0xffb4,
 
  142         0xffb5, 0x01f8, 0x7fc0, 0xffb6,
 
  143         0xffb7, 0xffb8, 0xffb9, 0xffba,
 
  144         0xffbb, 0xffbc, 0xffbd, 0x01f9,
 
  145         0xffbe, 0xffbf, 0xffc0, 0xffc1,
 
  146         0xffc2, 0xffc3, 0xffc4, 0xffc5,
 
  147         0xffc6, 0x01fa, 0xffc7, 0xffc8,
 
  148         0xffc9, 0xffca, 0xffcb, 0xffcc,
 
  149         0xffcd, 0xffce, 0xffcf, 0x03f9,
 
  150         0xffd0, 0xffd1, 0xffd2, 0xffd3,
 
  151         0xffd4, 0xffd5, 0xffd6, 0xffd7,
 
  152         0xffd8, 0x03fa, 0xffd9, 0xffda,
 
  153         0xffdb, 0xffdc, 0xffdd, 0xffde,
 
  154         0xffdf, 0xffe0, 0xffe1, 0x07f8,
 
  155         0xffe2, 0xffe3, 0xffe4, 0xffe5,
 
  156         0xffe6, 0xffe7, 0xffe8, 0xffe9,
 
  157         0xffea, 0xffeb, 0xffec, 0xffed,
 
  158         0xffee, 0xffef, 0xfff0, 0xfff1,
 
  159         0xfff2, 0xfff3, 0xfff4, 0x07f9,
 
  160         0xfff5, 0xfff6, 0xfff7, 0xfff8,
 
  161         0xfff9, 0xfffa, 0xfffb, 0xfffc,
 
  169 static const int        YEOBidx = 0;
 
  170 static const int        YZRLidx = 151;
 
  173 static const int    CAcSizeT[] = {
 
  174          2,  2,  3,  4,  5,  5,  6,  7,
 
  175          9, 10, 12,  4,  6,  8,  9, 11,
 
  176         12, 16, 16, 16, 16,  5,  8, 10,
 
  177         12, 15, 16, 16, 16, 16, 16,  5,
 
  178          8, 10, 12, 16, 16, 16, 16, 16,
 
  179         16,  6,  9, 16, 16, 16, 16, 16,
 
  180         16, 16, 16,  6, 10, 16, 16, 16,
 
  181         16, 16, 16, 16, 16,  7, 11, 16,
 
  182         16, 16, 16, 16, 16, 16, 16,  7,
 
  183         11, 16, 16, 16, 16, 16, 16, 16,
 
  184         16,  8, 16, 16, 16, 16, 16, 16,
 
  185         16, 16, 16,  9, 16, 16, 16, 16,
 
  186         16, 16, 16, 16, 16,  9, 16, 16,
 
  187         16, 16, 16, 16, 16, 16, 16,  9,
 
  188         16, 16, 16, 16, 16, 16, 16, 16,
 
  189         16,  9, 16, 16, 16, 16, 16, 16,
 
  190         16, 16, 16, 11, 16, 16, 16, 16,
 
  191         16, 16, 16, 16, 16, 14, 16, 16,
 
  192         16, 16, 16, 16, 16, 16, 16, 10,
 
  193         15, 16, 16, 16, 16, 16, 16, 16,
 
  195 static const int    CAcCodeT[] = { 
 
  196         0x0000, 0x0001, 0x0004, 0x000a,
 
  197         0x0018, 0x0019, 0x0038, 0x0078,
 
  198         0x01f4, 0x03f6, 0x0ff4, 0x000b,
 
  199         0x0039, 0x00f6, 0x01f5, 0x07f6,
 
  200         0x0ff5, 0xff88, 0xff89, 0xff8a,
 
  201         0xff8b, 0x001a, 0x00f7, 0x03f7,
 
  202         0x0ff6, 0x7fc2, 0xff8c, 0xff8d,
 
  203         0xff8e, 0xff8f, 0xff90, 0x001b,
 
  204         0x00f8, 0x03f8, 0x0ff7, 0xff91,
 
  205         0xff92, 0xff93, 0xff94, 0xff95,
 
  206         0xff96, 0x003a, 0x01f6, 0xff97,
 
  207         0xff98, 0xff99, 0xff9a, 0xff9b,
 
  208         0xff9c, 0xff9d, 0xff9e, 0x003b,
 
  209         0x03f9, 0xff9f, 0xffa0, 0xffa1,
 
  210         0xffa2, 0xffa3, 0xffa4, 0xffa5,
 
  211         0xffa6, 0x0079, 0x07f7, 0xffa7,
 
  212         0xffa8, 0xffa9, 0xffaa, 0xffab,
 
  213         0xffac, 0xffad, 0xffae, 0x007a,
 
  214         0x07f8, 0xffaf, 0xffb0, 0xffb1,
 
  215         0xffb2, 0xffb3, 0xffb4, 0xffb5,
 
  216         0xffb6, 0x00f9, 0xffb7, 0xffb8,
 
  217         0xffb9, 0xffba, 0xffbb, 0xffbc,
 
  218         0xffbd, 0xffbe, 0xffbf, 0x01f7,
 
  219         0xffc0, 0xffc1, 0xffc2, 0xffc3,
 
  220         0xffc4, 0xffc5, 0xffc6, 0xffc7,
 
  221         0xffc8, 0x01f8, 0xffc9, 0xffca,
 
  222         0xffcb, 0xffcc, 0xffcd, 0xffce,
 
  223         0xffcf, 0xffd0, 0xffd1, 0x01f9,
 
  224         0xffd2, 0xffd3, 0xffd4, 0xffd5,
 
  225         0xffd6, 0xffd7, 0xffd8, 0xffd9,
 
  226         0xffda, 0x01fa, 0xffdb, 0xffdc,
 
  227         0xffdd, 0xffde, 0xffdf, 0xffe0,
 
  228         0xffe1, 0xffe2, 0xffe3, 0x07f9,
 
  229         0xffe4, 0xffe5, 0xffe6, 0xffe7,
 
  230         0xffe8, 0xffe9, 0xffea, 0xffeb,
 
  231         0xffec, 0x3fe0, 0xffed, 0xffee,
 
  232         0xffef, 0xfff0, 0xfff1, 0xfff2,
 
  233         0xfff3, 0xfff4, 0xfff5, 0x03fa,
 
  234         0x7fc3, 0xfff6, 0xfff7, 0xfff8,
 
  235         0xfff9, 0xfffa, 0xfffb, 0xfffc,
 
  243 static const int        CEOBidx = 0;
 
  244 static const int        CZRLidx = 151;
 
  248 static const int        DcDhtLength = 0x21;
 
  249 static const int        AcDhtLength = 0xb7;
 
  251 static const u_char YDcDht[] = {
 
  255     0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01,  
 
  256     0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 
  257     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
 
  258     0x08, 0x09, 0x0a, 0x0b
 
  261 static const u_char CDcDht[] = {    
 
  265     0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,  
 
  266     0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
 
  267     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
 
  268     0x08, 0x09, 0x0a, 0x0b
 
  271 static const u_char YAcDht[] = {    
 
  276     0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03,  
 
  277     0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d,
 
  279     0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 
 
  280     0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
 
  281     0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
 
  282     0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
 
  283     0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
 
  284     0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
 
  285     0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
 
  286     0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
 
  287     0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
 
  288     0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
 
  289     0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
 
  290     0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
 
  291     0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
 
  292     0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
 
  293     0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
 
  294     0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
 
  295     0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
 
  296     0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
 
  297     0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
 
  298     0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
 
  302 static const u_char CAcDht[] = {    
 
  307     0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04,  
 
  308     0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77,
 
  310     0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 
 
  311     0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
 
  312     0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
 
  313     0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
 
  314     0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
 
  315     0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
 
  316     0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
 
  317     0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
 
  318     0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
 
  319     0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
 
  320     0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
 
  321     0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
 
  322     0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
 
  323     0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
 
  324     0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
 
  325     0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
 
  326     0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
 
  327     0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
 
  328     0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
 
  329     0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,