aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/sonic.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-03-21 16:00:35 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-03-21 16:01:53 +0100
commit4aa8503399d4fc4ad0bc90ca3c5977a0c1c511bf (patch)
tree613170065377e0c24f7fdac426e97c5b0cc75a80 /libavcodec/sonic.c
parent85d7f546627d393eff948edfb93cf15f56a0b0d8 (diff)
downloadffmpeg-4aa8503399d4fc4ad0bc90ca3c5977a0c1c511bf.tar.gz
sonicdec: update to new buffer API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/sonic.c')
-rw-r--r--libavcodec/sonic.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index 45cd902ddd..b67434f9ca 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;
}