[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