| @@ -384,7 +384,8 @@ static int ivi_dec_tile_data_size(GetBitContext *gb) | |||||
| * @param[in] tile pointer to the tile descriptor | * @param[in] tile pointer to the tile descriptor | ||||
| * @return result code: 0 - OK, -1 = error (corrupted blocks data) | * @return result code: 0 - OK, -1 = error (corrupted blocks data) | ||||
| */ | */ | ||||
| static int ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile) | |||||
| static int ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile, | |||||
| AVCodecContext *avctx) | |||||
| { | { | ||||
| int mbn, blk, num_blocks, num_coeffs, blk_size, scan_pos, run, val, | int mbn, blk, num_blocks, num_coeffs, blk_size, scan_pos, run, val, | ||||
| pos, is_intra, mc_type = 0, mv_x, mv_y, col_mask; | pos, is_intra, mc_type = 0, mv_x, mv_y, col_mask; | ||||
| @@ -475,7 +476,7 @@ static int ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile | |||||
| val = IVI_TOSIGNED((hi << 6) | lo); /* merge them and convert into signed val */ | val = IVI_TOSIGNED((hi << 6) | lo); /* merge them and convert into signed val */ | ||||
| } else { | } else { | ||||
| if (sym >= 256U) { | if (sym >= 256U) { | ||||
| av_log(NULL, AV_LOG_ERROR, "Invalid sym encountered: %d.\n", sym); | |||||
| av_log(avctx, AV_LOG_ERROR, "Invalid sym encountered: %d.\n", sym); | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| run = rvmap->runtab[sym]; | run = rvmap->runtab[sym]; | ||||
| @@ -489,7 +490,7 @@ static int ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile | |||||
| pos = band->scan[scan_pos]; | pos = band->scan[scan_pos]; | ||||
| if (!val) | if (!val) | ||||
| av_dlog(NULL, "Val = 0 encountered!\n"); | |||||
| av_dlog(avctx, "Val = 0 encountered!\n"); | |||||
| q = (base_tab[pos] * quant) >> 9; | q = (base_tab[pos] * quant) >> 9; | ||||
| if (q > 1) | if (q > 1) | ||||
| @@ -766,7 +767,7 @@ static int decode_band(IVI45DecContext *ctx, | |||||
| if (result < 0) | if (result < 0) | ||||
| break; | break; | ||||
| result = ivi_decode_blocks(&ctx->gb, band, tile); | |||||
| result = ivi_decode_blocks(&ctx->gb, band, tile, avctx); | |||||
| if (result < 0 || ((get_bits_count(&ctx->gb) - pos) >> 3) != tile->data_size) { | if (result < 0 || ((get_bits_count(&ctx->gb) - pos) >> 3) != tile->data_size) { | ||||
| av_log(avctx, AV_LOG_ERROR, "Corrupted tile data encountered!\n"); | av_log(avctx, AV_LOG_ERROR, "Corrupted tile data encountered!\n"); | ||||
| break; | break; | ||||