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 (colorspace_e colorspace, bool full_range)
 
const color_tvideo::color_vectors_from_colorspace (const sunshine_colorspace_t &colorspace)
 
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)
 
const color_tvideo::new_color_vectors_from_colorspace (const sunshine_colorspace_t &colorspace)
 New version of color_vectors_from_colorspace() function that better adheres to the standards. Returned vectors are used to perform RGB->YUV conversion. Unlike its predecessor, color vectors will produce output in UINT range, not UNORM range. Input is still in UNORM range. Returned vectors won't modify color primaries and color transfer function.
 

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

◆ new_color_vectors_from_colorspace()

const color_t * video::new_color_vectors_from_colorspace ( const sunshine_colorspace_t & colorspace)

New version of color_vectors_from_colorspace() function that better adheres to the standards. Returned vectors are used to perform RGB->YUV conversion. Unlike its predecessor, color vectors will produce output in UINT range, not UNORM range. Input is still in UNORM range. Returned vectors won't modify color primaries and color transfer function.

Parameters
colorspaceTargeted YUV colorspace.
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.