36 #define MIMIC_HEADER_SIZE   20 
   68     0x0000000a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
   69     0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
   70     0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000b,
 
   71     0x0000001b, 0x00000038, 0x00000078, 0x00000079, 0x0000007a, 0x000000f9,
 
   72     0x000000fa, 0x000003fb, 0x000007f8, 0x000007f9, 0x000007fa, 0x000007fb,
 
   73     0x00000ff8, 0x00000ff9, 0x00000001, 0x00000039, 0x0000007b, 0x000000fb,
 
   74     0x000001f8, 0x000001f9, 0x00000ffa, 0x00000ffb, 0x00001ff8, 0x00001ff9,
 
   75     0x00001ffa, 0x00001ffb, 0x00003ff8, 0x00003ff9, 0x00003ffa, 0x00000000,
 
   76     0x00000004, 0x0000003a, 0x000001fa, 0x00003ffb, 0x00007ff8, 0x00007ff9,
 
   77     0x00007ffa, 0x00007ffb, 0x0000fff8, 0x0000fff9, 0x0000fffa, 0x0000fffb,
 
   78     0x0001fff8, 0x0001fff9, 0x0001fffa, 0x00000000, 0x0000000c, 0x000000f8,
 
   79     0x000001fb, 0x0001fffb, 0x0003fff8, 0x0003fff9, 0x0003fffa, 0x0003fffb,
 
   80     0x0007fff8, 0x0007fff9, 0x0007fffa, 0x0007fffb, 0x000ffff8, 0x000ffff9,
 
   81     0x000ffffa, 0x00000000, 0x0000001a, 0x000003f8, 0x000ffffb, 0x001ffff8,
 
   82     0x001ffff9, 0x001ffffa, 0x001ffffb, 0x003ffff8, 0x003ffff9, 0x003ffffa,
 
   83     0x003ffffb, 0x007ffff8, 0x007ffff9, 0x007ffffa, 0x007ffffb, 0x00000000,
 
   84     0x0000003b, 0x000003f9, 0x00fffff8, 0x00fffff9, 0x00fffffa, 0x00fffffb,
 
   85     0x01fffff8, 0x01fffff9, 0x01fffffa, 0x01fffffb, 0x03fffff8, 0x03fffff9,
 
   86     0x03fffffa, 0x03fffffb, 0x07fffff8, 0x00000000, 0x000003fa, 0x07fffff9,
 
   87     0x07fffffa, 0x07fffffb, 0x0ffffff8, 0x0ffffff9, 0x0ffffffa, 0x0ffffffb,
 
   88     0x1ffffff8, 0x1ffffff9, 0x1ffffffa, 0x1ffffffb, 0x3ffffff8, 0x3ffffff9,
 
   93      4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 
   94      0,  0,  0,  0,  2,  4,  5,  6,  7,  7,  7,  8,
 
   95      8, 10, 11, 11, 11, 11, 12, 12,  2,  6,  7,  8,
 
   96      9,  9, 12, 12, 13, 13, 13, 13, 14, 14, 14,  0,
 
   97      3,  6,  9, 14, 15, 15, 15, 15, 16, 16, 16, 16,
 
   98     17, 17, 17,  0,  4,  8,  9, 17, 18, 18, 18, 18,
 
   99     19, 19, 19, 19, 20, 20, 20,  0,  5, 10, 20, 21,
 
  100     21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,  0,
 
  101      6, 10, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26,
 
  102     26, 26, 27,  0, 10, 27, 27, 27, 28, 28, 28, 28,
 
  103     29, 29, 29, 29, 30, 30, 30,
 
  107      0,  8,  1,  2,  9, 16, 24, 17,
 
  108     10,  3,  4, 11, 18, 25, 32, 40,
 
  109     33, 26, 19, 12,  5,  6, 13, 20,
 
  110     27, 34, 41, 48, 56, 49, 42, 35,
 
  111     28, 21, 14,  7, 15, 22, 29, 36,
 
  112     43, 50, 57, 58, 51, 44, 37, 30,
 
  113     23, 31, 38, 45, 52, 59, 39, 46,
 
  114     53, 60, 61, 54, 47, 55, 62, 63,
 
  123     ctx->swap_buf_size = 0;
 
  126         if (
ctx->frames[
i].f)
 
  157         if (!
ctx->frames[
i].f) {
 
  172     if (avctx == avctx_from)
 
  180         if (
i != 
src->next_cur_index && 
src->frames[
i].f->data[0]) {
 
  195     {   -7,   7,   -6,   6,   -5,   5,   -4,   4, },
 
  196     {  -15,  15,  -14,  14,  -13,  13,  -12,  12,
 
  197        -11,  11,  -10,  10,   -9,   9,   -8,   8, },
 
  198     {  -31,  31,  -30,  30,  -29,  29,  -28,  28,
 
  199        -27,  27,  -26,  26,  -25,  25,  -24,  24,
 
  200        -23,  23,  -22,  22,  -21,  21,  -20,  20,
 
  201        -19,  19,  -18,  18,  -17,  17,  -16,  16, },
 
  202     {  -63,  63,  -62,  62,  -61,  61,  -60,  60,
 
  203        -59,  59,  -58,  58,  -57,  57,  -56,  56,
 
  204        -55,  55,  -54,  54,  -53,  53,  -52,  52,
 
  205        -51,  51,  -50,  50,  -49,  49,  -48,  48,
 
  206        -47,  47,  -46,  46,  -45,  45,  -44,  44,
 
  207        -43,  43,  -42,  42,  -41,  41,  -40,  40,
 
  208        -39,  39,  -38,  38,  -37,  37,  -36,  36,
 
  209        -35,  35,  -34,  34,  -33,  33,  -32,  32, },
 
  210     { -127, 127, -126, 126, -125, 125, -124, 124,
 
  211       -123, 123, -122, 122, -121, 121, -120, 120,
 
  212       -119, 119, -118, 118, -117, 117, -116, 116,
 
  213       -115, 115, -114, 114, -113, 113, -112, 112,
 
  214       -111, 111, -110, 110, -109, 109, -108, 108,
 
  215       -107, 107, -106, 106, -105, 105, -104, 104,
 
  216       -103, 103, -102, 102, -101, 101, -100, 100,
 
  217        -99,  99,  -98,  98,  -97,  97,  -96,  96, },
 
  218     {  -95,  95,  -94,  94,  -93,  93,  -92,  92,
 
  219        -91,  91,  -90,  90,  -89,  89,  -88,  88,
 
  220        -87,  87,  -86,  86,  -85,  85,  -84,  84,
 
  221        -83,  83,  -82,  82,  -81,  81,  -80,  80,
 
  222        -79,  79,  -78,  78,  -77,  77,  -76,  76,
 
  223        -75,  75,  -74,  74,  -73,  73,  -72,  72,
 
  224        -71,  71,  -70,  70,  -69,  69,  -68,  68,
 
  225        -67,  67,  -66,  66,  -65,  65,  -64,  64, },
 
  238         uint32_t vlc, num_bits;
 
  275     int ret, y, x, plane, cur_row = 0;
 
  277     for (plane = 0; plane < 3; plane++) {
 
  278         const int is_chroma = !!plane;
 
  279         const int qscale    = av_clip(10000 - 
quality, is_chroma ? 1000 : 2000,
 
  281         const int stride    = 
ctx->frames[
ctx->cur_index ].f->linesize[plane];
 
  285         for (y = 0; y < 
ctx->num_vblocks[plane]; y++) {
 
  286             for (x = 0; x < 
ctx->num_hblocks[plane]; x++) {
 
  305                         int index            = (
ctx->cur_index + backref) & 15;
 
  312                                  ctx->frames[
ctx->prev_index].f->data[plane];
 
  313                             ctx->hdsp.put_pixels_tab[1][0](dst, p, 
stride, 8);
 
  316                                      "No such backreference! Buggy sample.\n");
 
  328             dst += (
stride - 
ctx->num_hblocks[plane]) << 3;
 
  346     f->data[0] = 
f->data[0] + ( 
f->height       - 1) * 
f->linesize[0];
 
  347     f->data[1] = 
f->data[2] + ((
f->height >> 1) - 1) * 
f->linesize[2];
 
  348     f->data[2] = data_1     + ((
f->height >> 1) - 1) * 
f->linesize[1];
 
  350         f->linesize[
i] *= -1;
 
  357     int buf_size       = avpkt->
size;
 
  373     quality    = bytestream2_get_le16u(&gb);
 
  374     width      = bytestream2_get_le16u(&gb);
 
  375     height     = bytestream2_get_le16u(&gb);
 
  377     is_pframe  = bytestream2_get_le32u(&gb);
 
  378     num_coeffs = bytestream2_get_byteu(&gb);
 
  396         for (
i = 0; 
i < 3; 
i++) {
 
  405     if (is_pframe && !
ctx->frames[
ctx->prev_index].f->data[0]) {
 
  417     ctx->next_prev_index = 
ctx->cur_index;
 
  418     ctx->next_cur_index  = (
ctx->cur_index - 1) & 15;
 
  426     ctx->bbdsp.bswap_buf(
ctx->swap_buf,
 
  445     ctx->prev_index = 
ctx->next_prev_index;
 
  446     ctx->cur_index  = 
ctx->next_cur_index;