mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
jpeg2000: Define the maximum decomposition levels
And define the resolution levels according. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
fbcc03db8f
commit
be3271009e
@ -67,7 +67,9 @@ enum Jpeg2000Quantsty { // quantization style
|
|||||||
#define JPEG2000_MAX_CBLKW 64
|
#define JPEG2000_MAX_CBLKW 64
|
||||||
#define JPEG2000_MAX_CBLKH 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
|
// T1 flags
|
||||||
// flags determining significance of neighbor coefficients
|
// flags determining significance of neighbor coefficients
|
||||||
@ -145,8 +147,8 @@ typedef struct Jpeg2000CodingStyle {
|
|||||||
} Jpeg2000CodingStyle;
|
} Jpeg2000CodingStyle;
|
||||||
|
|
||||||
typedef struct Jpeg2000QuantStyle {
|
typedef struct Jpeg2000QuantStyle {
|
||||||
uint8_t expn[32 * 3]; // quantization exponent
|
uint8_t expn[JPEG2000_MAX_DECLEVELS * 3]; // quantization exponent
|
||||||
uint32_t mant[32 * 3]; // quantization mantissa
|
uint32_t mant[JPEG2000_MAX_DECLEVELS * 3]; // quantization mantissa
|
||||||
uint8_t quantsty; // quantization style
|
uint8_t quantsty; // quantization style
|
||||||
uint8_t nguardbits; // number of guard bits
|
uint8_t nguardbits; // number of guard bits
|
||||||
} Jpeg2000QuantStyle;
|
} Jpeg2000QuantStyle;
|
||||||
|
@ -367,7 +367,7 @@ static int get_qcx(Jpeg2000DecoderContext *s, int n, Jpeg2000QuantStyle *q)
|
|||||||
x = bytestream_get_be16(&s->buf);
|
x = bytestream_get_be16(&s->buf);
|
||||||
q->expn[0] = x >> 11;
|
q->expn[0] = x >> 11;
|
||||||
q->mant[0] = x & 0x7ff;
|
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);
|
int curexpn = FFMAX(0, q->expn[0] - (i - 1) / 3);
|
||||||
q->expn[i] = curexpn;
|
q->expn[i] = curexpn;
|
||||||
q->mant[i] = q->mant[0];
|
q->mant[i] = q->mant[0];
|
||||||
|
Loading…
Reference in New Issue
Block a user