コード例 #1
0
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");
        }
    }
}
コード例 #2
0
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
}
コード例 #3
0
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;
}