Merge commit 'be3271009ef893fbed9640e8edbd771685fd957b'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Jul 2013 10:02:11 +0000 (12:02 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Jul 2013 10:02:11 +0000 (12:02 +0200)
* commit 'be3271009ef893fbed9640e8edbd771685fd957b':
  jpeg2000: Define the maximum decomposition levels

Conflicts:
libavcodec/jpeg2000.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/jpeg2000.h
libavcodec/jpeg2000dec.c

@@@ -143,8 -147,8 +145,8 @@@ typedef struct Jpeg2000CodingStyle 
  } Jpeg2000CodingStyle;
  
  typedef struct Jpeg2000QuantStyle {
-     uint8_t expn[32 * 3];  // quantization exponent
-     uint16_t mant[32 * 3]; // quantization mantissa
+     uint8_t expn[JPEG2000_MAX_DECLEVELS * 3];  // quantization exponent
 -    uint32_t mant[JPEG2000_MAX_DECLEVELS * 3]; // quantization mantissa
++    uint16_t mant[JPEG2000_MAX_DECLEVELS * 3]; // quantization mantissa
      uint8_t quantsty;      // quantization style
      uint8_t nguardbits;    // number of guard bits
  } Jpeg2000QuantStyle;
@@@ -386,17 -357,17 +386,17 @@@ static int get_qcx(Jpeg2000DecoderConte
  
      if (q->quantsty == JPEG2000_QSTY_NONE) {
          n -= 3;
 -        if (s->buf_end - s->buf < n)
 +        if (bytestream2_get_bytes_left(&s->g) < n || 32*3 < n)
              return AVERROR(EINVAL);
          for (i = 0; i < n; i++)
 -            q->expn[i] = bytestream_get_byte(&s->buf) >> 3;
 +            q->expn[i] = bytestream2_get_byteu(&s->g) >> 3;
      } else if (q->quantsty == JPEG2000_QSTY_SI) {
 -        if (s->buf_end - s->buf < 2)
 +        if (bytestream2_get_bytes_left(&s->g) < 2)
              return AVERROR(EINVAL);
 -        x          = bytestream_get_be16(&s->buf);
 +        x          = bytestream2_get_be16u(&s->g);
          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];