]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mimic.c
avcodec/pafvideo: Check packet size and frame code before ff_reget_buffer()
[ffmpeg] / libavcodec / mimic.c
index 61ce1ce58408f2c2bb9522416c028390132c3b57..02d8b30e31a977cc607a8065dc8bfd7d1c6cac76 100644 (file)
@@ -260,7 +260,7 @@ static int vlc_decode_block(MimicContext *ctx, int num_coeffs, int qscale)
         /* FFmpeg's IDCT behaves somewhat different from the original code, so
          * a factor of 4 was added to the input */
 
-        coeff = vlcdec_lookup[num_bits][value];
+        coeff = ((int8_t*)vlcdec_lookup[num_bits])[value];
         if (pos < 3)
             coeff *= 16;
         else /* TODO Use >> 10 instead of / 1001 */
@@ -390,9 +390,11 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
             return AVERROR_INVALIDDATA;
         }
 
+        res = ff_set_dimensions(avctx, width, height);
+        if (res < 0)
+            return res;
+
         ctx->avctx     = avctx;
-        avctx->width   = width;
-        avctx->height  = height;
         avctx->pix_fmt = AV_PIX_FMT_YUV420P;
         for (i = 0; i < 3; i++) {
             ctx->num_vblocks[i] = AV_CEIL_RSHIFT(height,   3 + !!i);