Browse Source

indeo: print errors if transform and block size mismatch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.1
Michael Niedermayer 12 years ago
parent
commit
76d0a6656b
2 changed files with 6 additions and 2 deletions
  1. +3
    -1
      libavcodec/indeo4.c
  2. +3
    -1
      libavcodec/indeo5.c

+ 3
- 1
libavcodec/indeo4.c View File

@@ -358,8 +358,10 @@ static int decode_band_hdr(IVI45DecContext *ctx, IVIBandDesc *band,
else
band->transform_size = 4;

if (band->blk_size != band->transform_size)
if (band->blk_size != band->transform_size) {
av_log(avctx, AV_LOG_ERROR, "transform and block size mismatch (%d != %d)\n", band->transform_size, band->blk_size);
return AVERROR_INVALIDDATA;
}

scan_indx = get_bits(&ctx->gb, 4);
if (scan_indx == 15) {


+ 3
- 1
libavcodec/indeo5.c View File

@@ -191,8 +191,10 @@ static int decode_gop_header(IVI45DecContext *ctx, AVCodecContext *avctx)
band->is_2d_trans = band->inv_transform == ff_ivi_inverse_slant_8x8 ||
band->inv_transform == ff_ivi_inverse_slant_4x4;

if (band->transform_size != band->blk_size)
if (band->transform_size != band->blk_size) {
av_log(avctx, AV_LOG_ERROR, "transform and block size mismatch (%d != %d)\n", band->transform_size, band->blk_size);
return AVERROR_INVALIDDATA;
}

/* select dequant matrix according to plane and band number */
if (!p) {


Loading…
Cancel
Save