Sunshine latest
Self-hosted game stream host for Moonlight.
nvenc_d3d11_native.h
Go to the documentation of this file.
1
5#pragma once
6#ifdef _WIN32
7 // standard includes
8 #include <comdef.h>
9 #include <d3d11.h>
10
11 // local includes
12 #include "nvenc_d3d11.h"
13
14namespace nvenc {
15
19 class nvenc_d3d11_native final: public nvenc_d3d11 {
20 public:
24 explicit nvenc_d3d11_native(ID3D11Device *d3d_device);
26
27 ID3D11Texture2D *get_input_texture() override;
28
29 private:
30 bool create_and_register_input_buffer() override;
31
32 const ID3D11DevicePtr d3d_device;
33 ID3D11Texture2DPtr d3d_input_texture;
34 };
35
36} // namespace nvenc
37#endif
Native Direct3D11 NVENC encoder.
Definition nvenc_d3d11_native.h:19
ID3D11Texture2D * get_input_texture() override
Get input surface texture.
Definition nvenc_d3d11_native.cpp:27
nvenc_d3d11_native(ID3D11Device *d3d_device)
Definition nvenc_d3d11_native.cpp:14
Abstract Direct3D11 NVENC encoder. Encapsulates common code used by native and interop implementation...
Definition nvenc_d3d11.h:26
Standalone NVENC encoder.
Definition nvenc_base.cpp:87
Declarations for abstract Direct3D11 NVENC encoder.