[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