summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/mpegvideo_xvmc.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libavcodec/mpegvideo_xvmc.c b/libavcodec/mpegvideo_xvmc.c
index 7815740481..06c7bfc329 100644
--- a/libavcodec/mpegvideo_xvmc.c
+++ b/libavcodec/mpegvideo_xvmc.c
@@ -312,11 +312,14 @@ void ff_xvmc_decode_mb(MpegEncContext *s)
}
render->filled_mv_blocks_num++;
- assert(render->filled_mv_blocks_num <= render->allocated_mv_blocks);
- assert(render->next_free_data_block_num <= render->allocated_data_blocks);
- /* The above conditions should not be able to fail as long as this function
- * is used and the following 'if ()' automatically calls a callback to free
- * blocks. */
+
+ if (render->filled_mv_blocks_num > render->allocated_mv_blocks)
+ av_log(s->avctx, AV_LOG_ERROR,
+ "Not enough space to store mv blocks allocated.\n");
+
+ if (render->next_free_data_block_num > render->allocated_data_blocks)
+ av_log(s->avctx, AV_LOG_ERROR,
+ "Offset to next data block exceeds number of allocated data blocks.\n");
if (render->filled_mv_blocks_num == render->allocated_mv_blocks)