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

#include <YUV2RGBShaderGL.h>

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

Public Member Functions

 YUV2RGBFilterShader4 (bool rect, EShaderFormat format, bool stretch, AVColorPrimaries dstPrimaries, AVColorPrimaries srcPrimaries, bool toneMap, ETONEMAPMETHOD toneMapMethod, ESCALINGMETHOD method, std::shared_ptr< GLSLOutput > output)
 
 ~YUV2RGBFilterShader4 () override
 
- Public Member Functions inherited from Shaders::GL::BaseYUV2RGBGLSLShader
 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
 
- Protected Member Functions inherited from Shaders::GL::BaseYUV2RGBGLSLShader
void OnDisabled () override
 
void Free ()
 
- Protected Member Functions inherited from Shaders::CGLSLShaderProgram
void Free ()
 

Protected Attributes

GLuint m_kernelTex = 0
 
GLint m_hKernTex = -1
 
ESCALINGMETHOD m_scaling = VS_SCALINGMETHOD_LANCZOS3_FAST
 
- Protected Attributes inherited from Shaders::GL::BaseYUV2RGBGLSLShader
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

◆ YUV2RGBFilterShader4()

YUV2RGBFilterShader4::YUV2RGBFilterShader4 ( bool rect,
EShaderFormat format,
bool stretch,
AVColorPrimaries dstPrimaries,
AVColorPrimaries srcPrimaries,
bool toneMap,
ETONEMAPMETHOD toneMapMethod,
ESCALINGMETHOD method,
std::shared_ptr< GLSLOutput > output )

◆ ~YUV2RGBFilterShader4()

YUV2RGBFilterShader4::~YUV2RGBFilterShader4 ( )
override

Member Function Documentation

◆ OnCompiledAndLinked()

void YUV2RGBFilterShader4::OnCompiledAndLinked ( )
overrideprotectedvirtual

◆ OnEnabled()

bool YUV2RGBFilterShader4::OnEnabled ( )
overrideprotectedvirtual

Member Data Documentation

◆ m_hKernTex

GLint Shaders::GL::YUV2RGBFilterShader4::m_hKernTex = -1
protected

◆ m_kernelTex

GLuint Shaders::GL::YUV2RGBFilterShader4::m_kernelTex = 0
protected

◆ m_scaling

ESCALINGMETHOD Shaders::GL::YUV2RGBFilterShader4::m_scaling = VS_SCALINGMETHOD_LANCZOS3_FAST
protected

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