Merge commit '97168b204a0b6b79bb6c5f0d40efdf7fc2262476'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 17 Nov 2013 11:33:27 +0000 (12:33 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 17 Nov 2013 11:33:27 +0000 (12:33 +0100)
* commit '97168b204a0b6b79bb6c5f0d40efdf7fc2262476':
  eatgv: use the AVFrame API properly.
  libxavs: use the AVFrame API properly.
  nuv: use the AVFrame API properly.
  flashsvenc: use the AVFrame API properly.

Conflicts:
libavcodec/eatgv.c
libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/eatgv.c
libavcodec/flashsvenc.c
libavcodec/libxavs.c
libavcodec/nuv.c

@@@ -227,13 -225,11 +231,13 @@@ static int tgv_decode_inter(TgvContext 
                  int my = y * 4 + s->mv_codebook[vector][1];
  
                  if (mx < 0 || mx + 4 > s->avctx->width ||
 -                    my < 0 || my + 4 > s->avctx->height)
 +                    my < 0 || my + 4 > s->avctx->height) {
 +                    av_log(s->avctx, AV_LOG_ERROR, "MV %d %d out of picture\n", mx, my);
                      continue;
 +                }
  
-                 src = s->last_frame.data[0] + mx + my * s->last_frame.linesize[0];
-                 src_stride = s->last_frame.linesize[0];
+                 src = s->last_frame->data[0] + mx + my * s->last_frame->linesize[0];
+                 src_stride = s->last_frame->linesize[0];
              } else {
                  int offset = vector - num_mvs;
                  if (offset < num_blocks_raw)
Simple merge
Simple merge
@@@ -137,11 -133,11 +137,11 @@@ static int codec_reinit(AVCodecContext 
              av_log(avctx, AV_LOG_ERROR,
                     "Can't allocate decompression buffer.\n");
              return AVERROR(ENOMEM);
 -        } else
 -            c->decomp_buf = ptr;
 +        }
          ff_rtjpeg_decode_init(&c->rtj, &c->dsp, c->width, c->height,
                                c->lq, c->cq);
-         av_frame_unref(&c->pic);
+         av_frame_unref(c->pic);
 +        return 1;
      } else if (quality != c->quality)
          ff_rtjpeg_decode_init(&c->rtj, &c->dsp, c->width, c->height,
                                c->lq, c->cq);
@@@ -247,21 -231,24 +247,21 @@@ retry
          buf_size -= RTJPEG_HEADER_SIZE;
      }
  
 -    if (keyframe) {
 +    if (size_change || keyframe) {
-         av_frame_unref(&c->pic);
+         av_frame_unref(c->pic);
          init_frame = 1;
      }
  
-     if ((result = ff_reget_buffer(avctx, &c->pic)) < 0)
 -    result = ff_reget_buffer(avctx, c->pic);
 -    if (result < 0) {
 -        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
++    if ((result = ff_reget_buffer(avctx, c->pic)) < 0)
          return result;
 -    }
      if (init_frame) {
-         memset(c->pic.data[0], 0,    avctx->height * c->pic.linesize[0]);
-         memset(c->pic.data[1], 0x80, avctx->height * c->pic.linesize[1] / 2);
-         memset(c->pic.data[2], 0x80, avctx->height * c->pic.linesize[2] / 2);
+         memset(c->pic->data[0], 0,    avctx->height * c->pic->linesize[0]);
+         memset(c->pic->data[1], 0x80, avctx->height * c->pic->linesize[1] / 2);
+         memset(c->pic->data[2], 0x80, avctx->height * c->pic->linesize[2] / 2);
      }
  
-     c->pic.pict_type = keyframe ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_P;
-     c->pic.key_frame = keyframe;
+     c->pic->pict_type = keyframe ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_P;
+     c->pic->key_frame = keyframe;
      // decompress/copy/whatever data
      switch (comptype) {
      case NUV_LZO:
              av_log(avctx, AV_LOG_ERROR, "uncompressed frame too short\n");
              height = buf_size / c->width / 3 * 2;
          }
 -        copy_frame(c->pic, buf, c->width, height);
 +        if(height > 0)
-             copy_frame(&c->pic, buf, c->width, height);
++            copy_frame(c->pic, buf, c->width, height);
          break;
      }
      case NUV_RTJPEG_IN_LZO: