65                           const uint8_t *
src, 
int src_plane_size, 
int nplanes)
 
   71     if (dst_size < 2LL * src_plane_size * nplanes || src_plane_size <= 0)
 
   74     for (p = 0; p < nplanes; p++) {
 
   76         const uint8_t *src_plane = src + p;
 
   77         const uint8_t *src_plane_end = src_plane + src_plane_size * nplanes;
 
   81         for (; ; src_plane += nplanes) {
 
   82             if (src_plane < src_plane_end && *src_plane == prev && count < 0x3F) {
 
   87                 if (count != 1 || prev >= 0xC0)
 
   88                     *dst++ = 0xC0 | 
count;
 
   91                 if (src_plane == src_plane_end)
 
  101     return dst - dst_start;
 
  110     int bpp, nplanes, i, 
y, line_bytes, written, 
ret, max_pkt_size, sw, sh;
 
  111     const uint32_t *pal = NULL;
 
  112     uint32_t palette256[256];
 
  115     if (avctx->
width > 65535 || avctx->
height > 65535) {
 
  138         pal = (uint32_t *)frame->
data[1];
 
  150     line_bytes = (avctx->
width * bpp + 7) >> 3;
 
  151     line_bytes = (line_bytes + 1) & ~1;
 
  153     max_pkt_size = 128 + avctx->
height * 2 * line_bytes * nplanes + (pal ? 256*3 + 1 : 0);
 
  161     if (sw > 0xFFFFu || sh > 0xFFFFu)
 
  164     bytestream_put_byte(&buf, 10);                  
 
  165     bytestream_put_byte(&buf, 5);                   
 
  166     bytestream_put_byte(&buf, 1);                   
 
  167     bytestream_put_byte(&buf, bpp);                 
 
  168     bytestream_put_le16(&buf, 0);                   
 
  169     bytestream_put_le16(&buf, 0);                   
 
  170     bytestream_put_le16(&buf, avctx->
width - 1);    
 
  171     bytestream_put_le16(&buf, avctx->
height - 1);   
 
  172     bytestream_put_le16(&buf, sw);                  
 
  173     bytestream_put_le16(&buf, sh);                  
 
  174     for (i = 0; i < 16; i++)
 
  175         bytestream_put_be24(&buf, pal ? pal[i] : 0);
 
  176     bytestream_put_byte(&buf, 0);                   
 
  177     bytestream_put_byte(&buf, nplanes);             
 
  178     bytestream_put_le16(&buf, line_bytes);          
 
  180     while (buf - pkt->
data < 128)
 
  183     src = frame->
data[0];
 
  185     for (y = 0; y < avctx->
height; y++) {
 
  187                                       src, line_bytes, nplanes)) < 0) {
 
  195     if (nplanes == 1 && bpp == 8) {
 
  196         if (buf_end - buf < 257) {
 
  200         bytestream_put_byte(&buf, 12);
 
  201         for (i = 0; i < 256; i++) {
 
  202             bytestream_put_be24(&buf, pal[i]);