[FFmpeg-cvslog] sonicdec: update to new buffer API
Michael Niedermayer
git at videolan.org
Thu Mar 21 16:13:26 CET 2013
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Mar 21 16:00:35 2013 +0100| [4aa8503399d4fc4ad0bc90ca3c5977a0c1c511bf] | committer: Michael Niedermayer
sonicdec: update to new buffer API
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4aa8503399d4fc4ad0bc90ca3c5977a0c1c511bf
---
libavcodec/sonic.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index 45cd902..b67434f 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -45,7 +45,6 @@
#define RIGHT_SIDE 2
typedef struct SonicContext {
- AVFrame frame;
int lossless, decorrelation;
int num_taps, downsampling;
@@ -767,9 +766,6 @@ static av_cold int sonic_decode_init(AVCodecContext *avctx)
s->channels = avctx->channels;
s->samplerate = avctx->sample_rate;
- avcodec_get_frame_defaults(&s->frame);
- avctx->coded_frame = &s->frame;
-
if (!avctx->extradata)
{
av_log(avctx, AV_LOG_ERROR, "No mandatory headers present\n");
@@ -879,13 +875,14 @@ static int sonic_decode_frame(AVCodecContext *avctx,
GetBitContext gb;
int i, quant, ch, j, ret;
int16_t *samples;
+ AVFrame *frame = data;
if (buf_size == 0) return 0;
- s->frame.nb_samples = s->frame_size / avctx->channels;
- if ((ret = ff_get_buffer(avctx, &s->frame, 0)) < 0)
+ frame->nb_samples = s->frame_size / avctx->channels;
+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
- samples = (int16_t *)s->frame.data[0];
+ samples = (int16_t *)frame->data[0];
// av_log(NULL, AV_LOG_INFO, "buf_size: %d\n", buf_size);
@@ -958,7 +955,6 @@ static int sonic_decode_frame(AVCodecContext *avctx,
align_get_bits(&gb);
*got_frame_ptr = 1;
- *(AVFrame*)data = s->frame;
return (get_bits_count(&gb)+7)/8;
}
More information about the ffmpeg-cvslog
mailing list