mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-27 18:02:11 +00:00
libavcodec/jpeg2000dec: Fix codeblock decode check
The codeblock decoder checks whether the mqc decoder has decoded the right number of bytes. However, this check does not account for the fact that the mqc encoder's flush routine adds 2 bytes of data which does not have to be read by the decoder. The check is modified to account for this. This patch solves issue #4827 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
4333718b35
commit
ff5b9ece42
@ -1754,9 +1754,13 @@ static int decode_cblk(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *codsty,
|
||||
pass_cnt ++;
|
||||
}
|
||||
|
||||
if (cblk->data + cblk->length - 2*(term_cnt < cblk->nb_terminations) != t1->mqc.bp) {
|
||||
if (cblk->data + cblk->length - 2 > t1->mqc.bp) {
|
||||
av_log(s->avctx, AV_LOG_WARNING, "End mismatch %"PTRDIFF_SPECIFIER"\n",
|
||||
cblk->data + cblk->length - 2*(term_cnt < cblk->nb_terminations) - t1->mqc.bp);
|
||||
cblk->data + cblk->length - 2 - t1->mqc.bp);
|
||||
}
|
||||
|
||||
if (cblk->data + cblk->length < t1->mqc.bp) {
|
||||
av_log(s->avctx, AV_LOG_WARNING, "Synthetic End of Stream Marker Read.\n");
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user