Commit 8251c053 authored by Michael Niedermayer's avatar Michael Niedermayer

g729dec: switch to buffer refs style

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent a728a28d
...@@ -101,7 +101,6 @@ typedef struct { ...@@ -101,7 +101,6 @@ typedef struct {
typedef struct { typedef struct {
DSPContext dsp; DSPContext dsp;
AVFrame frame;
/// past excitation signal buffer /// past excitation signal buffer
int16_t exc_base[2*SUBFRAME_SIZE+PITCH_DELAY_MAX+INTERPOL_LEN]; int16_t exc_base[2*SUBFRAME_SIZE+PITCH_DELAY_MAX+INTERPOL_LEN];
...@@ -385,9 +384,6 @@ static av_cold int decoder_init(AVCodecContext * avctx) ...@@ -385,9 +384,6 @@ static av_cold int decoder_init(AVCodecContext * avctx)
ff_dsputil_init(&ctx->dsp, avctx); ff_dsputil_init(&ctx->dsp, avctx);
ctx->dsp.scalarproduct_int16 = scalarproduct_int16_c; ctx->dsp.scalarproduct_int16 = scalarproduct_int16_c;
avcodec_get_frame_defaults(&ctx->frame);
avctx->coded_frame = &ctx->frame;
return 0; return 0;
} }
...@@ -418,11 +414,12 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, ...@@ -418,11 +414,12 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr,
int j, ret; int j, ret;
int gain_before, gain_after; int gain_before, gain_after;
int is_periodic = 0; // whether one of the subframes is declared as periodic or not int is_periodic = 0; // whether one of the subframes is declared as periodic or not
AVFrame *frame = data;
ctx->frame.nb_samples = SUBFRAME_SIZE<<1; frame->nb_samples = SUBFRAME_SIZE<<1;
if ((ret = ff_get_buffer(avctx, &ctx->frame, 0)) < 0) if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret; return ret;
out_frame = (int16_t*) ctx->frame.data[0]; out_frame = (int16_t*) frame->data[0];
if (buf_size == 10) { if (buf_size == 10) {
packet_type = FORMAT_G729_8K; packet_type = FORMAT_G729_8K;
...@@ -714,7 +711,6 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, ...@@ -714,7 +711,6 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr,
memmove(ctx->exc_base, ctx->exc_base + 2 * SUBFRAME_SIZE, (PITCH_DELAY_MAX+INTERPOL_LEN)*sizeof(int16_t)); memmove(ctx->exc_base, ctx->exc_base + 2 * SUBFRAME_SIZE, (PITCH_DELAY_MAX+INTERPOL_LEN)*sizeof(int16_t));
*got_frame_ptr = 1; *got_frame_ptr = 1;
*(AVFrame*)data = ctx->frame;
return buf_size; return buf_size;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment