Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
Shaders::GL::BaseYUV2RGBGLSLShader Class Reference

#include <YUV2RGBShaderGL.h>

Inheritance diagram for Shaders::GL::BaseYUV2RGBGLSLShader:
Shaders::CGLSLShaderProgram Shaders::CShaderProgram Shaders::GL::YUV2RGBFilterShader4 Shaders::GL::YUV2RGBProgressiveShader

Public Member Functions

 BaseYUV2RGBGLSLShader (bool rect, EShaderFormat format, bool stretch, AVColorPrimaries dst, AVColorPrimaries src, bool toneMap, ETONEMAPMETHOD toneMapMethod, std::shared_ptr< GLSLOutput > output)
 
 ~BaseYUV2RGBGLSLShader () override
 
void SetField (int field)
 
void SetWidth (int w)
 
void SetHeight (int h)
 
void SetColParams (AVColorSpace colSpace, int bits, bool limited, int textureBits)
 
void SetBlack (float black)
 
void SetContrast (float contrast)
 
void SetNonLinStretch (float stretch)
 
void SetDisplayMetadata (bool hasDisplayMetadata, const AVMasteringDisplayMetadata &displayMetadata, bool hasLightMetadata, AVContentLightMetadata lightMetadata)
 
void SetToneMapParam (ETONEMAPMETHOD method, float param)
 
void SetConvertFullColorRange (bool convertFullRange)
 
GLint GetVertexLoc ()
 
GLint GetYcoordLoc ()
 
GLint GetUcoordLoc ()
 
GLint GetVcoordLoc ()
 
void SetMatrices (const GLfloat *p, const GLfloat *m)
 
void SetAlpha (GLfloat alpha)
 
- Public Member Functions inherited from Shaders::CGLSLShaderProgram
 CGLSLShaderProgram ()
 
 CGLSLShaderProgram (const std::string &vert, const std::string &frag)
 
 ~CGLSLShaderProgram () override
 
bool Enable () override
 
void Disable () override
 
bool CompileAndLink () override
 
- Public Member Functions inherited from Shaders::CShaderProgram
 CShaderProgram ()=default
 
virtual ~CShaderProgram ()
 
bool OK () const
 
CVertexShaderVertexShader ()
 
CPixelShaderPixelShader ()
 
virtual GLuint ProgramHandle ()
 

Protected Member Functions

void OnCompiledAndLinked () override
 
bool OnEnabled () override
 
void OnDisabled () override
 
void Free ()
 
- Protected Member Functions inherited from Shaders::CGLSLShaderProgram
void Free ()
 

Protected Attributes

bool m_convertFullRange
 
EShaderFormat m_format
 
int m_width
 
int m_height
 
int m_field
 
bool m_hasDisplayMetadata = false
 
AVMasteringDisplayMetadata m_displayMetadata
 
bool m_hasLightMetadata = false
 
AVContentLightMetadata m_lightMetadata
 
bool m_toneMapping = false
 
ETONEMAPMETHOD m_toneMappingMethod = VS_TONEMAPMETHOD_OFF
 
float m_toneMappingParam = 1.0
 
bool m_colorConversion {false}
 
float m_black
 
float m_contrast
 
float m_stretch
 
const GLfloat * m_proj = nullptr
 
const GLfloat * m_model = nullptr
 
GLfloat m_alpha = 1.0f
 
std::string m_defines
 
std::shared_ptr< Shaders::GLSLOutputm_glslOutput
 
CConvertMatrix m_convMatrix
 
GLint m_hYTex = -1
 
GLint m_hUTex = -1
 
GLint m_hVTex = -1
 
GLint m_hYuvMat = -1
 
GLint m_hStretch = -1
 
GLint m_hStep = -1
 
GLint m_hGammaSrc = -1
 
GLint m_hGammaDstInv = -1
 
GLint m_hPrimMat = -1
 
GLint m_hToneP1 = -1
 
GLint m_hCoefsDst = -1
 
GLint m_hLuminance = -1
 
GLint m_hVertex = -1
 
GLint m_hYcoord = -1
 
GLint m_hUcoord = -1
 
GLint m_hVcoord = -1
 
GLint m_hProj = -1
 
GLint m_hModel = -1
 
GLint m_hAlpha = -1
 
- Protected Attributes inherited from Shaders::CGLSLShaderProgram
GLint m_lastProgram
 
bool m_validated = false
 
- Protected Attributes inherited from Shaders::CShaderProgram
CVertexShaderm_pVP = nullptr
 
CPixelShaderm_pFP = nullptr
 
GLuint m_shaderProgram = 0
 
bool m_ok = false
 

Constructor & Destructor Documentation

◆ BaseYUV2RGBGLSLShader()

BaseYUV2RGBGLSLShader::BaseYUV2RGBGLSLShader ( bool rect,
EShaderFormat format,
bool stretch,
AVColorPrimaries dst,
AVColorPrimaries src,
bool toneMap,
ETONEMAPMETHOD toneMapMethod,
std::shared_ptr< GLSLOutput > output )

◆ ~BaseYUV2RGBGLSLShader()

BaseYUV2RGBGLSLShader::~BaseYUV2RGBGLSLShader ( )
override

Member Function Documentation

◆ Free()

void BaseYUV2RGBGLSLShader::Free ( )
protected

◆ GetUcoordLoc()

GLint Shaders::GL::BaseYUV2RGBGLSLShader::GetUcoordLoc ( )
inline

◆ GetVcoordLoc()

GLint Shaders::GL::BaseYUV2RGBGLSLShader::GetVcoordLoc ( )
inline

◆ GetVertexLoc()

GLint Shaders::GL::BaseYUV2RGBGLSLShader::GetVertexLoc ( )
inline

◆ GetYcoordLoc()

GLint Shaders::GL::BaseYUV2RGBGLSLShader::GetYcoordLoc ( )
inline

◆ OnCompiledAndLinked()

void BaseYUV2RGBGLSLShader::OnCompiledAndLinked ( )
overrideprotectedvirtual

Reimplemented from Shaders::CShaderProgram.

Reimplemented in Shaders::GL::YUV2RGBFilterShader4.

◆ OnDisabled()

void BaseYUV2RGBGLSLShader::OnDisabled ( )
overrideprotectedvirtual

Reimplemented from Shaders::CShaderProgram.

◆ OnEnabled()

bool BaseYUV2RGBGLSLShader::OnEnabled ( )
overrideprotectedvirtual

Reimplemented from Shaders::CShaderProgram.

Reimplemented in Shaders::GL::YUV2RGBFilterShader4.

◆ SetAlpha()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetAlpha ( GLfloat alpha)
inline

◆ SetBlack()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetBlack ( float black)
inline

◆ SetColParams()

void BaseYUV2RGBGLSLShader::SetColParams ( AVColorSpace colSpace,
int bits,
bool limited,
int textureBits )

◆ SetContrast()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetContrast ( float contrast)
inline

◆ SetConvertFullColorRange()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetConvertFullColorRange ( bool convertFullRange)
inline

◆ SetDisplayMetadata()

void BaseYUV2RGBGLSLShader::SetDisplayMetadata ( bool hasDisplayMetadata,
const AVMasteringDisplayMetadata & displayMetadata,
bool hasLightMetadata,
AVContentLightMetadata lightMetadata )

◆ SetField()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetField ( int field)
inline

◆ SetHeight()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetHeight ( int h)
inline

◆ SetMatrices()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetMatrices ( const GLfloat * p,
const GLfloat * m )
inline

◆ SetNonLinStretch()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetNonLinStretch ( float stretch)
inline

◆ SetToneMapParam()

void BaseYUV2RGBGLSLShader::SetToneMapParam ( ETONEMAPMETHOD method,
float param )

◆ SetWidth()

void Shaders::GL::BaseYUV2RGBGLSLShader::SetWidth ( int w)
inline

Member Data Documentation

◆ m_alpha

GLfloat Shaders::GL::BaseYUV2RGBGLSLShader::m_alpha = 1.0f
protected

◆ m_black

float Shaders::GL::BaseYUV2RGBGLSLShader::m_black
protected

◆ m_colorConversion

bool Shaders::GL::BaseYUV2RGBGLSLShader::m_colorConversion {false}
protected

◆ m_contrast

float Shaders::GL::BaseYUV2RGBGLSLShader::m_contrast
protected

◆ m_convertFullRange

bool Shaders::GL::BaseYUV2RGBGLSLShader::m_convertFullRange
protected

◆ m_convMatrix

CConvertMatrix Shaders::GL::BaseYUV2RGBGLSLShader::m_convMatrix
protected

◆ m_defines

std::string Shaders::GL::BaseYUV2RGBGLSLShader::m_defines
protected

◆ m_displayMetadata

AVMasteringDisplayMetadata Shaders::GL::BaseYUV2RGBGLSLShader::m_displayMetadata
protected

◆ m_field

int Shaders::GL::BaseYUV2RGBGLSLShader::m_field
protected

◆ m_format

EShaderFormat Shaders::GL::BaseYUV2RGBGLSLShader::m_format
protected

◆ m_glslOutput

std::shared_ptr<Shaders::GLSLOutput> Shaders::GL::BaseYUV2RGBGLSLShader::m_glslOutput
protected

◆ m_hAlpha

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hAlpha = -1
protected

◆ m_hasDisplayMetadata

bool Shaders::GL::BaseYUV2RGBGLSLShader::m_hasDisplayMetadata = false
protected

◆ m_hasLightMetadata

bool Shaders::GL::BaseYUV2RGBGLSLShader::m_hasLightMetadata = false
protected

◆ m_hCoefsDst

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hCoefsDst = -1
protected

◆ m_height

int Shaders::GL::BaseYUV2RGBGLSLShader::m_height
protected

◆ m_hGammaDstInv

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hGammaDstInv = -1
protected

◆ m_hGammaSrc

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hGammaSrc = -1
protected

◆ m_hLuminance

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hLuminance = -1
protected

◆ m_hModel

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hModel = -1
protected

◆ m_hPrimMat

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hPrimMat = -1
protected

◆ m_hProj

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hProj = -1
protected

◆ m_hStep

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hStep = -1
protected

◆ m_hStretch

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hStretch = -1
protected

◆ m_hToneP1

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hToneP1 = -1
protected

◆ m_hUcoord

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hUcoord = -1
protected

◆ m_hUTex

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hUTex = -1
protected

◆ m_hVcoord

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hVcoord = -1
protected

◆ m_hVertex

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hVertex = -1
protected

◆ m_hVTex

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hVTex = -1
protected

◆ m_hYcoord

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hYcoord = -1
protected

◆ m_hYTex

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hYTex = -1
protected

◆ m_hYuvMat

GLint Shaders::GL::BaseYUV2RGBGLSLShader::m_hYuvMat = -1
protected

◆ m_lightMetadata

AVContentLightMetadata Shaders::GL::BaseYUV2RGBGLSLShader::m_lightMetadata
protected

◆ m_model

const GLfloat* Shaders::GL::BaseYUV2RGBGLSLShader::m_model = nullptr
protected

◆ m_proj

const GLfloat* Shaders::GL::BaseYUV2RGBGLSLShader::m_proj = nullptr
protected

◆ m_stretch

float Shaders::GL::BaseYUV2RGBGLSLShader::m_stretch
protected

◆ m_toneMapping

bool Shaders::GL::BaseYUV2RGBGLSLShader::m_toneMapping = false
protected

◆ m_toneMappingMethod

ETONEMAPMETHOD Shaders::GL::BaseYUV2RGBGLSLShader::m_toneMappingMethod = VS_TONEMAPMETHOD_OFF
protected

◆ m_toneMappingParam

float Shaders::GL::BaseYUV2RGBGLSLShader::m_toneMappingParam = 1.0
protected

◆ m_width

int Shaders::GL::BaseYUV2RGBGLSLShader::m_width
protected

The documentation for this class was generated from the following files: