bool fcLoadAMDH264Module() { if (g_amf_core && g_amf_vce) { return true; } g_amf_core = DLLLoad(AmfCoreDll); g_amf_vce = DLLLoad(AmfVCEDll); return g_amf_core && g_amf_vce; }
static void fcMP4InitializeModule() { if (!fcMP4Module) { fcMP4Module = DLLLoad(fcMP4ModuleName); if (fcMP4Module) { (void*&)fcMP4SetModulePathImpl = DLLGetSymbol(fcMP4Module, "fcMP4SetModulePathImpl"); (void*&)fcMP4DownloadCodecImpl = DLLGetSymbol(fcMP4Module, "fcMP4DownloadCodecImpl"); (void*&)fcMP4CreateContextImpl = DLLGetSymbol(fcMP4Module, "fcMP4CreateContextImpl"); } } }
fcCLinkage fcExport fcIExrContext* fcExrCreateContext(fcExrConfig *conf) { #ifdef fcEXRSplitModule if (!fcExrModule) { fcExrModule = DLLLoad(fcEXRModuleName); if (fcExrModule) { (void*&)fcExrCreateContextImpl = DLLGetSymbol(fcExrModule, "fcExrCreateContextImpl"); } } return fcExrCreateContextImpl ? fcExrCreateContextImpl(*conf, fcGetGraphicsDevice()) : nullptr; #else return fcExrCreateContextImpl(*conf, fcGetGraphicsDevice()); #endif }
static bool LoadNVENCModule() { if (nvenc.nvEncOpenEncodeSession != nullptr) { return true; } NVENCSTATUS stat; g_mod_nvenc = DLLLoad(NVEncoderDLL); if (g_mod_nvenc) { NVENCSTATUS(NVENCAPI *NvEncodeAPICreateInstance_)(NV_ENCODE_API_FUNCTION_LIST *functionList); (void*&)NvEncodeAPICreateInstance_ = DLLGetSymbol(g_mod_nvenc, "NvEncodeAPICreateInstance"); if (NvEncodeAPICreateInstance_) { nvenc.version = NV_ENCODE_API_FUNCTION_LIST_VER; stat = NvEncodeAPICreateInstance_(&nvenc); } } return nvenc.nvEncOpenEncodeSession != nullptr; }