aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-03-31 21:42:50 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-05-03 01:31:07 +0200
commit5d6982c13bba56115125de68969f46906038b73e (patch)
tree2d9dc015487e936aed4e4c8db2ad2996299ee28d
parente11fa0879a66d4e9c0258b6232a8f59121308d0c (diff)
downloadffmpeg-242e6472f726afb1e1f5cea817ce0c9492598f85.tar.gz
indeo4: check that num_mbs matchesn0.9.2
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit d3db8988d5befd8702a748cf1957415677bfe75c) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/indeo4.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/indeo4.c b/libavcodec/indeo4.c
index 9ce701b0f2..6763af4eb8 100644
--- a/libavcodec/indeo4.c
+++ b/libavcodec/indeo4.c
@@ -473,6 +473,11 @@ static int decode_mb_info(IVI4DecContext *ctx, IVIBandDesc *band,
mv_scale = (ctx->planes[0].bands[0].mb_size >> 3) - (band->mb_size >> 3);
mv_x = mv_y = 0;
+ if (((tile->width + band->mb_size-1)/band->mb_size) * ((tile->height + band->mb_size-1)/band->mb_size) != tile->num_MBs) {
+ av_log(avctx, AV_LOG_ERROR, "num_MBs mismatch %d %d %d %d\n", tile->width, tile->height, band->mb_size, tile->num_MBs);
+ return -1;
+ }
+
for (y = tile->ypos; y < tile->ypos + tile->height; y += band->mb_size) {
mb_offset = offs;