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

Reply via email to