]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit '95a8a03a191204c3ca5c8cf6b69ab166765d5ff3'
authorJames Almer <jamrial@gmail.com>
Sat, 28 Oct 2017 00:15:34 +0000 (21:15 -0300)
committerJames Almer <jamrial@gmail.com>
Sat, 28 Oct 2017 00:15:34 +0000 (21:15 -0300)
* commit '95a8a03a191204c3ca5c8cf6b69ab166765d5ff3':
  Add FM Screen Capture Codec decoder

Merged-by: James Almer <jamrial@gmail.com>
1  2 
libavcodec/fmvc.c

index 74e9bdd8a088ddd66c9557cad4524928fcca6bee,64136e392dc9e943bf0cb030fae89b0ab5ac7096..a06b90c6fe24f8e8f83d0d8d36d1905cdfcb0481
@@@ -437,10 -436,11 +436,11 @@@ static int decode_frame(AVCodecContext 
          for (y = 0; y < avctx->height; y++) {
              memcpy(dst, src, avctx->width * s->bpp);
              dst -= frame->linesize[0];
 -            src += avctx->width * s->bpp;
 +            src += s->stride * 4;
          }
      } else {
-         int block, nb_blocks, type, k, l;
+         unsigned block, nb_blocks;
+         int type, k, l;
          uint8_t *ssrc, *ddst;
          const uint32_t *src;
          uint32_t *dst;
  
          type = bytestream2_get_le16(gb);
          for (block = 0; block < nb_blocks; block++) {
-             int size, offset, start = 0;
+             unsigned size, offset;
+             int start = 0;
  
              offset = bytestream2_get_le16(gb);
 -            if (offset > s->nb_blocks)
 +            if (offset >= s->nb_blocks)
                  return AVERROR_INVALIDDATA;
  
              size = bytestream2_get_le16(gb);
@@@ -563,8 -570,7 +570,7 @@@ static av_cold int decode_init(AVCodecC
      s->nb_blocks = s->xb * s->yb;
      if (!s->nb_blocks)
          return AVERROR_INVALIDDATA;
-     s->blocks = av_calloc(s->nb_blocks, sizeof(*s->blocks));
 -    s->blocks    = av_mallocz(s->nb_blocks * sizeof(*s->blocks));
++    s->blocks    = av_calloc(s->nb_blocks, sizeof(*s->blocks));
      if (!s->blocks)
          return AVERROR(ENOMEM);
  
          }
      }
  
-     s->bpp = avctx->bits_per_coded_sample >> 3;
-     s->buffer_size = avctx->width * avctx->height * 4;
+     s->bpp          = avctx->bits_per_coded_sample >> 3;
+     s->buffer_size  = avctx->width * avctx->height * 4;
      s->pbuffer_size = avctx->width * avctx->height * 4;
-     s->buffer = av_mallocz(s->buffer_size);
-     s->pbuffer = av_mallocz(s->pbuffer_size);
 -    s->buffer       = av_malloc(s->buffer_size);
 -    s->pbuffer      = av_malloc(s->pbuffer_size);
++    s->buffer       = av_mallocz(s->buffer_size);
++    s->pbuffer      = av_mallocz(s->pbuffer_size);
      if (!s->buffer || !s->pbuffer)
          return AVERROR(ENOMEM);