mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2025-12-20 04:40:07 +01:00
color: rename luminance to target luminance
In the experimental color-management protocol v3 (xx-color-management-v3), we had only the luminance parameters that were defining the luminance range targeted by the image description. But in v4 a way to specify luminance parameters for the primary color volume has been added. In order to avoid confusion, rename existent luminance variables to target luminance. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
This commit is contained in:
parent
3f0de3bdf4
commit
1082ef328a
4 changed files with 37 additions and 39 deletions
|
|
@ -400,7 +400,7 @@ weston_color_profile_param_builder_set_target_primaries(struct weston_color_prof
|
|||
|
||||
bool
|
||||
weston_color_profile_param_builder_set_target_luminance(struct weston_color_profile_param_builder *builder,
|
||||
float min_luminance, float max_luminance);
|
||||
float min_lum, float max_lum);
|
||||
|
||||
bool
|
||||
weston_color_profile_param_builder_set_maxFALL(struct weston_color_profile_param_builder *builder,
|
||||
|
|
|
|||
|
|
@ -389,8 +389,8 @@ cmlcms_find_color_profile_by_params(const struct weston_color_manager_lcms *cm,
|
|||
sizeof(params->primaries_info) +
|
||||
sizeof(params->tf_info) +
|
||||
sizeof(params->tf_params) +
|
||||
sizeof(params->min_luminance) +
|
||||
sizeof(params->max_luminance) +
|
||||
sizeof(params->target_min_luminance) +
|
||||
sizeof(params->target_max_luminance) +
|
||||
sizeof(params->maxCLL) +
|
||||
sizeof(params->maxFALL),
|
||||
"struct weston_color_profile_params must not contain implicit padding");
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ enum weston_color_profile_params_set {
|
|||
WESTON_COLOR_PROFILE_PARAMS_PRIMARIES = 0x01,
|
||||
WESTON_COLOR_PROFILE_PARAMS_TF = 0x02,
|
||||
WESTON_COLOR_PROFILE_PARAMS_TARGET_PRIMARIES = 0x04,
|
||||
WESTON_COLOR_PROFILE_PARAMS_LUMINANCE = 0x08,
|
||||
WESTON_COLOR_PROFILE_PARAMS_TARGET_LUMINANCE = 0x08,
|
||||
WESTON_COLOR_PROFILE_PARAMS_MAXCLL = 0x10,
|
||||
WESTON_COLOR_PROFILE_PARAMS_MAXFALL = 0x20,
|
||||
};
|
||||
|
|
@ -429,36 +429,36 @@ weston_color_profile_param_builder_set_target_primaries(struct weston_color_prof
|
|||
* to get the error details.
|
||||
*
|
||||
* \param builder The builder object whose parameters will be set.
|
||||
* \param min_luminance The minimum luminance.
|
||||
* \param max_luminance The maximum luminance.
|
||||
* \param min_lum The target minimum luminance.
|
||||
* \param max_lum The target maximum luminance.
|
||||
* \return true on success, false otherwise.
|
||||
*/
|
||||
bool
|
||||
weston_color_profile_param_builder_set_target_luminance(struct weston_color_profile_param_builder *builder,
|
||||
float min_luminance, float max_luminance)
|
||||
float min_lum, float max_lum)
|
||||
{
|
||||
bool success = true;
|
||||
|
||||
if (builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_LUMINANCE) {
|
||||
if (builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_TARGET_LUMINANCE) {
|
||||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_ALREADY_SET,
|
||||
"target luminance was already set");
|
||||
success = false;
|
||||
}
|
||||
|
||||
if (min_luminance >= max_luminance) {
|
||||
if (min_lum >= max_lum) {
|
||||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_INVALID_LUMINANCE,
|
||||
"min luminance %f shouldn't be greater than or equal to max %f",
|
||||
min_luminance, max_luminance);
|
||||
"target min luminance %f shouldn't be greater than or equal to max %f",
|
||||
min_lum, max_lum);
|
||||
success = false;
|
||||
}
|
||||
|
||||
if (!success)
|
||||
return false;
|
||||
|
||||
builder->params.min_luminance = min_luminance;
|
||||
builder->params.max_luminance = max_luminance;
|
||||
builder->params.target_min_luminance = min_lum;
|
||||
builder->params.target_max_luminance = max_lum;
|
||||
|
||||
builder->group_mask |= WESTON_COLOR_PROFILE_PARAMS_LUMINANCE;
|
||||
builder->group_mask |= WESTON_COLOR_PROFILE_PARAMS_TARGET_LUMINANCE;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -536,9 +536,9 @@ builder_validate_params_set(struct weston_color_profile_param_builder *builder)
|
|||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_INCOMPLETE_SET,
|
||||
"transfer function not set");
|
||||
|
||||
/* If luminance values were given, tf must be PQ. */
|
||||
/* If target luminance values were given, tf must be PQ. */
|
||||
if (builder->params.tf_info->tf != WESTON_TF_ST2084_PQ &&
|
||||
(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_LUMINANCE ||
|
||||
(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_TARGET_LUMINANCE ||
|
||||
builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_MAXCLL ||
|
||||
builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_MAXFALL))
|
||||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_INCONSISTENT_SET,
|
||||
|
|
@ -620,35 +620,35 @@ validate_color_gamut(struct weston_color_profile_param_builder *builder,
|
|||
static void
|
||||
validate_maxcll(struct weston_color_profile_param_builder *builder)
|
||||
{
|
||||
if (!(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_LUMINANCE))
|
||||
if (!(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_TARGET_LUMINANCE))
|
||||
return;
|
||||
|
||||
if (builder->params.min_luminance >= builder->params.maxCLL)
|
||||
if (builder->params.target_min_luminance >= builder->params.maxCLL)
|
||||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_INCONSISTENT_LUMINANCES,
|
||||
"maxCLL (%f) should be greater or equal to min luminance (%f)",
|
||||
builder->params.maxCLL, builder->params.min_luminance);
|
||||
"maxCLL (%f) should be greater or equal to target min luminance (%f)",
|
||||
builder->params.maxCLL, builder->params.target_min_luminance);
|
||||
|
||||
if (builder->params.max_luminance < builder->params.maxCLL)
|
||||
if (builder->params.target_max_luminance < builder->params.maxCLL)
|
||||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_INCONSISTENT_LUMINANCES,
|
||||
"maxCLL (%f) should not be greater than max luminance (%f)",
|
||||
builder->params.maxCLL, builder->params.max_luminance);
|
||||
"maxCLL (%f) should not be greater than target max luminance (%f)",
|
||||
builder->params.maxCLL, builder->params.target_max_luminance);
|
||||
}
|
||||
|
||||
static void
|
||||
validate_maxfall(struct weston_color_profile_param_builder *builder)
|
||||
{
|
||||
if (!(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_LUMINANCE))
|
||||
if (!(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_TARGET_LUMINANCE))
|
||||
return;
|
||||
|
||||
if (builder->params.min_luminance >= builder->params.maxFALL)
|
||||
if (builder->params.target_min_luminance >= builder->params.maxFALL)
|
||||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_INCONSISTENT_LUMINANCES,
|
||||
"maxFALL (%f) should be greater or equal to min luminance (%f)",
|
||||
builder->params.maxFALL, builder->params.min_luminance);
|
||||
builder->params.maxFALL, builder->params.target_min_luminance);
|
||||
|
||||
if (builder->params.max_luminance < builder->params.maxFALL)
|
||||
if (builder->params.target_max_luminance < builder->params.maxFALL)
|
||||
store_error(builder, WESTON_COLOR_PROFILE_PARAM_BUILDER_ERROR_INCONSISTENT_LUMINANCES,
|
||||
"maxFALL (%f) should not be greater than max luminance (%f)",
|
||||
builder->params.maxFALL, builder->params.max_luminance);
|
||||
"maxFALL (%f) should not be greater than target max luminance (%f)",
|
||||
builder->params.maxFALL, builder->params.target_max_luminance);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -677,13 +677,13 @@ builder_complete_params(struct weston_color_profile_param_builder *builder)
|
|||
builder->params.target_primaries = builder->params.primaries;
|
||||
|
||||
/*
|
||||
* If luminance is not set, set it to negative. Same applies to maxCLL
|
||||
* and maxFALL.
|
||||
* If target luminance is not set, set it to negative. Same applies to
|
||||
* maxCLL and maxFALL.
|
||||
*/
|
||||
|
||||
if (!(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_LUMINANCE)) {
|
||||
builder->params.min_luminance = -1.0f;
|
||||
builder->params.max_luminance = -1.0f;
|
||||
if (!(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_TARGET_LUMINANCE)) {
|
||||
builder->params.target_min_luminance = -1.0f;
|
||||
builder->params.target_max_luminance = -1.0f;
|
||||
}
|
||||
|
||||
if (!(builder->group_mask & WESTON_COLOR_PROFILE_PARAMS_MAXCLL))
|
||||
|
|
|
|||
|
|
@ -144,11 +144,9 @@ struct weston_color_profile_params {
|
|||
/* Target color volume; always set. */
|
||||
struct weston_color_gamut target_primaries;
|
||||
|
||||
/* Luminance parameters cd/m²; negative when not set */
|
||||
|
||||
float min_luminance, max_luminance;
|
||||
float maxCLL;
|
||||
float maxFALL;
|
||||
/* Target luminance parameters cd/m²; negative when not set */
|
||||
float target_min_luminance, target_max_luminance;
|
||||
float maxCLL, maxFALL; /* only for PQ transfer function */
|
||||
};
|
||||
|
||||
/** Type or formula for a curve */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue