Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 23 Dec 2012 14:03:15 +0000 (15:03 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 23 Dec 2012 14:03:15 +0000 (15:03 +0100)
* qatar/master:
  8bps: cosmetics
  aasc: cosmetics, reformat
  ansi: remove an extra return
  asvdec: cosmetics, reformat
  aura: cosmetics, reformat

Conflicts:
libavcodec/aasc.c
libavcodec/asvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/8bps.c
libavcodec/aasc.c
libavcodec/asvdec.c
libavcodec/aura.c

Simple merge
@@@ -79,43 -54,26 +79,43 @@@ static int aasc_decode_frame(AVCodecCon
                                AVPacket *avpkt)
  {
      const uint8_t *buf = avpkt->data;
-     int buf_size = avpkt->size;
-     AascContext *s = avctx->priv_data;
+     int buf_size       = avpkt->size;
+     AascContext *s     = avctx->priv_data;
 -    int compr, i, stride;
 +    int compr, i, stride, psize;
 +
 +    if (buf_size < 4) {
 +        av_log(avctx, AV_LOG_ERROR, "frame too short\n");
 +        return AVERROR_INVALIDDATA;
 +    }
  
 -    s->frame.reference = 1;
 +    s->frame.reference = 3;
      s->frame.buffer_hints = FF_BUFFER_HINTS_VALID | FF_BUFFER_HINTS_PRESERVE | FF_BUFFER_HINTS_REUSABLE;
      if (avctx->reget_buffer(avctx, &s->frame)) {
          av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n");
          return -1;
      }
  
-     compr = AV_RL32(buf);
-     buf += 4;
+     compr     = AV_RL32(buf);
+     buf      += 4;
      buf_size -= 4;
-     switch(compr){
 +    psize = avctx->bits_per_coded_sample / 8;
 +    switch (avctx->codec_tag) {
 +    case MKTAG('A', 'A', 'S', '4'):
 +        bytestream2_init(&s->gb, buf - 4, buf_size + 4);
 +        ff_msrle_decode(avctx, (AVPicture*)&s->frame, 8, &s->gb);
 +        break;
 +    case MKTAG('A', 'A', 'S', 'C'):
+     switch (compr) {
      case 0:
 -        stride = (avctx->width * 3 + 3) & ~3;
 +        stride = (avctx->width * psize + psize) & ~psize;
-         for(i = avctx->height - 1; i >= 0; i--){
-             if(avctx->width * psize > buf_size){
+         for (i = avctx->height - 1; i >= 0; i--) {
 -            memcpy(s->frame.data[0] + i * s->frame.linesize[0], buf, avctx->width * 3);
++            if (avctx->width * psize > buf_size) {
 +                av_log(avctx, AV_LOG_ERROR, "Next line is beyond buffer bounds\n");
 +                break;
 +            }
 +            memcpy(s->frame.data[0] + i*s->frame.linesize[0], buf, avctx->width * psize);
              buf += stride;
 +            buf_size -= stride;
          }
          break;
      case 1:
@@@ -260,26 -288,27 +285,26 @@@ static av_cold int decode_init(AVCodecC
      ff_asv_common_init(avctx);
      init_vlcs(a);
      ff_init_scantable(a->dsp.idct_permutation, &a->scantable, ff_asv_scantab);
-     avctx->pix_fmt= AV_PIX_FMT_YUV420P;
+     avctx->pix_fmt = AV_PIX_FMT_YUV420P;
  
-     if(avctx->extradata_size < 1 || (a->inv_qscale= avctx->extradata[0]) == 0){
 -    a->inv_qscale = avctx->extradata[0];
 -    if (a->inv_qscale == 0) {
++    if (avctx->extradata_size < 1 || (a->inv_qscale = avctx->extradata[0]) == 0) {
          av_log(avctx, AV_LOG_ERROR, "illegal qscale 0\n");
-         if(avctx->codec_id == AV_CODEC_ID_ASV1)
-             a->inv_qscale= 6;
+         if (avctx->codec_id == AV_CODEC_ID_ASV1)
+             a->inv_qscale = 6;
          else
-             a->inv_qscale= 10;
+             a->inv_qscale = 10;
      }
  
-     for(i=0; i<64; i++){
+     for (i = 0; i < 64; i++) {
          int index = ff_asv_scantab[i];
  
-         a->intra_matrix[i]= 64*scale*ff_mpeg1_default_intra_matrix[index] / a->inv_qscale;
+         a->intra_matrix[i] = 64 * scale * ff_mpeg1_default_intra_matrix[index] / a->inv_qscale;
      }
  
-     p->qstride= a->mb_width;
-     p->qscale_table= av_malloc( p->qstride * a->mb_height);
-     p->quality= (32*scale + a->inv_qscale/2)/a->inv_qscale;
-     memset(p->qscale_table, p->quality, p->qstride*a->mb_height);
+     p->qstride      = a->mb_width;
+     p->qscale_table = av_malloc(p->qstride * a->mb_height);
+     p->quality      = (32 * scale + a->inv_qscale / 2) / a->inv_qscale;
+     memset(p->qscale_table, p->quality, p->qstride * a->mb_height);
  
      return 0;
  }
Simple merge