mirror of https://git.ffmpeg.org/ffmpeg.git
indeo4: Check the inherited quant_mat
Invalidate it if not supported. Sample-Id: 00000262-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
This commit is contained in:
parent
0cb83c5638
commit
c9ef6b0932
|
@ -370,13 +370,15 @@ static int decode_band_hdr(IVI45DecContext *ctx, IVIBandDesc *band,
|
|||
band->scan = scan_index_to_tab[scan_indx];
|
||||
|
||||
band->quant_mat = get_bits(&ctx->gb, 5);
|
||||
if (band->quant_mat == 31) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Custom quant matrix encountered!\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
if (band->quant_mat >= FF_ARRAY_ELEMS(quant_index_to_tab)) {
|
||||
avpriv_request_sample(avctx, "Quantization matrix %d",
|
||||
band->quant_mat);
|
||||
|
||||
if (band->quant_mat == 31)
|
||||
av_log(avctx, AV_LOG_ERROR,
|
||||
"Custom quant matrix encountered!\n");
|
||||
else
|
||||
avpriv_request_sample(avctx, "Quantization matrix %d",
|
||||
band->quant_mat);
|
||||
band->quant_mat = -1;
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
} else {
|
||||
|
@ -386,6 +388,10 @@ static int decode_band_hdr(IVI45DecContext *ctx, IVIBandDesc *band,
|
|||
"inherited\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
if (band->quant_mat < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Invalid quant_mat inherited\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
}
|
||||
|
||||
/* decode block huffman codebook */
|
||||
|
|
Loading…
Reference in New Issue