Sunshine0.0.5917
Sunshine 0.0.5917
Self-hosted game stream host for Moonlight.
Loading...
Searching...
No Matches
nvenc_utils.h
Go to the documentation of this file.
1
5#pragma once
6
7// plafform includes
8#ifdef _WIN32
9 #include <dxgiformat.h>
10#endif
11
12// local includes
13#include "nvenc_colorspace.h"
14#include "nvenc_sdk.h"
15#include "src/platform/common.h"
17
18namespace NVENC_NAMESPACE {
19
20#ifdef _WIN32
27 DXGI_FORMAT dxgi_format_from_nvenc_format(NV_ENC_BUFFER_FORMAT format);
28#endif
29
36 NV_ENC_BUFFER_FORMAT nvenc_format_from_sunshine_format(platf::pix_fmt_e format);
37
44 nvenc_colorspace_t nvenc_colorspace_from_sunshine_colorspace(const video::sunshine_colorspace_t &sunshine_colorspace);
45
46} // namespace NVENC_NAMESPACE
Declarations for common platform specific utilities.
NV_ENC_BUFFER_FORMAT nvenc_format_from_sunshine_format(platf::pix_fmt_e format)
Convert a Sunshine pixel format to the matching NVENC buffer format.
Definition nvenc_utils.cpp:40
DXGI_FORMAT dxgi_format_from_nvenc_format(NV_ENC_BUFFER_FORMAT format)
Convert an NVENC buffer format to the matching DXGI format.
Definition nvenc_utils.cpp:17
nvenc_colorspace_t nvenc_colorspace_from_sunshine_colorspace(const video::sunshine_colorspace_t &sunshine_colorspace)
Convert Sunshine colorspace metadata to NVENC VUI metadata.
Definition nvenc_utils.cpp:66
Declarations for NVENC YUV colorspace.
Imports one NVENC SDK into its version-specific implementation namespace.
#define NVENC_NAMESPACE
Namespace used for the documented NVENC implementation.
Definition nvenc_sdk.h:12
Declarations for colorspace functions.