diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2013-07-01 10:01:00 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-07-02 20:05:43 +0200 |
commit | be3271009ef893fbed9640e8edbd771685fd957b (patch) | |
tree | 1a27be205f7d85b275f40a980c782b63c07a28cd | |
parent | fbcc03db8f3919e2ea46d6ad11a00906b1c0ef0e (diff) | |
download | ffmpeg-be3271009ef893fbed9640e8edbd771685fd957b.tar.gz |
jpeg2000: Define the maximum decomposition levels
And define the resolution levels according.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r-- | libavcodec/jpeg2000.h | 8 | ||||
-rw-r--r-- | libavcodec/jpeg2000dec.c | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/libavcodec/jpeg2000.h b/libavcodec/jpeg2000.h index 1e46f073ec..9282dd50a5 100644 --- a/libavcodec/jpeg2000.h +++ b/libavcodec/jpeg2000.h @@ -67,7 +67,9 @@ enum Jpeg2000Quantsty { // quantization style #define JPEG2000_MAX_CBLKW 64 #define JPEG2000_MAX_CBLKH 64 -#define JPEG2000_MAX_RESLEVELS 33 + +#define JPEG2000_MAX_DECLEVELS 32 +#define JPEG2000_MAX_RESLEVELS (JPEG2000_MAX_DECLEVELS + 1) // T1 flags // flags determining significance of neighbor coefficients @@ -145,8 +147,8 @@ typedef struct Jpeg2000CodingStyle { } Jpeg2000CodingStyle; typedef struct Jpeg2000QuantStyle { - uint8_t expn[32 * 3]; // quantization exponent - uint32_t mant[32 * 3]; // quantization mantissa + uint8_t expn[JPEG2000_MAX_DECLEVELS * 3]; // quantization exponent + uint32_t mant[JPEG2000_MAX_DECLEVELS * 3]; // quantization mantissa uint8_t quantsty; // quantization style uint8_t nguardbits; // number of guard bits } Jpeg2000QuantStyle; diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 8fbe3493ef..de1371405e 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -367,7 +367,7 @@ static int get_qcx(Jpeg2000DecoderContext *s, int n, Jpeg2000QuantStyle *q) x = bytestream_get_be16(&s->buf); q->expn[0] = x >> 11; q->mant[0] = x & 0x7ff; - for (i = 1; i < 32 * 3; i++) { + for (i = 1; i < JPEG2000_MAX_DECLEVELS * 3; i++) { int curexpn = FFMAX(0, q->expn[0] - (i - 1) / 3); q->expn[i] = curexpn; q->mant[i] = q->mant[0]; |