Sunshine master
Self-hosted game stream host for Moonlight.
nvenc::nvenc_d3d11_interface Class Referenceabstract

SDK-neutral Direct3D11 NVENC encoder interface. More...

#include <src/nvenc/nvenc_d3d11_interface.h>

Inheritance diagram for nvenc::nvenc_d3d11_interface:
[legend]
Collaboration diagram for nvenc::nvenc_d3d11_interface:
[legend]

Public Member Functions

virtual ID3D11Texture2D * get_input_texture ()=0
 Get the input surface texture.
 
 ~nvenc_d3d11_interface () override=default
 Destroy the SDK-neutral Direct3D11 encoder interface.
 
- Public Member Functions inherited from nvenc::nvenc_encoder
virtual bool create_encoder (const nvenc_config &config, const video::config_t &client_config, const video::sunshine_colorspace_t &colorspace, platf::pix_fmt_e buffer_format)=0
 Create the encoder.
 
virtual void destroy_encoder ()=0
 Destroy the encoder.
 
virtual nvenc_encoded_frame encode_frame (std::uint64_t frame_index, bool force_idr)=0
 Encode the next frame using the platform-specific input surface.
 
virtual bool invalidate_ref_frames (std::uint64_t first_frame, std::uint64_t last_frame)=0
 Invalidate reference frames in the requested range.
 
virtual ~nvenc_encoder ()=default
 Destroy the SDK-neutral encoder interface.
 

Detailed Description

SDK-neutral Direct3D11 NVENC encoder interface.

Member Function Documentation

◆ get_input_texture()

virtual ID3D11Texture2D * nvenc::nvenc_d3d11_interface::get_input_texture ( )
pure virtual

Get the input surface texture.

Returns
Input surface texture.

Implemented in nvenc::nvenc_d3d11, nvenc::nvenc_d3d11_native, and nvenc::nvenc_d3d11_on_cuda.


The documentation for this class was generated from the following file: