diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-02-13 11:59:51 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-02-13 11:59:51 +0100 |
commit | d88e674a15dc23ca6bb68173dbb7c12e5d668bb5 (patch) | |
tree | 0a7d58e61ea7e3e3e692731f7a4e1e119f197689 /libavcodec/g722dec.c | |
parent | 0a5138695aa441ab341b2f00d946c239db69edbf (diff) | |
parent | cb7b47a61dba0b9329ecede5dd3211dc0662dc05 (diff) | |
download | ffmpeg-d88e674a15dc23ca6bb68173dbb7c12e5d668bb5.tar.gz |
Merge commit 'cb7b47a61dba0b9329ecede5dd3211dc0662dc05'
* commit 'cb7b47a61dba0b9329ecede5dd3211dc0662dc05':
g726: decode directly to the user-provided AVFrame
g723.1: decode directly to the user-provided AVFrame
g722: decode directly to the user-provided AVFrame
flac: decode directly to the user-provided AVFrame
cinaudio: decode directly to the user-provided AVFrame
Conflicts:
libavcodec/g723_1.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/g722dec.c')
-rw-r--r-- | libavcodec/g722dec.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/libavcodec/g722dec.c b/libavcodec/g722dec.c index 965c790744..b9c634b580 100644 --- a/libavcodec/g722dec.c +++ b/libavcodec/g722dec.c @@ -67,9 +67,6 @@ static av_cold int g722_decode_init(AVCodecContext * avctx) c->band[1].scale_factor = 2; c->prev_samples_pos = 22; - avcodec_get_frame_defaults(&c->frame); - avctx->coded_frame = &c->frame; - return 0; } @@ -88,6 +85,7 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) { G722Context *c = avctx->priv_data; + AVFrame *frame = data; int16_t *out_buf; int j, ret; const int skip = 8 - c->bits_per_codeword; @@ -95,12 +93,12 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, GetBitContext gb; /* get output buffer */ - c->frame.nb_samples = avpkt->size * 2; - if ((ret = ff_get_buffer(avctx, &c->frame)) < 0) { + frame->nb_samples = avpkt->size * 2; + if ((ret = ff_get_buffer(avctx, frame)) < 0) { av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); return ret; } - out_buf = (int16_t *)c->frame.data[0]; + out_buf = (int16_t *)frame->data[0]; init_get_bits(&gb, avpkt->data, avpkt->size * 8); @@ -135,8 +133,7 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, } } - *got_frame_ptr = 1; - *(AVFrame *)data = c->frame; + *got_frame_ptr = 1; return avpkt->size; } |