History

wayland: round values instead of implicitly casting float to int

This matches the behavior of mpv's own drm backend when setting hdr metadata, as well as Mesa's vulkan wsi's behavior when communicating VK_EXT_hdr_metadata values to the compositor

llyyr committed 1 year ago

Commit 8aa7d781 parent 76241dd1 file · +12 −6Browse files

Unified · Split

video/out/wayland_common.c+12−6
@@ -2624,18 +2624,24 @@ static void set_color_management(struct vo_wayland_state *wl) · 2623 unmodified lines
26242624 struct pl_hdr_metadata hdr = wl->target_params.color.hdr;
26252625 if (wl->supports_display_primaries) {
26262626 wp_image_description_creator_params_v1_set_mastering_display_primaries(image_creator_params,
2627− hdr.prim.red.x * WAYLAND_COLOR_FACTOR, hdr.prim.red.y * WAYLAND_COLOR_FACTOR, hdr.prim.green.x * WAYLAND_COLOR_FACTOR,
2628− hdr.prim.green.y * WAYLAND_COLOR_FACTOR, hdr.prim.blue.x * WAYLAND_COLOR_FACTOR, hdr.prim.blue.y * WAYLAND_COLOR_FACTOR,
2629− hdr.prim.white.x * WAYLAND_COLOR_FACTOR, hdr.prim.white.y * WAYLAND_COLOR_FACTOR);
2627+ lrintf(hdr.prim.red.x * WAYLAND_COLOR_FACTOR),
2628+ lrintf(hdr.prim.red.y * WAYLAND_COLOR_FACTOR),
2629+ lrintf(hdr.prim.green.x * WAYLAND_COLOR_FACTOR),
2630+ lrintf(hdr.prim.green.y * WAYLAND_COLOR_FACTOR),
2631+ lrintf(hdr.prim.blue.x * WAYLAND_COLOR_FACTOR),
2632+ lrintf(hdr.prim.blue.y * WAYLAND_COLOR_FACTOR),
2633+ lrintf(hdr.prim.white.x * WAYLAND_COLOR_FACTOR),
2634+ lrintf(hdr.prim.white.y * WAYLAND_COLOR_FACTOR));
26302635
26312636 if (hdr.min_luma < hdr.max_luma)
2632− wp_image_description_creator_params_v1_set_mastering_luminance(image_creator_params, hdr.min_luma * WAYLAND_MIN_LUM_FACTOR, hdr.max_luma);
2637+ wp_image_description_creator_params_v1_set_mastering_luminance(image_creator_params,
2638+ lrintf(hdr.min_luma * WAYLAND_MIN_LUM_FACTOR), lrintf(hdr.max_luma));
26332639
26342640 if (hdr.max_cll > hdr.min_luma && hdr.max_cll <= hdr.max_luma)
2635− wp_image_description_creator_params_v1_set_max_cll(image_creator_params, hdr.max_cll);
2641+ wp_image_description_creator_params_v1_set_max_cll(image_creator_params, lrintf(hdr.max_cll));
26362642
26372643 if (hdr.max_fall > hdr.min_luma && hdr.max_fall <= hdr.max_luma && hdr.max_fall <= hdr.max_cll)
2638− wp_image_description_creator_params_v1_set_max_fall(image_creator_params, hdr.max_fall);
2644+ wp_image_description_creator_params_v1_set_max_fall(image_creator_params, lrintf(hdr.max_fall));
26392645 }
26402646 struct wp_image_description_v1 *image_description = wp_image_description_creator_params_v1_create(image_creator_params);
26412647 wp_image_description_v1_add_listener(image_description, &image_description_listener, wl);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t