[FFmpeg-devel] [PATCH] avutil/cuda_check: Fix non-dynamic-loader implementation

Philip Langdale philipl at overt.org
Wed Feb 20 05:13:40 EET 2019

The function typedefs we were using are only present when using the
dynamic loader, which means compilation breaks for code directly
using the cuda SDK.

To fix this, let's just duplicate the function typedefs locally.
These are not going to change.

Signed-off-by: Philip Langdale <philipl at overt.org>
 libavutil/cuda_check.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavutil/cuda_check.h b/libavutil/cuda_check.h
index ec1705b000..d02ea7eec4 100644
--- a/libavutil/cuda_check.h
+++ b/libavutil/cuda_check.h
@@ -20,6 +20,9 @@
+typedef CUresult CUDAAPI cuda_check_GetErrorName(CUresult error, const char** pstr);
+typedef CUresult CUDAAPI cuda_check_GetErrorString(CUresult error, const char** pstr);
  * Wrap a CUDA function call and print error information if it fails.
@@ -35,8 +38,8 @@ static inline int ff_cuda_check(void *avctx,
     if (err == CUDA_SUCCESS)
         return 0;
-    ((tcuGetErrorName *)cuGetErrorName_fn)(err, &err_name);
-    ((tcuGetErrorString *)cuGetErrorString_fn)(err, &err_string);
+    ((cuda_check_GetErrorName *)cuGetErrorName_fn)(err, &err_name);
+    ((cuda_check_GetErrorString *)cuGetErrorString_fn)(err, &err_string);
     av_log(avctx, AV_LOG_ERROR, "%s failed", func);
     if (err_name && err_string)

More information about the ffmpeg-devel mailing list