Credit FFmpeg team / Andrew patch / Andrea plugins update for 5.1
[goodguy/cinelerra.git] / cinelerra-5.1 / thirdparty / src / ffmpeg-5.1.patch10
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch10 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch10
new file mode 100644 (file)
index 0000000..c94880d
--- /dev/null
@@ -0,0 +1,34 @@
+--- a/libavutil/hwcontext_cuda.c
++++ b/libavutil/hwcontext_cuda.c
+@@ -286,9 +286,11 @@
+         CudaFunctions *cu = hwctx->internal->cuda_dl;
+         if (hwctx->internal->is_allocated && hwctx->cuda_ctx) {
++#ifdef CUDA_PRIMARY_CTX
+             if (hwctx->internal->flags & AV_CUDA_USE_PRIMARY_CONTEXT)
+                 CHECK_CU(cu->cuDevicePrimaryCtxRelease(hwctx->internal->cuda_device));
+             else
++#endif
+                 CHECK_CU(cu->cuCtxDestroy(hwctx->cuda_ctx));
+             hwctx->cuda_ctx = NULL;
+@@ -338,7 +340,7 @@
+     cu = hwctx->internal->cuda_dl;
+     hwctx->internal->flags = flags;
+-
++#ifdef CUDA_PRIMARY_CTX
+     if (flags & AV_CUDA_USE_PRIMARY_CONTEXT) {
+         ret = CHECK_CU(cu->cuDevicePrimaryCtxGetState(hwctx->internal->cuda_device,
+                        &dev_flags, &dev_active));
+@@ -359,7 +361,9 @@
+                                                     hwctx->internal->cuda_device));
+         if (ret < 0)
+             return ret;
+-    } else {
++    } else
++#endif
++    {
+         ret = CHECK_CU(cu->cuCtxCreate(&hwctx->cuda_ctx, desired_flags,
+                                        hwctx->internal->cuda_device));
+         if (ret < 0)