diff options
author | Timo Rothenpieler <timo@rothenpieler.org> | 2017-06-01 12:33:54 +0200 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2017-06-01 12:39:06 +0200 |
commit | f890a6d71286cd4602a778fc551df0b4d87bc39e (patch) | |
tree | d5908d626574bbff552bd07d5f85c65313663ac0 | |
parent | cb3358b68fa750a4e0361b46e17d2d8560bb5265 (diff) | |
download | ffmpeg-streaming-f890a6d71286cd4602a778fc551df0b4d87bc39e.zip ffmpeg-streaming-f890a6d71286cd4602a778fc551df0b4d87bc39e.tar.gz |
compat/cuda: make cuvidGetDecoderCaps optional
-rw-r--r-- | compat/cuda/dynlink_loader.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/compat/cuda/dynlink_loader.h b/compat/cuda/dynlink_loader.h index 572cf8b..7d2c874 100644 --- a/compat/cuda/dynlink_loader.h +++ b/compat/cuda/dynlink_loader.h @@ -76,6 +76,15 @@ av_log(NULL, 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); \ + } else { \ + av_log(NULL, AV_LOG_TRACE, "Loaded sym: %s\n", symbol); \ + } \ + } while (0) + #define GENERIC_LOAD_FUNC_PREAMBLE(T, n, N) \ T *f; \ int ret; \ @@ -205,7 +214,7 @@ static inline int cuvid_load_functions(CuvidFunctions **functions) { GENERIC_LOAD_FUNC_PREAMBLE(CuvidFunctions, cuvid, NVCUVID_LIBNAME); - LOAD_SYMBOL(cuvidGetDecoderCaps, tcuvidGetDecoderCaps, "cuvidGetDecoderCaps"); + LOAD_SYMBOL_OPT(cuvidGetDecoderCaps, tcuvidGetDecoderCaps, "cuvidGetDecoderCaps"); LOAD_SYMBOL(cuvidCreateDecoder, tcuvidCreateDecoder, "cuvidCreateDecoder"); LOAD_SYMBOL(cuvidDestroyDecoder, tcuvidDestroyDecoder, "cuvidDestroyDecoder"); LOAD_SYMBOL(cuvidDecodePicture, tcuvidDecodePicture, "cuvidDecodePicture"); |