|
Sunshine master
Self-hosted game stream host for Moonlight.
|
Factory bound to the newest NVENC SDK supported by the installed driver. More...
#include <src/nvenc/nvenc_dynamic_factory.h>
Public Types | |
| using | create_encoder_fn |
| SDK-specific encoder constructor. | |
Public Member Functions | |
| std::unique_ptr< nvenc_d3d11_interface > | create_nvenc_d3d11_native (ID3D11Device *d3d_device) const |
| Create a native Direct3D11 NVENC encoder. | |
| std::unique_ptr< nvenc_d3d11_interface > | create_nvenc_d3d11_on_cuda (ID3D11Device *d3d_device) const |
| Create a CUDA NVENC encoder with Direct3D11 input surfaces. | |
| nvenc_dynamic_factory (shared_dll dll, nvenc_sdk_version sdk_version, create_encoder_fn create_native, create_encoder_fn create_on_cuda) | |
| Construct a factory bound to one NVENC SDK implementation. | |
| nvenc_sdk_version | sdk_version () const |
| Get the SDK implementation selected for this factory. | |
Static Public Member Functions | |
| static std::shared_ptr< nvenc_dynamic_factory > | get () |
| Load the NVENC driver and select a compatible SDK implementation. | |
| static std::shared_ptr< nvenc_dynamic_factory > | get (const nvenc_runtime_api &runtime_api) |
| Select a compatible SDK implementation using the supplied runtime operations. | |
Factory bound to the newest NVENC SDK supported by the installed driver.
SDK-specific encoder constructor.
| nvenc::nvenc_dynamic_factory::nvenc_dynamic_factory | ( | shared_dll | dll, |
| nvenc_sdk_version | sdk_version, | ||
| create_encoder_fn | create_native, | ||
| create_encoder_fn | create_on_cuda ) |
Construct a factory bound to one NVENC SDK implementation.
| dll | Shared NVENC driver module. |
| sdk_version | Selected SDK version. |
| create_native | Native Direct3D11 encoder constructor. |
| create_on_cuda | CUDA-interoperability encoder constructor. |
| std::unique_ptr< nvenc_d3d11_interface > nvenc::nvenc_dynamic_factory::create_nvenc_d3d11_native | ( | ID3D11Device * | d3d_device | ) | const |
Create a native Direct3D11 NVENC encoder.
| d3d_device | Direct3D11 device used for encoding. |
| std::unique_ptr< nvenc_d3d11_interface > nvenc::nvenc_dynamic_factory::create_nvenc_d3d11_on_cuda | ( | ID3D11Device * | d3d_device | ) | const |
Create a CUDA NVENC encoder with Direct3D11 input surfaces.
| d3d_device | Direct3D11 device used to create input textures. |
|
static |
Load the NVENC driver and select a compatible SDK implementation.
|
static |
Select a compatible SDK implementation using the supplied runtime operations.
| runtime_api | Runtime operations used to load and query the NVENC driver. |
| nvenc_sdk_version nvenc::nvenc_dynamic_factory::sdk_version | ( | ) | const |
Get the SDK implementation selected for this factory.