11 #if defined(HAVE_LCMS2) 20 #include <libavutil/pixfmt.h> 50 CMS_PRIMARIES_BT470BG,
60 CMS_TRC_OUTPUT_OFFSET,
92 bool GetVideo3dLut(AVColorPrimaries srcPrimaries,
int* cmsToken, CMS_DATA_FORMAT format,
93 int clutSize, uint16_t* clutData);
110 static bool Get3dLutSize(CMS_DATA_FORMAT format,
int *clutSize,
int *dataSize);
118 static bool Probe3dLut(
const std::string& filename,
int* clutSize);
127 static bool Load3dLut(
const std::string& filename,
128 CMS_DATA_FORMAT format,
133 #if defined(HAVE_LCMS2) 143 cmsHPROFILE LoadIccDisplayProfile(
const std::string& filename);
153 cmsToneCurve* CreateToneCurve(CMS_TRC_TYPE gammaType,
double gammaValue, cmsCIEXYZ blackPoint);
156 cmsHPROFILE CreateSourceProfile(CMS_PRIMARIES primaries, cmsToneCurve *gamma, CMS_WHITEPOINT whitepoint);
166 void Create3dLut(cmsHTRANSFORM transform, CMS_DATA_FORMAT format,
int clutSize, uint16_t *clutData);
169 cmsHPROFILE m_hProfile =
nullptr;
170 cmsCIEXYZ m_blackPoint = { 0, 0, 0 };
173 CMS_WHITEPOINT m_curIccWhitePoint;
174 CMS_PRIMARIES m_curIccPrimaries;
175 CMS_TRC_TYPE m_m_curIccGammaMode;
177 #endif // defined(HAVE_LCMS2) 180 CMS_PRIMARIES m_curVideoPrimaries;
185 std::string m_cur3dlutFile;
186 std::string m_curIccProfile;
static bool Get3dLutSize(CMS_DATA_FORMAT format, int *clutSize, int *dataSize)
Get a 3D LUT dimension and data size for video color correction.
Definition: ColorManager.cpp:104
bool IsValid() const
Check if configuration of color management is valid.
Definition: ColorManager.cpp:50
Definition: ColorManager.h:65
bool CheckConfiguration(int cmsToken, AVColorPrimaries srcPrimaries)
Check if a 3D LUT is still valid.
Definition: ColorManager.cpp:242
bool GetVideo3dLut(AVColorPrimaries srcPrimaries, int *cmsToken, CMS_DATA_FORMAT format, int clutSize, uint16_t *clutData)
Get a 3D LUT for video color correction.
Definition: ColorManager.cpp:154
bool IsEnabled() const
Check if user has requested color management.
Definition: ColorManager.cpp:45