44         if (*x + run >= s->
width) {
 
   46             memset(d + *x, value, n);
 
   53             memset(d + *x, value, run);
 
   61                       int *x, 
int *
y, 
int *plane, 
int bits_per_plane)
 
   64     int shift = *plane * bits_per_plane;
 
   65     int mask  = ((1 << bits_per_plane) - 1) << 
shift;
 
   70         for (j = 8-bits_per_plane; j >= 0; j -= bits_per_plane) {
 
   72             d[*x] |= (value >> j) & mask;
 
   80                    value <<= bits_per_plane;
 
   81                    mask  <<= bits_per_plane;
 
   95     [3] = { 0, 11, 13, 15 }, 
 
   96     [4] = { 0, 10, 12, 14 }, 
 
   97     [5] = { 0, 11, 12, 15 }, 
 
  101                         void *
data, 
int *got_frame,
 
  107     int bits_per_plane, bpp, etype, esize, npal, pos_after_pal;
 
  108     int i, x, 
y, plane, tmp, 
ret, 
val;
 
  115     if (bytestream2_get_le16u(&s->
g) != 0x1234)
 
  118     s->
width       = bytestream2_get_le16u(&s->
g);
 
  119     s->
height      = bytestream2_get_le16u(&s->
g);
 
  121     tmp            = bytestream2_get_byteu(&s->
g);
 
  122     bits_per_plane = tmp & 0xF;
 
  125     if (bits_per_plane > 8 || bpp < 1 || bpp > 32) {
 
  130     if (bytestream2_peek_byte(&s->
g) == 0xFF || bpp == 1 || bpp == 4 || bpp == 8) {
 
  132         etype = bytestream2_get_le16(&s->
g);
 
  133         esize = bytestream2_get_le16(&s->
g);
 
  156     palette = (uint32_t*)frame->
data[1];
 
  157     if (etype == 1 && esize > 1 && bytestream2_peek_byte(&s->
g) < 6) {
 
  158         int idx = bytestream2_get_byte(&s->
g);
 
  160         for (i = 0; i < npal; i++)
 
  162     } 
else if (etype == 2) {
 
  163         npal = 
FFMIN(esize, 16);
 
  164         for (i = 0; i < npal; i++) {
 
  165             int pal_idx = bytestream2_get_byte(&s->
g);
 
  168     } 
else if (etype == 3) {
 
  169         npal = 
FFMIN(esize, 16);
 
  170         for (i = 0; i < npal; i++) {
 
  171             int pal_idx = bytestream2_get_byte(&s->
g);
 
  174     } 
else if (etype == 4 || etype == 5) {
 
  175         npal = 
FFMIN(esize / 3, 256);
 
  176         for (i = 0; i < npal; i++) {
 
  177             palette[i] = bytestream2_get_be24(&s->
g) << 2;
 
  178             palette[i] |= 0xFFU << 24 | palette[i] >> 6 & 0x30303;
 
  183             palette[0] = 0xFF000000;
 
  184             palette[1] = 0xFFFFFFFF;
 
  185         } 
else if (bpp == 2) {
 
  187             for (i = 0; i < npal; i++)
 
  201     if (bytestream2_get_le16(&s->
g)) {
 
  205             int stop_size, marker, 
t1, 
t2;
 
  208             t2        = bytestream2_get_le16(&s->
g);
 
  209             stop_size = t1 - 
FFMIN(t1, t2);
 
  212             marker    = bytestream2_get_byte(&s->
g);
 
  214             while (plane < s->nb_planes &&
 
  217                 val = bytestream2_get_byte(&s->
g);
 
  219                     run = bytestream2_get_byte(&s->
g);
 
  221                         run = bytestream2_get_le16(&s->
g);
 
  222                     val = bytestream2_get_byte(&s->
g);
 
  227                 if (bits_per_plane == 8) {
 
  232                     picmemset(s, frame, val, run, &x, &y, &plane, bits_per_plane);
 
  237         if (x < avctx->
width) {
 
  238             int run = (y + 1) * avctx->
width - x;
 
  239             if (bits_per_plane == 8)
 
  242                 picmemset(s, frame, val, run / (8 / bits_per_plane), &x, &y, &plane, bits_per_plane);