Sunshine master
Self-hosted game stream host for Moonlight.
nvenc_dynamic_factory_versions.h
Go to the documentation of this file.
1
5#pragma once
6#ifdef _WIN32
7
8 // standard includes
9 #include <memory>
10
11 // local includes
13 #include "nvenc_shared_dll.h"
14
15namespace nvenc::detail {
16
24 std::unique_ptr<nvenc_d3d11_interface> create_nvenc_d3d11_native_1100(ID3D11Device *device, shared_dll dll);
32 std::unique_ptr<nvenc_d3d11_interface> create_nvenc_d3d11_on_cuda_1100(ID3D11Device *device, shared_dll dll);
40 std::unique_ptr<nvenc_d3d11_interface> create_nvenc_d3d11_native_1200(ID3D11Device *device, shared_dll dll);
48 std::unique_ptr<nvenc_d3d11_interface> create_nvenc_d3d11_on_cuda_1200(ID3D11Device *device, shared_dll dll);
56 std::unique_ptr<nvenc_d3d11_interface> create_nvenc_d3d11_native_1300(ID3D11Device *device, shared_dll dll);
64 std::unique_ptr<nvenc_d3d11_interface> create_nvenc_d3d11_on_cuda_1300(ID3D11Device *device, shared_dll dll);
65
66} // namespace nvenc::detail
67#endif
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.