]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/libutvideodec: copy frame so it has reference counters when refcounted_frames...
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 24 Mar 2016 19:55:30 +0000 (20:55 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 24 Mar 2016 21:52:01 +0000 (22:52 +0100)
Reviewed-by: maintainer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/libutvideodec.cpp

index 7c60f4fb832ad835d4a868f538885d18c54c4a4b..a456735d3cfc68a70524ac185c563737de462105 100644 (file)
@@ -222,9 +222,19 @@ static int utvideo_decode_frame(AVCodecContext *avctx, void *data,
         pic->data[0] = utv->buffer + utv->buf_size + pic->linesize[0];
         break;
     }
+    pic->width  = w;
+    pic->height = h;
+    pic->format = avctx->pix_fmt;
+
+    if (avctx->refcounted_frames) {
+        int ret = av_frame_ref((AVFrame*)data, pic);
+        if (ret < 0)
+             return ret;
+    } else {
+        av_frame_move_ref((AVFrame*)data, pic);
+    }
 
     *got_frame = 1;
-    av_frame_move_ref((AVFrame*)data, pic);
 
     return avpkt->size;
 }