summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2017-11-18 17:16:14 +0000
committerMark Thompson <sw@jkqxz.net>2017-11-20 15:47:05 +0000
commit1dc483a6f2d88e22f47da8584ca74de38262b742 (patch)
treede921bd90122df2cc1fd0496b28e4a81018f98ca
parentf7d77b4112f70a15552fbce2ce3d10a4186571b1 (diff)
downloadffmpeg-streaming-1dc483a6f2d88e22f47da8584ca74de38262b742.zip
ffmpeg-streaming-1dc483a6f2d88e22f47da8584ca74de38262b742.tar.gz
compat/cuda: Pass a logging context to load functions
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
-rw-r--r--compat/cuda/dynlink_loader.h18
-rw-r--r--libavcodec/cuviddec.c2
-rw-r--r--libavcodec/nvdec.c2
-rw-r--r--libavcodec/nvenc.c4
-rw-r--r--libavutil/hwcontext_cuda.c2
5 files changed, 14 insertions, 14 deletions
diff --git a/compat/cuda/dynlink_loader.h b/compat/cuda/dynlink_loader.h
index 7d2c874..fa43782 100644
--- a/compat/cuda/dynlink_loader.h
+++ b/compat/cuda/dynlink_loader.h
@@ -59,29 +59,29 @@
#define LOAD_LIBRARY(l, path) \
do { \
if (!((l) = dlopen(path, RTLD_LAZY))) { \
- av_log(NULL, AV_LOG_ERROR, "Cannot load %s\n", path); \
+ av_log(logctx, AV_LOG_ERROR, "Cannot load %s\n", path); \
ret = AVERROR_UNKNOWN; \
goto error; \
} \
- av_log(NULL, AV_LOG_TRACE, "Loaded lib: %s\n", path); \
+ av_log(logctx, AV_LOG_TRACE, "Loaded lib: %s\n", path); \
} while (0)
#define LOAD_SYMBOL(fun, tp, symbol) \
do { \
if (!((f->fun) = (tp*)dlsym(f->lib, symbol))) { \
- av_log(NULL, AV_LOG_ERROR, "Cannot load %s\n", symbol); \
+ av_log(logctx, AV_LOG_ERROR, "Cannot load %s\n", symbol); \
ret = AVERROR_UNKNOWN; \
goto error; \
} \
- av_log(NULL, AV_LOG_TRACE, "Loaded sym: %s\n", symbol); \
+ av_log(logctx, AV_LOG_TRACE, "Loaded sym: %s\n", symbol); \
} while (0)
#define LOAD_SYMBOL_OPT(fun, tp, symbol) \
do { \
if (!((f->fun) = (tp*)dlsym(f->lib, symbol))) { \
- av_log(NULL, AV_LOG_DEBUG, "Cannot load optional %s\n", symbol); \
+ av_log(logctx, AV_LOG_DEBUG, "Cannot load optional %s\n", symbol); \
} else { \
- av_log(NULL, AV_LOG_TRACE, "Loaded sym: %s\n", symbol); \
+ av_log(logctx, AV_LOG_TRACE, "Loaded sym: %s\n", symbol); \
} \
} while (0)
@@ -187,7 +187,7 @@ static inline void nvenc_free_functions(NvencFunctions **functions)
}
#ifdef AV_COMPAT_DYNLINK_CUDA_H
-static inline int cuda_load_functions(CudaFunctions **functions)
+static inline int cuda_load_functions(CudaFunctions **functions, void *logctx)
{
GENERIC_LOAD_FUNC_PREAMBLE(CudaFunctions, cuda, CUDA_LIBNAME);
@@ -210,7 +210,7 @@ static inline int cuda_load_functions(CudaFunctions **functions)
}
#endif
-static inline int cuvid_load_functions(CuvidFunctions **functions)
+static inline int cuvid_load_functions(CuvidFunctions **functions, void *logctx)
{
GENERIC_LOAD_FUNC_PREAMBLE(CuvidFunctions, cuvid, NVCUVID_LIBNAME);
@@ -244,7 +244,7 @@ static inline int cuvid_load_functions(CuvidFunctions **functions)
GENERIC_LOAD_FUNC_FINALE(cuvid);
}
-static inline int nvenc_load_functions(NvencFunctions **functions)
+static inline int nvenc_load_functions(NvencFunctions **functions, void *logctx)
{
GENERIC_LOAD_FUNC_PREAMBLE(NvencFunctions, nvenc, NVENC_LIBNAME);
diff --git a/libavcodec/cuviddec.c b/libavcodec/cuviddec.c
index 6370348..806dab2 100644
--- a/libavcodec/cuviddec.c
+++ b/libavcodec/cuviddec.c
@@ -835,7 +835,7 @@ static av_cold int cuvid_decode_init(AVCodecContext *avctx)
goto error;
}
- ret = cuvid_load_functions(&ctx->cvdl);
+ ret = cuvid_load_functions(&ctx->cvdl, avctx);
if (ret < 0) {
av_log(avctx, AV_LOG_ERROR, "Failed loading nvcuvid.\n");
goto error;
diff --git a/libavcodec/nvdec.c b/libavcodec/nvdec.c
index efcd47a..0a39927 100644
--- a/libavcodec/nvdec.c
+++ b/libavcodec/nvdec.c
@@ -176,7 +176,7 @@ static int nvdec_decoder_create(AVBufferRef **out, AVBufferRef *hw_device_ref,
decoder->cuda_ctx = device_hwctx->cuda_ctx;
decoder->cudl = device_hwctx->internal->cuda_dl;
- ret = cuvid_load_functions(&decoder->cvdl);
+ ret = cuvid_load_functions(&decoder->cvdl, logctx);
if (ret < 0) {
av_log(logctx, AV_LOG_ERROR, "Failed loading nvcuvid.\n");
goto fail;
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index e07280b..79f7dce 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -133,11 +133,11 @@ static av_cold int nvenc_load_libraries(AVCodecContext *avctx)
uint32_t nvenc_max_ver;
int ret;
- ret = cuda_load_functions(&dl_fn->cuda_dl);
+ ret = cuda_load_functions(&dl_fn->cuda_dl, avctx);
if (ret < 0)
return ret;
- ret = nvenc_load_functions(&dl_fn->nvenc_dl);
+ ret = nvenc_load_functions(&dl_fn->nvenc_dl, avctx);
if (ret < 0) {
nvenc_print_driver_requirement(avctx, AV_LOG_ERROR);
return ret;
diff --git a/libavutil/hwcontext_cuda.c b/libavutil/hwcontext_cuda.c
index dfb67bc..37827a7 100644
--- a/libavutil/hwcontext_cuda.c
+++ b/libavutil/hwcontext_cuda.c
@@ -336,7 +336,7 @@ static int cuda_device_init(AVHWDeviceContext *ctx)
}
if (!hwctx->internal->cuda_dl) {
- ret = cuda_load_functions(&hwctx->internal->cuda_dl);
+ ret = cuda_load_functions(&hwctx->internal->cuda_dl, ctx);
if (ret < 0) {
av_log(ctx, AV_LOG_ERROR, "Could not dynamically load CUDA\n");
goto error;
OpenPOWER on IntegriCloud