Browse Source

avcodec/mpc8: get frame output buffer right before it is actually needed

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n4.0
Paul B Mahol 7 years ago
parent
commit
e30a37e95e
1 changed files with 4 additions and 5 deletions
  1. +4
    -5
      libavcodec/mpc8.c

+ 4
- 5
libavcodec/mpc8.c View File

@@ -250,11 +250,6 @@ static int mpc8_decode_frame(AVCodecContext * avctx, void *data,
int maxband, keyframe;
int last[2];

/* get output buffer */
frame->nb_samples = MPC_FRAME_SIZE;
if ((res = ff_get_buffer(avctx, frame, 0)) < 0)
return res;

keyframe = c->cur_frame == 0;

if(keyframe){
@@ -415,6 +410,10 @@ static int mpc8_decode_frame(AVCodecContext * avctx, void *data,
}
}

frame->nb_samples = MPC_FRAME_SIZE;
if ((res = ff_get_buffer(avctx, frame, 0)) < 0)
return res;

ff_mpc_dequantize_and_synth(c, maxband - 1,
(int16_t **)frame->extended_data,
avctx->channels);


Loading…
Cancel
Save