15namespace nvenc::detail {
std::shared_ptr< std::remove_pointer_t< HMODULE > > shared_dll
Shared ownership wrapper for a loaded Windows module.
Definition nvenc_shared_dll.h:20
Declarations for the SDK-neutral Direct3D11 NVENC interface.
std::unique_ptr< nvenc_d3d11_interface > create_nvenc_d3d11_native_1100(ID3D11Device *device, shared_dll dll)
Create an SDK 11.0 native Direct3D11 encoder.
std::unique_ptr< nvenc_d3d11_interface > create_nvenc_d3d11_native_1300(ID3D11Device *device, shared_dll dll)
Create an SDK 13.0 native Direct3D11 encoder.
std::unique_ptr< nvenc_d3d11_interface > create_nvenc_d3d11_on_cuda_1200(ID3D11Device *device, shared_dll dll)
Create an SDK 12.0 CUDA-interoperability encoder.
std::unique_ptr< nvenc_d3d11_interface > create_nvenc_d3d11_on_cuda_1300(ID3D11Device *device, shared_dll dll)
Create an SDK 13.0 CUDA-interoperability encoder.
std::unique_ptr< nvenc_d3d11_interface > create_nvenc_d3d11_native_1200(ID3D11Device *device, shared_dll dll)
Create an SDK 12.0 native Direct3D11 encoder.
std::unique_ptr< nvenc_d3d11_interface > create_nvenc_d3d11_on_cuda_1100(ID3D11Device *device, shared_dll dll)
Create an SDK 11.0 CUDA-interoperability encoder.
Windows module lifetime helpers shared by NVENC factories and encoders.