|
Sunshine master
Self-hosted game stream host for Moonlight.
|
CUDA encode device path that keeps converted frames in GPU memory. More...
Public Member Functions | |
| int | convert (platf::img_t &img) override |
| Convert a captured frame through CUDA into GPU encoder input. | |
Public Member Functions inherited from cuda::cuda_t | |
| void | apply_colorspace () override |
| Apply the configured colorspace metadata to the active frame. | |
| int | init (int in_width, int in_height) |
| Initialize the CUDA device context used for frame conversion. | |
| int | set_frame (AVFrame *frame, AVBufferRef *hw_frames_ctx) override |
| Attach frame resources used by the next conversion or encode operation. | |
| cudaTextureObject_t | tex_obj (const tex_t &tex) const |
| Select the CUDA texture object for the configured filtering mode. | |
Public Member Functions inherited from platf::avcodec_encode_device_t | |
| virtual void | init_codec_options (AVCodecContext *ctx, AVDictionary **options) |
| Provides a hook for allow platform-specific code to adjust codec options. | |
| virtual void | init_hwframes (AVHWFramesContext *frames) |
| Initialize the hwframes context. | |
| virtual int | prepare_to_derive_context (int hw_device_type) |
| Prepare to derive a context. | |
Public Member Functions inherited from platf::encode_device_t | |
Additional Inherited Members | |
Public Attributes inherited from cuda::cuda_t | |
| int | height |
| Frame or display height in pixels. | |
| frame_t | hwframe |
| FFmpeg hardware frame backed by CUDA resources. | |
| bool | is_yuv444 |
| Whether the CUDA converter outputs YUV 4:4:4. | |
| bool | linear_interpolation |
| Whether the CUDA converter uses linear interpolation. | |
| stream_t | stream |
| CUDA stream used for asynchronous conversion work. | |
| sws_t | sws |
| Software scaler used for CUDA frame conversion fallback paths. | |
| int | width |
| Frame or display width in pixels. | |
Public Attributes inherited from platf::avcodec_encode_device_t | |
| void * | data {} |
| Backend-specific conversion state. | |
| AVFrame * | frame {} |
| FFmpeg frame currently owned by the encode device. | |
Public Attributes inherited from platf::encode_device_t | |
| video::sunshine_colorspace_t | colorspace |
| Colorspace metadata expected by the encoder. | |
CUDA encode device path that keeps converted frames in GPU memory.
|
inlineoverridevirtual |
Convert a captured frame through CUDA into GPU encoder input.
| img | Image or frame object to read from or populate. |
Reimplemented from platf::avcodec_encode_device_t.