summaryrefslogtreecommitdiff
path: root/src/protocols/XXColorManagement.cpp
diff options
context:
space:
mode:
authorThomas Müller <tom@94.me>2025-07-20 18:20:27 +0200
committerGitHub <noreply@github.com>2025-07-20 18:20:27 +0200
commitbf1602d9f902410500dcfa8f5a38f716574c1f39 (patch)
treeb2e6f1443218a32d80118a48fb0a8f37873d190c /src/protocols/XXColorManagement.cpp
parentd4de69381e64e6b13002f719905707459dc6befb (diff)
renderer: implement wp-color-management-v1 transfer functions (#11084)
Diffstat (limited to 'src/protocols/XXColorManagement.cpp')
-rw-r--r--src/protocols/XXColorManagement.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/protocols/XXColorManagement.cpp b/src/protocols/XXColorManagement.cpp
index 23b033a0..d01e367a 100644
--- a/src/protocols/XXColorManagement.cpp
+++ b/src/protocols/XXColorManagement.cpp
@@ -58,6 +58,14 @@ CXXColorManager::CXXColorManager(SP<CXxColorManagerV4> resource_) : m_resource(r
m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_SRGB);
m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST2084_PQ);
m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_LINEAR);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_BT709);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_BT1361);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST240);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_LOG_100);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_LOG_316);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_XVYCC);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_EXT_SRGB);
+ m_resource->sendSupportedTfNamed(XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST428);
m_resource->sendSupportedIntent(XX_COLOR_MANAGER_V4_RENDER_INTENT_PERCEPTUAL);
// resource->sendSupportedIntent(XX_COLOR_MANAGER_V4_RENDER_INTENT_RELATIVE);
@@ -405,7 +413,15 @@ CXXColorManagementParametricCreator::CXXColorManagementParametricCreator(SP<CXxI
case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_HLG:
case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_SRGB:
case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST2084_PQ:
- case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_LINEAR: break;
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_LINEAR:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_BT709:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_BT1361:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST240:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_LOG_100:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_LOG_316:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_XVYCC:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_EXT_SRGB:
+ case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST428: break;
default: r->error(XX_IMAGE_DESCRIPTION_CREATOR_PARAMS_V4_ERROR_INVALID_TF, "Unsupported transfer function"); return;
}