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
