]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit 'b7616f5716dce68c749d5dfeab19cf595a11807c'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 4 Aug 2014 02:42:04 +0000 (04:42 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 4 Aug 2014 02:42:04 +0000 (04:42 +0200)
* commit 'b7616f5716dce68c749d5dfeab19cf595a11807c':
  huffyuv: Eliminate some pointless casts

Conflicts:
libavcodec/huffyuvdec.c

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

index c55bb13b3e994c03283e3cf655b9697e6008aea4,b2fc3aa67a18e4141473f5e5a8313cd9bf60fa33..b087809dbfcc9be38868a05a447765922c6fc7b1
@@@ -296,30 -263,19 +296,30 @@@ static av_cold int decode_init(AVCodecC
          if (avctx->extradata_size < 4)
              return -1;
  
-         method           = ((uint8_t *) avctx->extradata)[0];
+         method           = avctx->extradata[0];
          s->decorrelate   = method & 64 ? 1 : 0;
          s->predictor     = method & 63;
 -        s->bitstream_bpp = avctx->extradata[1];
 -        if (s->bitstream_bpp == 0)
 -            s->bitstream_bpp = avctx->bits_per_coded_sample & ~7;
 +        if (s->version == 2) {
-             s->bitstream_bpp = ((uint8_t *) avctx->extradata)[1];
++            s->bitstream_bpp = avctx->extradata[1];
 +            if (s->bitstream_bpp == 0)
 +                s->bitstream_bpp = avctx->bits_per_coded_sample & ~7;
 +        } else {
 +            s->bps = (avctx->extradata[1] >> 4) + 1;
 +            s->n = 1<<s->bps;
 +            s->vlc_n = FFMIN(s->n, MAX_VLC_N);
 +            s->chroma_h_shift = avctx->extradata[1] & 3;
 +            s->chroma_v_shift = (avctx->extradata[1] >> 2) & 3;
-             s->yuv   = !!(((uint8_t *) avctx->extradata)[2] & 1);
-             s->chroma= !!(((uint8_t *) avctx->extradata)[2] & 3);
-             s->alpha = !!(((uint8_t *) avctx->extradata)[2] & 4);
++            s->yuv   = !!(avctx->extradata[2] & 1);
++            s->chroma= !!(avctx->extradata[2] & 3);
++            s->alpha = !!(avctx->extradata[2] & 4);
 +        }
-         interlace     = (((uint8_t *) avctx->extradata)[2] & 0x30) >> 4;
+         interlace     = (avctx->extradata[2] & 0x30) >> 4;
          s->interlaced = (interlace == 1) ? 1 : (interlace == 2) ? 0 : s->interlaced;
-         s->context    = ((uint8_t *) avctx->extradata)[2] & 0x40 ? 1 : 0;
+         s->context    = avctx->extradata[2] & 0x40 ? 1 : 0;
  
-         if (read_huffman_tables(s, ((uint8_t *) avctx->extradata) + 4,
+         if (read_huffman_tables(s, avctx->extradata + 4,
                                  avctx->extradata_size - 4) < 0)
 -            return -1;
 +            return AVERROR_INVALIDDATA;
      } else {
          switch (avctx->bits_per_coded_sample & 7) {
          case 1:
@@@ -539,21 -337,18 +539,21 @@@ static av_cold int decode_init_thread_c
      HYuvContext *s = avctx->priv_data;
      int i;
  
 -    ff_huffyuv_alloc_temp(s);
 +    if (ff_huffyuv_alloc_temp(s)) {
 +        ff_huffyuv_common_end(s);
 +        return AVERROR(ENOMEM);
 +    }
  
 -    for (i = 0; i < 6; i++)
 +    for (i = 0; i < 8; i++)
          s->vlc[i].table = NULL;
  
 -    if (s->version == 2) {
 +    if (s->version >= 2) {
-         if (read_huffman_tables(s, ((uint8_t *) avctx->extradata) + 4,
+         if (read_huffman_tables(s, avctx->extradata + 4,
                                  avctx->extradata_size) < 0)
 -            return -1;
 +            return AVERROR_INVALIDDATA;
      } else {
          if (read_old_huffman_tables(s) < 0)
 -            return -1;
 +            return AVERROR_INVALIDDATA;
      }
  
      return 0;