On Fri, 15 Feb 2013 11:58:54 +0100, Janne Grunau <[email protected]> wrote:
> On 2013-01-08 15:36:23 +0100, Anton Khirnov wrote:
> > ---
> >  libavcodec/bfi.c |   28 +++++++++++-----------------
> >  1 file changed, 11 insertions(+), 17 deletions(-)
> > 
> > diff --git a/libavcodec/bfi.c b/libavcodec/bfi.c
> > index 1971c0c..1f43b9c 100644
> > --- a/libavcodec/bfi.c
> > +++ b/libavcodec/bfi.c
> > @@ -48,6 +48,7 @@ static av_cold int bfi_decode_init(AVCodecContext *avctx)
> >  static int bfi_decode_frame(AVCodecContext *avctx, void *data,
> >                              int *got_frame, AVPacket *avpkt)
> >  {
> > +    AVFrame *frame = data;
> >      GetByteContext g;
> >      int buf_size    = avpkt->size;
> >      BFIContext *bfi = avctx->priv_data;
> > @@ -57,12 +58,7 @@ static int bfi_decode_frame(AVCodecContext *avctx, void 
> > *data,
> >      uint32_t *pal;
> >      int i, j, ret, height = avctx->height;
> >  
> > -    if (bfi->frame.data[0])
> > -        avctx->release_buffer(avctx, &bfi->frame);
> > -
> > -    bfi->frame.reference = 1;
> > -
> > -    if ((ret = ff_get_buffer(avctx, &bfi->frame)) < 0) {
> > +    if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {
> >          av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
> >          return ret;
> >      }
> > @@ -71,14 +67,14 @@ static int bfi_decode_frame(AVCodecContext *avctx, void 
> > *data,
> >  
> >      /* Set frame parameters and palette, if necessary */
> >      if (!avctx->frame_number) {
> > -        bfi->frame.pict_type = AV_PICTURE_TYPE_I;
> > -        bfi->frame.key_frame = 1;
> > +        frame->pict_type = AV_PICTURE_TYPE_I;
> > +        frame->key_frame = 1;
> >          /* Setting the palette */
> >          if (avctx->extradata_size > 768) {
> >              av_log(NULL, AV_LOG_ERROR, "Palette is too large.\n");
> >              return AVERROR_INVALIDDATA;
> >          }
> > -        pal = (uint32_t *)bfi->frame.data[1];
> > +        pal = (uint32_t *)frame->data[1];
> >          for (i = 0; i < avctx->extradata_size / 3; i++) {
> >              int shift = 16;
> >              *pal = 0;
> > @@ -87,10 +83,10 @@ static int bfi_decode_frame(AVCodecContext *avctx, void 
> > *data,
> >                           (avctx->extradata[i * 3 + j] >> 4)) << shift;
> >              pal++;
> >          }
> > -        bfi->frame.palette_has_changed = 1;
> > +        frame->palette_has_changed = 1;
> >      } else {
> > -        bfi->frame.pict_type = AV_PICTURE_TYPE_P;
> > -        bfi->frame.key_frame = 0;
> > +        frame->pict_type = AV_PICTURE_TYPE_P;
> > +        frame->key_frame = 0;
> >      }
> >  
> >      bytestream2_skip(&g, 4); // Unpacked size, not required.
> > @@ -158,22 +154,20 @@ static int bfi_decode_frame(AVCodecContext *avctx, 
> > void *data,
> >      }
> >  
> >      src = bfi->dst;
> > -    dst = bfi->frame.data[0];
> > +    dst = frame->data[0];
> >      while (height--) {
> >          memcpy(dst, src, avctx->width);
> >          src += avctx->width;
> > -        dst += bfi->frame.linesize[0];
> > +        dst += frame->linesize[0];
> >      }
> >      *got_frame = 1;
> > -    *(AVFrame *)data = bfi->frame;
> > +
> >      return buf_size;
> >  }
> >  
> >  static av_cold int bfi_decode_close(AVCodecContext *avctx)
> >  {
> >      BFIContext *bfi = avctx->priv_data;
> > -    if (bfi->frame.data[0])
> > -        avctx->release_buffer(avctx, &bfi->frame);
> >      av_free(bfi->dst);
> >      return 0;
> >  }
> 
> unused variable 'frame' in BFIContext otherwise ok
> 

fixed locally.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to