56          0,      0,      0,      0,      0,      0,      0,      0,
 
   57          0,      0,      0,      0,      0,      0,      0,      0,
 
   58          0,      0,      0, -30210, -27853, -25680, -23677, -21829,
 
   59     -20126, -18556, -17108, -15774, -14543, -13408, -12362, -11398,
 
   60     -10508,  -9689,  -8933,  -8236,  -7593,  -7001,  -6455,  -5951,
 
   61      -5487,  -5059,  -4664,  -4300,  -3964,  -3655,  -3370,  -3107,
 
   62      -2865,  -2641,  -2435,  -2245,  -2070,  -1908,  -1759,  -1622,
 
   63      -1495,  -1379,  -1271,  -1172,  -1080,   -996,   -918,   -847,
 
   64       -781,   -720,   -663,   -612,   -564,   -520,   -479,   -442,
 
   65       -407,   -376,   -346,   -319,   -294,   -271,   -250,   -230,
 
   66       -212,   -196,   -181,   -166,   -153,   -141,   -130,   -120,
 
   67       -111,   -102,    -94,    -87,    -80,    -74,    -68,    -62,
 
   68        -58,    -53,    -49,    -45,    -41,    -38,    -35,    -32,
 
   69        -30,    -27,    -25,    -23,    -21,    -20,    -18,    -17,
 
   70        -15,    -14,    -13,    -12,    -11,    -10,     -9,     -8,
 
   71         -7,     -6,     -5,     -4,     -3,     -2,     -1,      0,
 
   72          0,      1,      2,      3,      4,      5,      6,      7,
 
   73          8,      9,     10,     11,     12,     13,     14,     15,
 
   74         17,     18,     20,     21,     23,     25,     27,     30,
 
   75         32,     35,     38,     41,     45,     49,     53,     58,
 
   76         62,     68,     74,     80,     87,     94,    102,    111,
 
   77        120,    130,    141,    153,    166,    181,    196,    212,
 
   78        230,    250,    271,    294,    319,    346,    376,    407,
 
   79        442,    479,    520,    564,    612,    663,    720,    781,
 
   80        847,    918,    996,   1080,   1172,   1271,   1379,   1495,
 
   81       1622,   1759,   1908,   2070,   2245,   2435,   2641,   2865,
 
   82       3107,   3370,   3655,   3964,   4300,   4664,   5059,   5487,
 
   83       5951,   6455,   7001,   7593,   8236,   8933,   9689,  10508,
 
   84      11398,  12362,  13408,  14543,  15774,  17108,  18556,  20126,
 
   85      21829,  23677,  25680,  27853,  30210,      0,      0,      0,
 
   86          0,      0,      0,      0,      0,      0,      0,      0,
 
   87          0,      0,      0,      0,      0,      0,      0,      0
 
   94     for (i = 0; i < 3; ++i)
 
  102     for (i = 0; i < 3; ++i) {
 
  140                               unsigned char *dst, 
int dst_size)
 
  142     int b, huff_code = 0;
 
  143     unsigned char huff_code_table[15];
 
  144     unsigned char *dst_cur       = dst;
 
  145     unsigned char *dst_end       = dst + dst_size;
 
  146     const unsigned char *src_end = src + src_size;
 
  148     memcpy(huff_code_table, src, 15);
 
  151     while (src < src_end) {
 
  153         if ((huff_code >> 4) == 15) {
 
  156             *dst_cur++ = b | (huff_code >> 4);
 
  158             *dst_cur++ = huff_code_table[huff_code >> 4];
 
  159         if (dst_cur >= dst_end)
 
  163         if (huff_code == 15) {
 
  166             *dst_cur++ = huff_code_table[huff_code];
 
  167         if (dst_cur >= dst_end)
 
  171     return dst_cur - dst;
 
  175                            unsigned char *dst, 
int dst_size)
 
  179     unsigned char *dst_end       = dst + dst_size, *dst_start = dst;
 
  180     const unsigned char *src_end = src + src_size;
 
  182     while (src < src_end && dst < dst_end) {
 
  184         for (i = 0; i < 8 && src < src_end && dst < dst_end; ++i) {
 
  185             if (code & (1 << i)) {
 
  191                 if ((
int)(dst - dst_start) < offset + 1)
 
  193                 sz = (cmd & 0xF) + 2;
 
  197                 sz = 
FFMIN(sz, dst_end - dst);
 
  199                     *dst = *(dst - offset - 1);
 
  210                            unsigned char *dst, 
int dst_size)
 
  213     unsigned char *dst_end       = dst + dst_size;
 
  214     const unsigned char *src_end = src + src_size;
 
  216     while (src + 1 < src_end && dst < dst_end) {
 
  220             memset(dst, *src++, 
FFMIN(len, dst_end - dst));
 
  223             if (len > src_end-src) {
 
  227             memcpy(dst, src, 
FFMIN3(len, dst_end - dst, src_end - src));
 
  236                                  void *
data, 
int *got_frame,
 
  240     int buf_size         = avpkt->
size;
 
  242     int i, 
y, palette_type, palette_colors_count,
 
  243         bitmap_frame_type, bitmap_frame_size, 
res = 0;
 
  245     palette_type         = buf[0];
 
  246     palette_colors_count = 
AV_RL16(buf + 1);
 
  247     bitmap_frame_type    = buf[3];
 
  250     bitmap_frame_size = buf_size - 4;
 
  253     if (bitmap_frame_size < palette_colors_count * (3 + (palette_type != 0)))
 
  255     if (palette_type == 0) {
 
  256         if (palette_colors_count > 256)
 
  258         for (i = 0; i < palette_colors_count; ++i) {
 
  259             cin->
palette[i]    = 0xFF
U << 24 | bytestream_get_le24(&buf);
 
  260             bitmap_frame_size -= 3;
 
  263         for (i = 0; i < palette_colors_count; ++i) {
 
  266             bitmap_frame_size   -= 4;
 
  272     switch (bitmap_frame_type) {
 
  366                                  int *got_frame_ptr, 
AVPacket *avpkt)
 
  379     samples = (int16_t *)frame->
data[0];
 
  388     while (buf < buf_end) {
 
  390         delta      = av_clip_int16(delta);
 
  401     .
name           = 
"dsicinvideo",
 
  413     .
name           = 
"dsicinaudio",