libobs: Lock scene to video color space

Fixes studio mode preview on SDR monitor for HDR canvas rendering SDR
source into SDR swap chain. Needs to render SDR source into HDR render
target, and then tonemap into SDR swap chain for preview.
master
jpark37 2022-05-13 19:27:33 -07:00 committed by Jim
parent 8dc91ce5e1
commit d7fb4361a5
1 changed files with 2 additions and 9 deletions

View File

@ -1505,23 +1505,16 @@ scene_video_get_color_space(void *data, size_t count,
{
UNUSED_PARAMETER(data);
enum gs_color_space canvas_space = GS_CS_SRGB;
enum gs_color_space space = GS_CS_SRGB;
struct obs_video_info ovi;
if (obs_get_video_info(&ovi)) {
switch (ovi.colorspace) {
case VIDEO_CS_2100_PQ:
case VIDEO_CS_2100_HLG:
canvas_space = GS_CS_709_EXTENDED;
space = GS_CS_709_EXTENDED;
}
}
enum gs_color_space space = canvas_space;
for (size_t i = 0; i < count; ++i) {
space = preferred_spaces[i];
if (space == canvas_space)
break;
}
return space;
}