Switch EGLRenderer to the shared functions for CSC matrix generation and chroma co-siting

This commit is contained in:
Cameron Gutman
2025-11-05 22:27:31 -06:00
parent 7116efd8de
commit 7f7cc89e61
3 changed files with 22 additions and 65 deletions
@@ -28,8 +28,6 @@ private:
unsigned compileShader(const char* vertexShaderSrc, const char* fragmentShaderSrc);
bool compileShaders();
bool specialize();
const float *getColorOffsets(const AVFrame* frame);
const float *getColorMatrix(const AVFrame* frame);
static int loadAndBuildShader(int shaderType, const char *filename);
AVPixelFormat m_EGLImagePixelFormat;
@@ -61,10 +59,14 @@ private:
#define NV12_PARAM_YUVMAT 0
#define NV12_PARAM_OFFSET 1
#define NV12_PARAM_PLANE1 2
#define NV12_PARAM_PLANE2 3
#define NV12_PARAM_CHROMA_OFFSET 2
#define NV12_PARAM_PLANE1 3
#define NV12_PARAM_PLANE2 4
#define OPAQUE_PARAM_TEXTURE 0
int m_ShaderProgramParams[4];
std::array<float, 9> m_PremultipliedColorMatrix;
std::array<float, 3> m_YuvOffsets;
std::array<float, 2> m_ChromaOffset;
int m_ShaderProgramParams[5];
#define OVERLAY_PARAM_TEXTURE 0
int m_OverlayShaderProgramParams[1];