On Wed, 9 Jan 2013 12:12:00 -0500, Justin Ruggles <justin.rugg...@gmail.com> wrote: > --- > libavcodec/ralf.c | 19 +++++++------------ > 1 files changed, 7 insertions(+), 12 deletions(-) > > diff --git a/libavcodec/ralf.c b/libavcodec/ralf.c > index 580def3..b163a89 100644 > --- a/libavcodec/ralf.c > +++ b/libavcodec/ralf.c > @@ -49,8 +49,6 @@ typedef struct VLCSet { > #define RALF_MAX_PKT_SIZE 8192 > > typedef struct RALFContext { > - AVFrame frame; > - > int version; > int max_frame_size; > VLCSet sets[3]; > @@ -154,9 +152,6 @@ static av_cold int decode_init(AVCodecContext *avctx) > avctx->channel_layout = (avctx->channels == 2) ? AV_CH_LAYOUT_STEREO > : AV_CH_LAYOUT_MONO; > > - avcodec_get_frame_defaults(&ctx->frame); > - avctx->coded_frame = &ctx->frame; > - > ctx->max_frame_size = AV_RB32(avctx->extradata + 16); > if (ctx->max_frame_size > (1 << 20) || !ctx->max_frame_size) { > av_log(avctx, AV_LOG_ERROR, "invalid frame size %d\n", > @@ -426,6 +421,7 @@ static int decode_frame(AVCodecContext *avctx, void > *data, int *got_frame_ptr, > AVPacket *avpkt) > { > RALFContext *ctx = avctx->priv_data; > + AVFrame *frame = data; > int16_t *samples0; > int16_t *samples1; > int ret; > @@ -463,13 +459,13 @@ static int decode_frame(AVCodecContext *avctx, void > *data, int *got_frame_ptr, > src_size = avpkt->size; > } > > - ctx->frame.nb_samples = ctx->max_frame_size; > - if ((ret = ff_get_buffer(avctx, &ctx->frame)) < 0) { > + frame->nb_samples = ctx->max_frame_size; > + if ((ret = ff_get_buffer(avctx, frame)) < 0) { > av_log(avctx, AV_LOG_ERROR, "Me fail get_buffer()? That's > unpossible!\n"); > return ret; > } > - samples0 = (int16_t *)ctx->frame.data[0]; > - samples1 = (int16_t *)ctx->frame.data[1]; > + samples0 = (int16_t *)frame->data[0]; > + samples1 = (int16_t *)frame->data[1]; > > if (src_size < 5) { > av_log(avctx, AV_LOG_ERROR, "too short packets are too short!\n"); > @@ -511,9 +507,8 @@ static int decode_frame(AVCodecContext *avctx, void > *data, int *got_frame_ptr, > bytes_left -= ctx->block_size[i]; > } > > - ctx->frame.nb_samples = ctx->sample_offset; > - *got_frame_ptr = ctx->sample_offset > 0; > - *(AVFrame*)data = ctx->frame; > + frame->nb_samples = ctx->sample_offset; > + *got_frame_ptr = ctx->sample_offset > 0; > > return avpkt->size; > } > -- > 1.7.1
Ok. -- Anton Khirnov _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel