On Wed, 9 Jan 2013 12:11:54 -0500, Justin Ruggles <[email protected]> wrote: > --- > libavcodec/mpegaudiodec.c | 55 +++++++++++++++++++++----------------------- > 1 files changed, 26 insertions(+), 29 deletions(-) > > diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c > index fda0280..e5db694 100644 > --- a/libavcodec/mpegaudiodec.c > +++ b/libavcodec/mpegaudiodec.c > @@ -83,7 +83,6 @@ typedef struct MPADecodeContext { > AVCodecContext* avctx; > MPADSPContext mpadsp; > DSPContext dsp; > - AVFrame frame; > } MPADecodeContext; > > #if CONFIG_FLOAT > @@ -447,9 +446,6 @@ static av_cold int decode_init(AVCodecContext * avctx) > if (avctx->codec_id == AV_CODEC_ID_MP3ADU) > s->adu_mode = 1; > > - avcodec_get_frame_defaults(&s->frame); > - avctx->coded_frame = &s->frame; > - > return 0; > } > > @@ -1556,7 +1552,7 @@ static int mp_decode_layer3(MPADecodeContext *s) > static int mp_decode_frame(MPADecodeContext *s, OUT_INT **samples, > const uint8_t *buf, int buf_size) > { > - int i, nb_frames, ch, ret; > + int i, nb_frames, ch; > OUT_INT *samples_ptr; > > init_get_bits(&s->gb, buf + HEADER_SIZE, (buf_size - HEADER_SIZE) * 8); > @@ -1609,16 +1605,6 @@ static int mp_decode_frame(MPADecodeContext *s, > OUT_INT **samples, > s->last_buf_size += i; > } > > - /* get output buffer */ > - if (!samples) { > - s->frame.nb_samples = s->avctx->frame_size; > - if ((ret = ff_get_buffer(s->avctx, &s->frame)) < 0) { > - av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n"); > - return ret; > - } > - samples = (OUT_INT **)s->frame.extended_data; > - } > - > /* apply the synthesis filter */ > for (ch = 0; ch < s->nb_channels; ch++) { > int sample_stride; > @@ -1648,6 +1634,7 @@ static int decode_frame(AVCodecContext * avctx, void > *data, int *got_frame_ptr, > const uint8_t *buf = avpkt->data; > int buf_size = avpkt->size; > MPADecodeContext *s = avctx->priv_data; > + AVFrame *frame = data; > uint32_t header; > int ret; > > @@ -1678,10 +1665,16 @@ static int decode_frame(AVCodecContext * avctx, void > *data, int *got_frame_ptr, > buf_size= s->frame_size; > } > > - ret = mp_decode_frame(s, NULL, buf, buf_size); > + frame->nb_samples = MPA_FRAME_SIZE;
That's not the same thing current code does. Is there a reason for that? -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
