summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorUjinT34 <41110182+UjinT34@users.noreply.github.com>2026-01-13 18:44:36 +0300
committerGitHub <noreply@github.com>2026-01-13 16:44:36 +0100
commite0cf88809de12c39ad8a1ad1c0194967b0029ec8 (patch)
tree187ea356114248b08ed88739104a47fceac2cca0 /src/Compositor.cpp
parente43f949f8a80611fdfe21068f55dfe9fb7604ae8 (diff)
protocols/cm: Fix image description info events (#12781)
* fix image description info events * always send some target primaries * set edid values as target primaries and luminances * init monitor image description * set default luminances for tf * fix BT1886 luminances * fix mastering values and overrides * set maxCLL & maxFALL * typo * add FALL & CLL to preferred HDR image description * fix ref luminances
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 713b7d47..3299113c 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -2973,13 +2973,16 @@ PImageDescription CCompositor::getHDRImageDescription() {
}
return m_monitors.size() == 1 && m_monitors[0]->m_output && m_monitors[0]->m_output->parsedEDID.hdrMetadata.has_value() ?
- CImageDescription::from(SImageDescription{.transferFunction = NColorManagement::CM_TRANSFER_FUNCTION_ST2084_PQ,
- .primariesNameSet = true,
- .primariesNamed = NColorManagement::CM_PRIMARIES_BT2020,
- .primaries = NColorManagement::getPrimaries(NColorManagement::CM_PRIMARIES_BT2020),
- .luminances = {.min = m_monitors[0]->m_output->parsedEDID.hdrMetadata->desiredContentMinLuminance,
- .max = m_monitors[0]->m_output->parsedEDID.hdrMetadata->desiredContentMaxLuminance,
- .reference = m_monitors[0]->m_output->parsedEDID.hdrMetadata->desiredMaxFrameAverageLuminance}}) :
+ CImageDescription::from(SImageDescription{
+ .transferFunction = NColorManagement::CM_TRANSFER_FUNCTION_ST2084_PQ,
+ .primariesNameSet = true,
+ .primariesNamed = NColorManagement::CM_PRIMARIES_BT2020,
+ .primaries = NColorManagement::getPrimaries(NColorManagement::CM_PRIMARIES_BT2020),
+ .masteringPrimaries = m_monitors[0]->getMasteringPrimaries(),
+ .luminances = {.min = m_monitors[0]->minLuminance(HDR_MIN_LUMINANCE), .max = m_monitors[0]->maxLuminance(HDR_MAX_LUMINANCE), .reference = HDR_REF_LUMINANCE},
+ .masteringLuminances = m_monitors[0]->getMasteringLuminances(),
+ .maxCLL = m_monitors[0]->maxCLL(),
+ .maxFALL = m_monitors[0]->maxFALL()}) :
DEFAULT_HDR_IMAGE_DESCRIPTION;
}