Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
OVERLAY Namespace Reference

Classes

class  COverlay
 
class  COverlayGlyphGL
 
class  COverlayGlyphGLES
 
class  COverlayImageDX
 
class  COverlayQuadsDX
 
class  COverlayTextureGL
 
class  COverlayTextureGLES
 
class  CRenderer
 
struct  SQuad
 
struct  SQuads
 
struct  SRenderState
 

Functions

void MarkDirty ()
 Mark the entire GUI dirty so the next render pass runs (not skipped). Overlays (subtitles, debug OSD) are not CGUIControls and do not set m_controlDirtyState automatically; callers invoke this at overlay state transitions and on per-frame updates where needed (debug OSD).
 
void convert_rgba (const CDVDOverlayImage &o, bool mergealpha, std::vector< uint32_t > &rgba, const std::vector< uint32_t > *paletteOverride)
 
void convert_rgba (const CDVDOverlaySpu &o, bool mergealpha, int &min_x, int &max_x, int &min_y, int &max_y, std::vector< uint32_t > &rgba)
 
bool convert_quad (ASS_Image *images, SQuads &quads, int max_x)
 
bool ShouldConvertPQPaletteToSRGB (bool isHDROverlay)
 
void ConvertPQPaletteToSRGB (std::vector< uint32_t > &palette)
 
int GetStereoscopicDepth ()
 

Function Documentation

◆ convert_quad()

bool OVERLAY::convert_quad ( ASS_Image * images,
SQuads & quads,
int max_x )

◆ convert_rgba() [1/2]

void OVERLAY::convert_rgba ( const CDVDOverlayImage & o,
bool mergealpha,
std::vector< uint32_t > & rgba,
const std::vector< uint32_t > * paletteOverride = nullptr )

paletteOverride, when non-null, is used in place of o.palette - e.g. a palette already converted by ConvertPQPaletteToSRGB() above. o.pixels (the per-pixel palette indices) is always taken from o itself either way.

◆ convert_rgba() [2/2]

void OVERLAY::convert_rgba ( const CDVDOverlaySpu & o,
bool mergealpha,
int & min_x,
int & max_x,
int & min_y,
int & max_y,
std::vector< uint32_t > & rgba )

◆ ConvertPQPaletteToSRGB()

void OVERLAY::ConvertPQPaletteToSRGB ( std::vector< uint32_t > & palette)

Converts a PGS palette (CDVDOverlayImage::palette - PIXEL_A/R/G/BSHIFT- packed, see PlatformDefs.h) in place from BT.2020 ST.2084 (PQ) to BT.709/sRGB, with reference white (203 nits, ITU-R BT.2408) mapped to sRGB white and brighter colours scaled down to it, hue kept. Alpha is untouched.

◆ GetStereoscopicDepth()

int OVERLAY::GetStereoscopicDepth ( )

◆ MarkDirty()

void OVERLAY::MarkDirty ( )

Mark the entire GUI dirty so the next render pass runs (not skipped). Overlays (subtitles, debug OSD) are not CGUIControls and do not set m_controlDirtyState automatically; callers invoke this at overlay state transitions and on per-frame updates where needed (debug OSD).

◆ ShouldConvertPQPaletteToSRGB()

bool OVERLAY::ShouldConvertPQPaletteToSRGB ( bool isHDROverlay)

True when a PQ overlay palette (isHDROverlay) must be converted to sRGB for the surface it will be drawn into.