Sunshine latest
Self-hosted game stream host for Moonlight.
video_colorspace.h File Reference

Declarations for colorspace functions. More...

#include <libavutil/pixfmt.h>
Include dependency graph for video_colorspace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  video::avcodec_colorspace_t
 
struct  video::color_t
 
struct  video::sunshine_colorspace_t
 

Enumerations

enum class  video::colorspace_e { rec601 , rec709 , bt2020sdr , bt2020 }
 

Functions

avcodec_colorspace_t video::avcodec_colorspace_from_sunshine_colorspace (const sunshine_colorspace_t &sunshine_colorspace)
 
const color_tvideo::color_vectors_from_colorspace (const sunshine_colorspace_t &colorspace, bool unorm_output)
 Get static RGB->YUV color conversion matrix. This matrix expects RGB input in UNORM (0.0 to 1.0) range and doesn't perform any gamut mapping or gamma correction.
 
sunshine_colorspace_t video::colorspace_from_client_config (const config_t &config, bool hdr_display)
 
bool video::colorspace_is_hdr (const sunshine_colorspace_t &colorspace)
 

Detailed Description

Declarations for colorspace functions.

Enumeration Type Documentation

◆ colorspace_e

enum class video::colorspace_e
strong
Enumerator
rec601 

Rec. 601.

rec709 

Rec. 709.

bt2020sdr 

Rec. 2020 SDR.

bt2020 

Rec. 2020 HDR.

Function Documentation

◆ color_vectors_from_colorspace()

const color_t * video::color_vectors_from_colorspace ( const sunshine_colorspace_t & colorspace,
bool unorm_output )

Get static RGB->YUV color conversion matrix. This matrix expects RGB input in UNORM (0.0 to 1.0) range and doesn't perform any gamut mapping or gamma correction.

Parameters
colorspaceTargeted YUV colorspace.
unorm_outputWhether the matrix should produce output in UNORM or UINT range.
Returns
const color_t* that contains RGB->YUV transformation vectors. Components range_y and range_uv are there for backwards compatibility and can be ignored in the computation.