|  |  | @@ -384,7 +384,8 @@ static int ivi_dec_tile_data_size(GetBitContext *gb) | 
		
	
		
			
			|  |  |  | *  @param[in]      tile  pointer to the tile descriptor | 
		
	
		
			
			|  |  |  | *  @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, | 
		
	
		
			
			|  |  |  | 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 */ | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | 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; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | run = rvmap->runtab[sym]; | 
		
	
	
		
			
				|  |  | @@ -489,7 +490,7 @@ static int ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile | 
		
	
		
			
			|  |  |  | pos = band->scan[scan_pos]; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (!val) | 
		
	
		
			
			|  |  |  | av_dlog(NULL, "Val = 0 encountered!\n"); | 
		
	
		
			
			|  |  |  | av_dlog(avctx, "Val = 0 encountered!\n"); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | q = (base_tab[pos] * quant) >> 9; | 
		
	
		
			
			|  |  |  | if (q > 1) | 
		
	
	
		
			
				|  |  | @@ -766,7 +767,7 @@ static int decode_band(IVI45DecContext *ctx, | 
		
	
		
			
			|  |  |  | if (result < 0) | 
		
	
		
			
			|  |  |  | 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) { | 
		
	
		
			
			|  |  |  | av_log(avctx, AV_LOG_ERROR, "Corrupted tile data encountered!\n"); | 
		
	
		
			
			|  |  |  | break; | 
		
	
	
		
			
				|  |  | 
 |