|
Sunshine master
Self-hosted game stream host for Moonlight.
|
NVENC encode session and device state for hardware encoding. More...
Public Member Functions | |
| int | convert (platf::img_t &img) override |
| Encode one frame with NVENC and return the packet payload. | |
| nvenc::nvenc_encoded_frame | encode_frame (uint64_t frame_index) |
| Submit the next frame to NVENC and return the encoded payload. | |
| void | invalidate_ref_frames (int64_t first_frame, int64_t last_frame) override |
| Mark the frame range whose references must be invalidated. | |
| nvenc_encode_session_t (std::unique_ptr< platf::nvenc_encode_device_t > encode_device) | |
| Initialize an NVENC encode session and take ownership of its device. | |
| void | request_idr_frame () override |
| Mark the frame as a request for an IDR frame. | |
| void | request_normal_frame () override |
| Mark the frame as a request for a normal inter frame. | |
Public Member Functions inherited from video::encode_session_t | |
NVENC encode session and device state for hardware encoding.
|
inline |
Initialize an NVENC encode session and take ownership of its device.
| encode_device | Encode device. |
|
inlineoverridevirtual |
Encode one frame with NVENC and return the packet payload.
| img | Image or frame object to read from or populate. |
Implements video::encode_session_t.
|
inline |
Submit the next frame to NVENC and return the encoded payload.
| frame_index | Monotonic frame index assigned by the video pipeline. |
|
inlineoverridevirtual |
Mark the frame range whose references must be invalidated.
| first_frame | First frame. |
| last_frame | Last frame. |
Implements video::encode_session_t.
|
inlineoverridevirtual |
Mark the frame as a request for an IDR frame.
Implements video::encode_session_t.
|
inlineoverridevirtual |
Mark the frame as a request for a normal inter frame.
Implements video::encode_session_t.