avutil/cuda_check: avoid pointlessly exporting same symbol from two libraries
[ffmpeg.git] / libavutil / cuda_check.h
index b8e5f65..ec1705b 100644 (file)
 /**
  * Wrap a CUDA function call and print error information if it fails.
  */
+static inline int ff_cuda_check(void *avctx,
+                                void *cuGetErrorName_fn, void *cuGetErrorString_fn,
+                                CUresult err, const char *func)
+{
+    const char *err_name;
+    const char *err_string;
 
-int ff_cuda_check(void *avctx,
-                  void *cuGetErrorName_fn, void *cuGetErrorString_fn,
-                  CUresult err, const char *func);
+    av_log(avctx, AV_LOG_TRACE, "Calling %s\n", func);
+
+    if (err == CUDA_SUCCESS)
+        return 0;
+
+    ((tcuGetErrorName *)cuGetErrorName_fn)(err, &err_name);
+    ((tcuGetErrorString *)cuGetErrorString_fn)(err, &err_string);
+
+    av_log(avctx, AV_LOG_ERROR, "%s failed", func);
+    if (err_name && err_string)
+        av_log(avctx, AV_LOG_ERROR, " -> %s: %s", err_name, err_string);
+    av_log(avctx, AV_LOG_ERROR, "\n");
+
+    return AVERROR_EXTERNAL;
+}
 
 /**
  * Convenience wrapper for ff_cuda_check when directly linking libcuda.