Browse Source

compat/cuda: make cuvidGetDecoderCaps optional

tags/n3.4
Timo Rothenpieler 8 years ago
parent
commit
f890a6d712
1 changed files with 10 additions and 1 deletions
  1. +10
    -1
      compat/cuda/dynlink_loader.h

+ 10
- 1
compat/cuda/dynlink_loader.h View File

@@ -76,6 +76,15 @@
av_log(NULL, AV_LOG_TRACE, "Loaded sym: %s\n", symbol); \ av_log(NULL, AV_LOG_TRACE, "Loaded sym: %s\n", symbol); \
} while (0) } 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) \ #define GENERIC_LOAD_FUNC_PREAMBLE(T, n, N) \
T *f; \ T *f; \
int ret; \ int ret; \
@@ -205,7 +214,7 @@ static inline int cuvid_load_functions(CuvidFunctions **functions)
{ {
GENERIC_LOAD_FUNC_PREAMBLE(CuvidFunctions, cuvid, NVCUVID_LIBNAME); 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(cuvidCreateDecoder, tcuvidCreateDecoder, "cuvidCreateDecoder");
LOAD_SYMBOL(cuvidDestroyDecoder, tcuvidDestroyDecoder, "cuvidDestroyDecoder"); LOAD_SYMBOL(cuvidDestroyDecoder, tcuvidDestroyDecoder, "cuvidDestroyDecoder");
LOAD_SYMBOL(cuvidDecodePicture, tcuvidDecodePicture, "cuvidDecodePicture"); LOAD_SYMBOL(cuvidDecodePicture, tcuvidDecodePicture, "cuvidDecodePicture");


Loading…
Cancel
Save