33 #define CCITT_SYMS 104 
   36     0,    1,    2,    3,    4,    5,    6,    7,    8,    9,   10,   11,   12,
 
   37    13,   14,   15,   16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
 
   38    26,   27,   28,   29,   30,   31,   32,   33,   34,   35,   36,   37,   38,
 
   39    39,   40,   41,   42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
 
   40    52,   53,   54,   55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
 
   41   128,  192,  256,  320,  384,  448,  512,  576,  640,  704,  768,  832,  896,
 
   42   960, 1024, 1088, 1152, 1216, 1280, 1344, 1408, 1472, 1536, 1600, 1664, 1728,
 
   43  1792, 1856, 1920, 1984, 2048, 2112, 2176, 2240, 2304, 2368, 2432, 2496, 2560
 
   49     0x35, 0x07, 0x07, 0x08, 0x0B, 0x0C, 0x0E, 0x0F, 0x13, 0x14, 0x07, 0x08, 0x08,
 
   50     0x03, 0x34, 0x35, 0x2A, 0x2B, 0x27, 0x0C, 0x08, 0x17, 0x03, 0x04, 0x28, 0x2B,
 
   51     0x13, 0x24, 0x18, 0x02, 0x03, 0x1A, 0x1B, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
 
   52     0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x04, 0x05, 0x0A, 0x0B, 0x52, 0x53, 0x54,
 
   53     0x55, 0x24, 0x25, 0x58, 0x59, 0x5A, 0x5B, 0x4A, 0x4B, 0x32, 0x33, 0x34, 0x1B,
 
   54     0x12, 0x17, 0x37, 0x36, 0x37, 0x64, 0x65, 0x68, 0x67, 0xCC, 0xCD, 0xD2, 0xD3,
 
   55     0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0x98, 0x99, 0x9A, 0x18, 0x9B,
 
   56     0x08, 0x0C, 0x0D, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F
 
   59     0x37, 0x02, 0x03, 0x02, 0x03, 0x03, 0x02, 0x03, 0x05, 0x04, 0x04, 0x05, 0x07,
 
   60     0x04, 0x07, 0x18, 0x17, 0x18, 0x08, 0x67, 0x68, 0x6C, 0x37, 0x28, 0x17, 0x18,
 
   61     0xCA, 0xCB, 0xCC, 0xCD, 0x68, 0x69, 0x6A, 0x6B, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
 
   62     0xD7, 0x6C, 0x6D, 0xDA, 0xDB, 0x54, 0x55, 0x56, 0x57, 0x64, 0x65, 0x52, 0x53,
 
   63     0x24, 0x37, 0x38, 0x27, 0x28, 0x58, 0x59, 0x2B, 0x2C, 0x5A, 0x66, 0x67, 0x0F,
 
   64     0xC8, 0xC9, 0x5B, 0x33, 0x34, 0x35, 0x6C, 0x6D, 0x4A, 0x4B, 0x4C, 0x4D, 0x72,
 
   65     0x73, 0x74, 0x75, 0x76, 0x77, 0x52, 0x53, 0x54, 0x55, 0x5A, 0x5B, 0x64, 0x65,
 
   66     0x08, 0x0C, 0x0D, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F
 
   73      8,  6,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  7,  7,
 
   74      7,  7,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 
   75      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 
   76      8,  8,  8,  8,  5,  5,  6,  7,  8,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9,
 
   77      9,  9,  9,  9,  9,  9,  9,  9,  9,  6,  9, 11, 11, 11, 12, 12, 12, 12, 12, 12,
 
   81     10,  3,  2,  2,  3,  4,  4,  5,  6,  6,  7,  7,  7,  8,  8,  9, 10, 10, 10, 11,
 
   82     11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
 
   83     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
 
   84     12, 12, 12, 12, 10, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13,
 
   85     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 11, 11, 11, 12, 12, 12, 12, 12, 12,
 
   91     1, 1, 2, 2, 2, 1, 3, 3, 3, 1, 1
 
   95     4, 3, 7, 6, 3, 1, 3, 6, 7, 7, 9
 
  110     for (
i = 0; 
i < 2; 
i++) {
 
  125                                unsigned int *pix_left, 
int **runs,
 
  126                                const int *runend, 
int *
mode)
 
  157         for (k = 0; k < 2; k++) {
 
  160                     *(*runs)++ = saved_run;
 
  161                     if (*runs >= runend) {
 
  165                     if (*pix_left <= saved_run) {
 
  169                     *pix_left -= saved_run;
 
  173                 saved_run += codes[k];
 
  177     *(*runs)++ = saved_run;
 
  178     if (*runs >= runend) {
 
  182     if (*pix_left <= saved_run) {
 
  183         if (*pix_left == saved_run)
 
  188     *pix_left -= saved_run;
 
  191     if (newmode != *
mode) { 
 
  193         if (*runs >= runend) {
 
  203                                  unsigned int pix_left, 
int *runs,
 
  207     unsigned int run = 0;
 
  216             if (runs >= runend) {
 
  220             if (pix_left <= 
run) {
 
  229         } 
else if ((
int)t == -1) {
 
  249                                  unsigned int width, 
int *runs,
 
  250                                  const int *runend, 
const int *
ref)
 
  252     int mode          = 0, saved_run = 0, t;
 
  253     int run_off       = *
ref++;
 
  254     unsigned int offs = 0, 
run = 0;
 
  256     while (offs < 
width) {
 
  268             run      = run_off - offs;
 
  277         } 
else if (cmode == 1) { 
 
  279             for (k = 0; k < 2; k++) {
 
  293                 *runs++ = 
run + saved_run;
 
  294                 if (runs >= runend) {
 
  306         } 
else if (cmode == 9 || cmode == 10) {
 
  311             if (cmode == 9 && xxx == 7) {
 
  313                 int pix_left = 
width - offs;
 
  316                     av_log(avctx, 
AV_LOG_ERROR, 
"saved run %d on entering uncompressed mode\n", saved_run);
 
  320                 offs = 
width - pix_left;
 
  330             run      = run_off - offs + (cmode - 5);
 
  337             *runs++ = 
run + saved_run;
 
  338             if (runs >= runend) {
 
  346         while (offs < 
width && run_off <= offs) {
 
  353         if (runs >= runend) {
 
  368     while (pix_left > 0) {
 
  369         run       = runs[run_idx++];
 
  372         for (; 
run > 16; 
run -= 16)
 
  382     unsigned int state = -1;
 
  384     while (srcsize-- > 0) {
 
  386         if ((
state & 0xFFF) == 1)
 
  398     int *runs, *
ref = 
NULL, *runend;
 
  400     int runsize = avctx->
width + 2;
 
  416     for (j = 0; j < 
height; j++) {
 
  417         runend = runs + runsize;