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

#include <YUV2RGBShaderGLES.h>

Inheritance diagram for Shaders::GLES::BaseYUV2RGBGLSLShader:
Shaders::CGLSLShaderProgram Shaders::CShaderProgram Shaders::GLES::YUV2RGBBobShader Shaders::GLES::YUV2RGBFilterShader Shaders::GLES::YUV2RGBProgressiveShader

Public Member Functions

 BaseYUV2RGBGLSLShader (EShaderFormat format, AVColorPrimaries dst, AVColorPrimaries src, bool toneMap, ETONEMAPMETHOD toneMapMethod)
 
 ~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 SetConvertFullColorRange (bool convertFullRange)
 
void SetDisplayMetadata (bool hasDisplayMetadata, const AVMasteringDisplayMetadata &displayMetadata, bool hasLightMetadata, AVContentLightMetadata lightMetadata)
 
void SetToneMapParam (float param)
 
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

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
 
std::string m_defines
 
CConvertMatrix m_convMatrix
 
GLint m_hYTex {-1}
 
GLint m_hUTex {-1}
 
GLint m_hVTex {-1}
 
GLint m_hYuvMat {-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}
 
const GLfloat * m_proj {nullptr}
 
const GLfloat * m_model {nullptr}
 
GLfloat m_alpha {1.0f}
 
bool m_convertFullRange
 
- 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 ( EShaderFormat format,
AVColorPrimaries dst,
AVColorPrimaries src,
bool toneMap,
ETONEMAPMETHOD toneMapMethod )

◆ ~BaseYUV2RGBGLSLShader()

BaseYUV2RGBGLSLShader::~BaseYUV2RGBGLSLShader ( )
override

Member Function Documentation

◆ Free()

void BaseYUV2RGBGLSLShader::Free ( )
protected

◆ GetUcoordLoc()

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

◆ GetVcoordLoc()

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

◆ GetVertexLoc()

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

◆ GetYcoordLoc()

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

◆ OnCompiledAndLinked()

void BaseYUV2RGBGLSLShader::OnCompiledAndLinked ( )
overrideprotectedvirtual

◆ OnDisabled()

void BaseYUV2RGBGLSLShader::OnDisabled ( )
overrideprotectedvirtual

Reimplemented from Shaders::CShaderProgram.

◆ OnEnabled()

bool BaseYUV2RGBGLSLShader::OnEnabled ( )
overrideprotectedvirtual

◆ SetAlpha()

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

◆ SetBlack()

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

◆ SetColParams()

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

◆ SetContrast()

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

◆ SetConvertFullColorRange()

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

◆ SetDisplayMetadata()

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

◆ SetField()

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

◆ SetHeight()

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

◆ SetMatrices()

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

◆ SetToneMapParam()

void Shaders::GLES::BaseYUV2RGBGLSLShader::SetToneMapParam ( float param)
inline

◆ SetWidth()

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

Member Data Documentation

◆ m_alpha

GLfloat Shaders::GLES::BaseYUV2RGBGLSLShader::m_alpha {1.0f}
protected

◆ m_black

float Shaders::GLES::BaseYUV2RGBGLSLShader::m_black
protected

◆ m_colorConversion

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

◆ m_contrast

float Shaders::GLES::BaseYUV2RGBGLSLShader::m_contrast
protected

◆ m_convertFullRange

bool Shaders::GLES::BaseYUV2RGBGLSLShader::m_convertFullRange
protected

◆ m_convMatrix

CConvertMatrix Shaders::GLES::BaseYUV2RGBGLSLShader::m_convMatrix
protected

◆ m_defines

std::string Shaders::GLES::BaseYUV2RGBGLSLShader::m_defines
protected

◆ m_displayMetadata

AVMasteringDisplayMetadata Shaders::GLES::BaseYUV2RGBGLSLShader::m_displayMetadata
protected

◆ m_field

int Shaders::GLES::BaseYUV2RGBGLSLShader::m_field
protected

◆ m_format

EShaderFormat Shaders::GLES::BaseYUV2RGBGLSLShader::m_format
protected

◆ m_hAlpha

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hAlpha {-1}
protected

◆ m_hasDisplayMetadata

bool Shaders::GLES::BaseYUV2RGBGLSLShader::m_hasDisplayMetadata {false}
protected

◆ m_hasLightMetadata

bool Shaders::GLES::BaseYUV2RGBGLSLShader::m_hasLightMetadata {false}
protected

◆ m_hCoefsDst

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hCoefsDst {-1}
protected

◆ m_height

int Shaders::GLES::BaseYUV2RGBGLSLShader::m_height
protected

◆ m_hGammaDstInv

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hGammaDstInv {-1}
protected

◆ m_hGammaSrc

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hGammaSrc {-1}
protected

◆ m_hLuminance

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

◆ m_hModel

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hModel {-1}
protected

◆ m_hPrimMat

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hPrimMat {-1}
protected

◆ m_hProj

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hProj {-1}
protected

◆ m_hStep

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hStep {-1}
protected

◆ m_hToneP1

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hToneP1 {-1}
protected

◆ m_hUcoord

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hUcoord {-1}
protected

◆ m_hUTex

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hUTex {-1}
protected

◆ m_hVcoord

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hVcoord {-1}
protected

◆ m_hVertex

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hVertex {-1}
protected

◆ m_hVTex

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hVTex {-1}
protected

◆ m_hYcoord

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hYcoord {-1}
protected

◆ m_hYTex

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hYTex {-1}
protected

◆ m_hYuvMat

GLint Shaders::GLES::BaseYUV2RGBGLSLShader::m_hYuvMat {-1}
protected

◆ m_lightMetadata

AVContentLightMetadata Shaders::GLES::BaseYUV2RGBGLSLShader::m_lightMetadata
protected

◆ m_model

const GLfloat* Shaders::GLES::BaseYUV2RGBGLSLShader::m_model {nullptr}
protected

◆ m_proj

const GLfloat* Shaders::GLES::BaseYUV2RGBGLSLShader::m_proj {nullptr}
protected

◆ m_toneMapping

bool Shaders::GLES::BaseYUV2RGBGLSLShader::m_toneMapping {false}
protected

◆ m_toneMappingMethod

ETONEMAPMETHOD Shaders::GLES::BaseYUV2RGBGLSLShader::m_toneMappingMethod {VS_TONEMAPMETHOD_OFF}
protected

◆ m_toneMappingParam

float Shaders::GLES::BaseYUV2RGBGLSLShader::m_toneMappingParam {1.0}
protected

◆ m_width

int Shaders::GLES::BaseYUV2RGBGLSLShader::m_width
protected

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