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 maxband, keyframe;
int last[2]; 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; keyframe = c->cur_frame == 0;


if(keyframe){ 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, ff_mpc_dequantize_and_synth(c, maxband - 1,
(int16_t **)frame->extended_data, (int16_t **)frame->extended_data,
avctx->channels); avctx->channels);


Loading…
Cancel
Save