32 #define CCITT_SYMS 104 
   35     0,    1,    2,    3,    4,    5,    6,    7,    8,    9,   10,   11,   12,
 
   36    13,   14,   15,   16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
 
   37    26,   27,   28,   29,   30,   31,   32,   33,   34,   35,   36,   37,   38,
 
   38    39,   40,   41,   42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
 
   39    52,   53,   54,   55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
 
   40   128,  192,  256,  320,  384,  448,  512,  576,  640,  704,  768,  832,  896,
 
   41   960, 1024, 1088, 1152, 1216, 1280, 1344, 1408, 1472, 1536, 1600, 1664, 1728,
 
   42  1792, 1856, 1920, 1984, 2048, 2112, 2176, 2240, 2304, 2368, 2432, 2496, 2560
 
   48     0x35, 0x07, 0x07, 0x08, 0x0B, 0x0C, 0x0E, 0x0F, 0x13, 0x14, 0x07, 0x08, 0x08,
 
   49     0x03, 0x34, 0x35, 0x2A, 0x2B, 0x27, 0x0C, 0x08, 0x17, 0x03, 0x04, 0x28, 0x2B,
 
   50     0x13, 0x24, 0x18, 0x02, 0x03, 0x1A, 0x1B, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
 
   51     0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x04, 0x05, 0x0A, 0x0B, 0x52, 0x53, 0x54,
 
   52     0x55, 0x24, 0x25, 0x58, 0x59, 0x5A, 0x5B, 0x4A, 0x4B, 0x32, 0x33, 0x34, 0x1B,
 
   53     0x12, 0x17, 0x37, 0x36, 0x37, 0x64, 0x65, 0x68, 0x67, 0xCC, 0xCD, 0xD2, 0xD3,
 
   54     0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0x98, 0x99, 0x9A, 0x18, 0x9B,
 
   55     0x08, 0x0C, 0x0D, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F
 
   58     0x37, 0x02, 0x03, 0x02, 0x03, 0x03, 0x02, 0x03, 0x05, 0x04, 0x04, 0x05, 0x07,
 
   59     0x04, 0x07, 0x18, 0x17, 0x18, 0x08, 0x67, 0x68, 0x6C, 0x37, 0x28, 0x17, 0x18,
 
   60     0xCA, 0xCB, 0xCC, 0xCD, 0x68, 0x69, 0x6A, 0x6B, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
 
   61     0xD7, 0x6C, 0x6D, 0xDA, 0xDB, 0x54, 0x55, 0x56, 0x57, 0x64, 0x65, 0x52, 0x53,
 
   62     0x24, 0x37, 0x38, 0x27, 0x28, 0x58, 0x59, 0x2B, 0x2C, 0x5A, 0x66, 0x67, 0x0F,
 
   63     0xC8, 0xC9, 0x5B, 0x33, 0x34, 0x35, 0x6C, 0x6D, 0x4A, 0x4B, 0x4C, 0x4D, 0x72,
 
   64     0x73, 0x74, 0x75, 0x76, 0x77, 0x52, 0x53, 0x54, 0x55, 0x5A, 0x5B, 0x64, 0x65,
 
   65     0x08, 0x0C, 0x0D, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F
 
   72      8,  6,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  7,  7,
 
   73      7,  7,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 
   74      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 
   75      8,  8,  8,  8,  5,  5,  6,  7,  8,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9,
 
   76      9,  9,  9,  9,  9,  9,  9,  9,  9,  6,  9, 11, 11, 11, 12, 12, 12, 12, 12, 12,
 
   80     10,  3,  2,  2,  3,  4,  4,  5,  6,  6,  7,  7,  7,  8,  8,  9, 10, 10, 10, 11,
 
   81     11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
 
   82     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
 
   83     12, 12, 12, 12, 10, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13,
 
   84     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 11, 11, 11, 12, 12, 12, 12, 12, 12,
 
   90     1, 1, 2, 2, 2, 1, 3, 3, 3, 1, 1
 
   94     4, 3, 7, 6, 3, 1, 3, 6, 7, 7, 9
 
  101     static VLC_TYPE code_table1[528][2];
 
  102     static VLC_TYPE code_table2[648][2];
 
  104     static int initialized = 0;
 
  108     ccitt_vlc[0].
table = code_table1;
 
  110     ccitt_vlc[1].
table = code_table2;
 
  112     for (i = 0; i < 2; i++) {
 
  127                                  unsigned int pix_left, 
int *runs,
 
  131     unsigned int run = 0;
 
  138             if (runs >= runend) {
 
  142             if (pix_left <= run) {
 
  151         } 
else if ((
int)t == -1) {
 
  161                                  unsigned int width, 
int *runs,
 
  162                                  const int *runend, 
const int *ref)
 
  164     int mode          = 0, saved_run = 0, t;
 
  165     int run_off       = *ref++;
 
  166     unsigned int offs = 0, 
run = 0;
 
  168     while (offs < width) {
 
  177             run      = run_off - offs;
 
  186         } 
else if (cmode == 1) { 
 
  188             for (k = 0; k < 2; k++) {
 
  200                 *runs++ = 
run + saved_run;
 
  201                 if (runs >= runend) {
 
  207                 if (offs > width || 
run > width) {
 
  213         } 
else if (cmode == 9 || cmode == 10) {
 
  217             run      = run_off - offs + (cmode - 5);
 
  220             if (offs > width || 
run > width) {
 
  224             *runs++ = 
run + saved_run;
 
  225             if (runs >= runend) {
 
  233         while (offs < width && run_off <= offs) {
 
  240         if (runs >= runend) {
 
  255     while (pix_left > 0) {
 
  256         run       = runs[run_idx++];
 
  259         for (; run > 16; run -= 16)
 
  269     unsigned int state = -1;
 
  271     while (srcsize-- > 0) {
 
  273         if ((state & 0xFFF) == 1)
 
  285     int *runs, *ref = NULL, *runend;
 
  287     int runsize = avctx->
width + 2;
 
  296     ref[0] = avctx->
width;
 
  302     for (j = 0; j < 
height; j++) {
 
  303         runend = runs + runsize;
 
  310             int g3d1 = (compr == 
TIFF_G3) && !(opts & 1);