36 #define classic_shift_luma_table_size 42 
   38   34,36,35,69,135,232,9,16,10,24,11,23,12,16,13,10,14,8,15,8,
 
   39   16,8,17,20,16,10,207,206,205,236,11,8,10,21,9,23,8,8,199,70,
 
   44 #define classic_shift_chroma_table_size 59 
   46   66,36,37,38,39,40,41,75,76,77,110,239,144,81,82,83,84,85,118,183,
 
   47   56,57,88,89,56,89,154,57,58,57,26,141,57,56,58,57,58,57,184,119,
 
   48   214,245,116,83,82,49,80,79,78,77,44,75,41,40,39,38,37,36,34, 0,
 
   53     3,  9,  5, 12, 10, 35, 32, 29, 27, 50, 48, 45, 44, 41, 39, 37,
 
   54    73, 70, 68, 65, 64, 61, 58, 56, 53, 50, 49, 46, 44, 41, 38, 36,
 
   55    68, 65, 63, 61, 58, 55, 53, 51, 48, 46, 45, 43, 41, 39, 38, 36,
 
   56    35, 33, 32, 30, 29, 27, 26, 25, 48, 47, 46, 44, 43, 41, 40, 39,
 
   57    37, 36, 35, 34, 32, 31, 30, 28, 27, 26, 24, 23, 22, 20, 19, 37,
 
   58    35, 34, 33, 31, 30, 29, 27, 26, 24, 23, 21, 20, 18, 17, 15, 29,
 
   59    27, 26, 24, 22, 21, 19, 17, 16, 14, 26, 25, 23, 21, 19, 18, 16,
 
   60    15, 27, 25, 23, 21, 19, 17, 16, 14, 26, 25, 23, 21, 18, 17, 14,
 
   61    12, 17, 19, 13,  4,  9,  2, 11,  1,  7,  8,  0, 16,  3, 14,  6,
 
   62    12, 10,  5, 15, 18, 11, 10, 13, 15, 16, 19, 20, 22, 24, 27, 15,
 
   63    18, 20, 22, 24, 26, 14, 17, 20, 22, 24, 27, 15, 18, 20, 23, 25,
 
   64    28, 16, 19, 22, 25, 28, 32, 36, 21, 25, 29, 33, 38, 42, 45, 49,
 
   65    28, 31, 34, 37, 40, 42, 44, 47, 49, 50, 52, 54, 56, 57, 59, 60,
 
   66    62, 64, 66, 67, 69, 35, 37, 39, 40, 42, 43, 45, 47, 48, 51, 52,
 
   67    54, 55, 57, 59, 60, 62, 63, 66, 67, 69, 71, 72, 38, 40, 42, 43,
 
   68    46, 47, 49, 51, 26, 28, 30, 31, 33, 34, 18, 19, 11, 13,  7,  8,
 
   72     3,  1,  2,  2,  2,  2,  3,  3,  7,  5,  7,  5,  8,  6, 11,  9,
 
   73     7, 13, 11, 10,  9,  8,  7,  5,  9,  7,  6,  4,  7,  5,  8,  7,
 
   74    11,  8, 13, 11, 19, 15, 22, 23, 20, 33, 32, 28, 27, 29, 51, 77,
 
   75    43, 45, 76, 81, 46, 82, 75, 55, 56,144, 58, 80, 60, 74,147, 63,
 
   76   143, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
 
   77    80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 27, 30, 21, 22,
 
   78    17, 14,  5,  6,100, 54, 47, 50, 51, 53,106,107,108,109,110,111,
 
   79   112,113,114,115,  4,117,118, 92, 94,121,122,  3,124,103,  2,  1,
 
   80     0,129,130,131,120,119,126,125,136,137,138,139,140,141,142,134,
 
   81   135,132,133,104, 64,101, 62, 57,102, 95, 93, 59, 61, 28, 97, 96,
 
   82    52, 49, 48, 29, 32, 25, 24, 46, 23, 98, 45, 44, 43, 20, 42, 41,
 
   83    19, 18, 99, 40, 15, 39, 38, 16, 13, 12, 11, 37, 10,  9,  8, 36,
 
   84     7,128,127,105,123,116, 35, 34, 33,145, 31, 79, 42,146, 78, 26,
 
   85    83, 48, 49, 50, 44, 47, 26, 31, 30, 18, 17, 19, 21, 24, 25, 13,
 
   86    14, 16, 17, 18, 20, 21, 12, 14, 15,  9, 10,  6,  9,  6,  5,  8,
 
   87     6, 12,  8, 10,  7,  9,  6,  4,  6,  2,  2,  3,  3,  3,  3,  2,
 
   94     for (i = 0; i < 256;) {
 
  118         for (p = 0; p < 3; p++) {
 
  119             for (i = y = 0; y < 256; y++) {
 
  120                 int len0 = s->
len[0][
y];
 
  122                 if(limit <= 0 || !len0)
 
  124                 for (u = 0; u < 256; u++) {
 
  125                     int len1 = s->
len[p][
u];
 
  126                     if (len1 > limit || !len1)
 
  129                     len[i] = len0 + len1;
 
  130                     bits[i] = (s->
bits[0][
y] << len1) + s->
bits[p][u];
 
  131                     symbols[i] = (y << 8) + 
u;
 
  132                     if(symbols[i] != 0xffff) 
 
  138                                           bits, 2, 2, symbols, 2, 2, 0)) < 0)
 
  143         int i, 
b, 
g, 
r, code;
 
  149         for (i = 0, 
g = -16; 
g < 16; 
g++) {
 
  150             int len0 = s->
len[p0][
g & 255];
 
  152             if (limit0 < 2 || !len0)
 
  154             for (
b = -16; 
b < 16; 
b++) {
 
  155                 int len1 = s->
len[p1][
b & 255];
 
  156                 int limit1 = limit0 - len1;
 
  157                 if (limit1 < 1 || !len1)
 
  159                 code = (s->
bits[p0][
g & 255] << len1) + s->
bits[p1][
b & 255];
 
  160                 for (
r = -16; 
r < 16; 
r++) {
 
  161                     int len2 = s->
len[2][
r & 255];
 
  162                     if (len2 > limit1 || !len2)
 
  165                     len[i] = len0 + len1 + len2;
 
  166                     bits[i] = (code << len2) + s->
bits[2][
r & 255];
 
  195     for (i = 0; i < 3; i++) {
 
  203                            s->
bits[i], 4, 4, 0)) < 0)
 
  233         memcpy(s->
bits[1], s->
bits[0], 256 * 
sizeof(uint32_t));
 
  236     memcpy(s->
bits[2], s->
bits[1], 256 * 
sizeof(uint32_t));
 
  239     for (i = 0; i < 3; i++) {
 
  242                             s->
bits[i], 4, 4, 0)) < 0)
 
  257     memset(s->
vlc, 0, 3 * 
sizeof(
VLC));
 
  274         int method, interlace;
 
  350         av_log(avctx, 
AV_LOG_ERROR, 
"width must be a multiple of 4 this colorspace and predictor\n");
 
  371     for (i = 0; i < 6; i++)
 
  388 #define READ_2PIX(dst0, dst1, plane1){\ 
  389     uint16_t code = get_vlc2(&s->gb, s->vlc[3+plane1].table, VLC_BITS, 1);\ 
  394         dst0 = get_vlc2(&s->gb, s->vlc[0].table, VLC_BITS, 3);\ 
  395         dst1 = get_vlc2(&s->gb, s->vlc[plane1].table, VLC_BITS, 3);\ 
  411         for (i = 0; i < 
count; i++) {
 
  429         for(i=0; i<
count; i++){
 
  439     for (i = 0; i < 
count; i++) {
 
  443         } 
else if(decorrelate) {
 
  446                                     s->
temp[0][4 * i + 
G];
 
  448                                     s->
temp[0][4 * i + 
G];
 
  492     offset[1] = frame->
linesize[1] * cy;
 
  493     offset[2] = frame->
linesize[2] * cy;
 
  507     int buf_size = avpkt->
size;
 
  510     const int width2 = s->
width>>1;
 
  512     int fake_ystride, fake_ustride, fake_vstride;
 
  515     int table_size = 0, 
ret;
 
  524                      (
const uint32_t*)buf, buf_size / 4);
 
  535     if ((
unsigned)(buf_size-table_size) >= INT_MAX / 8)
 
  539                   (buf_size-table_size) * 8);
 
  549         int lefty, leftu, leftv;
 
  550         int lefttopy, lefttopu, lefttopv;
 
  559                    "YUY2 output is not implemented yet\n");
 
  578                 for (cy = y = 1; y < s->
height; y++, cy++) {
 
  592                         if (y >= s->
height) 
break;
 
  651                 lefttopy = p->
data[0][3];
 
  655                     lefttopu = p->
data[1][1];
 
  656                     lefttopv = p->
data[2][1];
 
  662                 for (; y<
height; y++, cy++) {
 
  672                         if (y >= height) 
break;
 
  695         int leftr, leftg, leftb, lefta;
 
  696         const int last_line = (height - 1) * p->
linesize[0];
 
  707             lefta = p->
data[0][last_line+
A] = 255;
 
  718                 for (y = s->
height - 2; y >= 0; y--) { 
 
  728                                              fake_ystride, fake_ystride);
 
  737                        "prediction type not supported!\n");
 
  741                    "BGR24 output is not implemented yet\n");
 
  760     for (i = 0; i < 6; i++) {
 
  767 #if CONFIG_HUFFYUV_DECODER 
  783 #if CONFIG_FFVHUFF_DECODER