[FFmpeg-cvslog] prores: only call get_buffer once per frame
Michael Niedermayer
git at videolan.org
Sun Oct 9 22:08:06 CEST 2011
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Oct 9 21:51:55 2011 +0200| [e1b2f6ec119dc43a66ff731b98c768778497ff95] | committer: Michael Niedermayer
prores: only call get_buffer once per frame
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e1b2f6ec119dc43a66ff731b98c768778497ff95
---
libavcodec/proresdec_gpl.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/libavcodec/proresdec_gpl.c b/libavcodec/proresdec_gpl.c
index 9fbb8ee..a375f9c 100644
--- a/libavcodec/proresdec_gpl.c
+++ b/libavcodec/proresdec_gpl.c
@@ -575,6 +575,12 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
buf += frame_hdr_size;
buf_size -= frame_hdr_size;
+ if (frame->data[0])
+ avctx->release_buffer(avctx, frame);
+
+ if (avctx->get_buffer(avctx, frame) < 0)
+ return -1;
+
decode_picture:
pic_size = decode_picture_header(avctx, buf, buf_size);
if (pic_size < 0) {
@@ -582,12 +588,6 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
return -1;
}
- if (frame->data[0])
- avctx->release_buffer(avctx, frame);
-
- if (avctx->get_buffer(avctx, frame) < 0)
- return -1;
-
if (decode_picture(avctx)) {
av_log(avctx, AV_LOG_ERROR, "error decoding picture\n");
return -1;
More information about the ffmpeg-cvslog
mailing list