11 #include "ConversionMatrix.h" 12 #include "ShaderFormats.h" 13 #include "cores/VideoSettings.h" 14 #include "guilib/Shader.h" 15 #include "utils/TransformMatrix.h" 18 #include <libavutil/mastering_display_metadata.h> 19 #include <libavutil/pixfmt.h> 33 ETONEMAPMETHOD toneMapMethod);
35 void SetField(
int field) { m_field = field; }
36 void SetWidth(
int w) { m_width = w; }
37 void SetHeight(
int h) { m_height = h; }
39 void SetColParams(AVColorSpace colSpace,
int bits,
bool limited,
int textureBits);
40 void SetBlack(
float black) { m_black = black; }
41 void SetContrast(
float contrast) { m_contrast = contrast; }
42 void SetConvertFullColorRange(
bool convertFullRange) { m_convertFullRange = convertFullRange; }
43 void SetDisplayMetadata(
bool hasDisplayMetadata,
44 const AVMasteringDisplayMetadata& displayMetadata,
45 bool hasLightMetadata,
46 AVContentLightMetadata lightMetadata);
47 void SetToneMapParam(
float param) { m_toneMappingParam = param; }
49 GLint GetVertexLoc() {
return m_hVertex; }
50 GLint GetYcoordLoc() {
return m_hYcoord; }
51 GLint GetUcoordLoc() {
return m_hUcoord; }
52 GLint GetVcoordLoc() {
return m_hVcoord; }
54 void SetMatrices(
const GLfloat *p,
const GLfloat *m) { m_proj = p; m_model = m; }
55 void SetAlpha(GLfloat alpha) { m_alpha = alpha; }
58 void OnCompiledAndLinked()
override;
59 bool OnEnabled()
override;
60 void OnDisabled()
override;
63 EShaderFormat m_format;
67 bool m_hasDisplayMetadata{
false};
68 AVMasteringDisplayMetadata m_displayMetadata;
69 bool m_hasLightMetadata{
false};
70 AVContentLightMetadata m_lightMetadata;
71 bool m_toneMapping{
false};
72 ETONEMAPMETHOD m_toneMappingMethod{VS_TONEMAPMETHOD_OFF};
73 float m_toneMappingParam{1.0};
75 bool m_colorConversion{
false};
80 std::string m_defines;
90 GLint m_hGammaSrc{-1};
91 GLint m_hGammaDstInv{-1};
94 GLint m_hCoefsDst{-1};
95 GLint m_hLuminance = -1;
105 const GLfloat *m_proj{
nullptr};
106 const GLfloat *m_model{
nullptr};
107 GLfloat m_alpha{1.0f};
109 bool m_convertFullRange;
116 AVColorPrimaries dstPrimaries,
117 AVColorPrimaries srcPrimaries,
119 ETONEMAPMETHOD toneMapMethod);
126 AVColorPrimaries dstPrimaries,
127 AVColorPrimaries srcPrimaries,
129 ETONEMAPMETHOD toneMapMethod);
130 void OnCompiledAndLinked()
override;
131 bool OnEnabled()
override;
Helper class used for YUV to RGB conversions.
Definition: ConversionMatrix.h:144
Definition: YUV2RGBShaderGLES.h:122
Definition: LinuxRendererGL.h:30
Definition: YUV2RGBShaderGLES.h:112
Definition: YUV2RGBShaderGLES.h:26