[FFmpeg-cvslog] avcodec/cuviddec: explicitly synchronize cuMemcpy calls

Timo Rothenpieler git at videolan.org
Thu May 10 01:47:37 EEST 2018


ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Tue May  8 13:56:51 2018 +0200| [93d1756af2908150f7c8c0590b9ed246951d474a] | committer: Timo Rothenpieler

avcodec/cuviddec: explicitly synchronize cuMemcpy calls

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=93d1756af2908150f7c8c0590b9ed246951d474a
---

 libavcodec/cuviddec.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavcodec/cuviddec.c b/libavcodec/cuviddec.c
index 122c28f6e8..4d3caf924e 100644
--- a/libavcodec/cuviddec.c
+++ b/libavcodec/cuviddec.c
@@ -550,12 +550,16 @@ static int cuvid_output_frame(AVCodecContext *avctx, AVFrame *frame)
                     .Height        = avctx->height >> (i ? 1 : 0),
                 };
 
-                ret = CHECK_CU(ctx->cudl->cuMemcpy2D(&cpy));
+                ret = CHECK_CU(ctx->cudl->cuMemcpy2DAsync(&cpy, device_hwctx->stream));
                 if (ret < 0)
                     goto error;
 
                 offset += avctx->height;
             }
+
+            ret = CHECK_CU(ctx->cudl->cuStreamSynchronize(device_hwctx->stream));
+            if (ret < 0)
+                goto error;
         } else if (avctx->pix_fmt == AV_PIX_FMT_NV12 ||
                    avctx->pix_fmt == AV_PIX_FMT_P010 ||
                    avctx->pix_fmt == AV_PIX_FMT_P016) {



More information about the ffmpeg-cvslog mailing list