From: Michael Niedermayer <[email protected]> Raise PATCHWELCOME error in case of non implemented progression order.
Signed-off-by: Luca Barbato <[email protected]> Signed-off-by: Nicolas Bertrand <[email protected]> --- libavcodec/jpeg2kdec.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/libavcodec/jpeg2kdec.c b/libavcodec/jpeg2kdec.c index 211a484..785aad9 100644 --- a/libavcodec/jpeg2kdec.c +++ b/libavcodec/jpeg2kdec.c @@ -722,13 +722,12 @@ static int jpeg2k_decode_packet(Jpeg2KDecoderContext *s, static int jpeg2k_decode_packets(Jpeg2KDecoderContext *s, Jpeg2KTile *tile) { - int layno, reslevelno, compno, precno, ok_reslevel, ret; - uint8_t prog_order = tile->codsty[0].prog_order; - uint16_t x; - uint16_t y; + int ret = 0; + int layno, reslevelno, compno, precno, ok_reslevel; + int x, y; s->bit_index = 8; - switch (prog_order) { + switch (tile->codsty[0].prog_order) { case JPEG2K_PGOD_LRCP: for (layno = 0; layno < tile->codsty[0].nlayers; layno++) { ok_reslevel = 1; @@ -802,6 +801,21 @@ static int jpeg2k_decode_packets(Jpeg2KDecoderContext *s, Jpeg2KTile *tile) } break; + case JPEG2K_PGOD_RLCP: + avpriv_request_sample(s->avctx, "Progression order RLCP"); + ret = AVERROR_PATCHWELCOME; + break; + + case JPEG2K_PGOD_RPCL: + avpriv_request_sample(s->avctx, "Progression order RPCL"); + ret = AVERROR_PATCHWELCOME; + break; + + case JPEG2K_PGOD_PCRL: + avpriv_request_sample(s->avctx, "Progression order PCRL"); + ret = AVERROR_PATCHWELCOME; + break; + default: break; } @@ -809,7 +823,7 @@ static int jpeg2k_decode_packets(Jpeg2KDecoderContext *s, Jpeg2KTile *tile) /* EOC marker reached */ bytestream2_skip(&s->g, 2); - return 0; + return ret; } /* TIER-1 routines */ -- 1.7.9.5 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
