From 93d1756af2908150f7c8c0590b9ed246951d474a Mon Sep 17 00:00:00 2001 From: Timo Rothenpieler Date: Tue, 8 May 2018 13:56:51 +0200 Subject: [PATCH] avcodec/cuviddec: explicitly synchronize cuMemcpy calls --- 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) {