mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-01-30 00:52:07 -05:00
UI: Add Rec. 2020 space and I010/P010 formats
Also localize color spaces with improved naming. Should be compatible with existing user profiles.
This commit is contained in:
@@ -4279,6 +4279,10 @@ static inline enum video_format GetVideoFormatFromName(const char *name)
|
||||
return VIDEO_FORMAT_NV12;
|
||||
else if (astrcmpi(name, "I444") == 0)
|
||||
return VIDEO_FORMAT_I444;
|
||||
else if (astrcmpi(name, "I010") == 0)
|
||||
return VIDEO_FORMAT_I010;
|
||||
else if (astrcmpi(name, "P010") == 0)
|
||||
return VIDEO_FORMAT_P010;
|
||||
#if 0 //currently unsupported
|
||||
else if (astrcmpi(name, "YVYU") == 0)
|
||||
return VIDEO_FORMAT_YVYU;
|
||||
@@ -4291,6 +4295,21 @@ static inline enum video_format GetVideoFormatFromName(const char *name)
|
||||
return VIDEO_FORMAT_RGBA;
|
||||
}
|
||||
|
||||
static inline enum video_colorspace GetVideoColorSpaceFromName(const char *name)
|
||||
{
|
||||
enum video_colorspace colorspace = VIDEO_CS_SRGB;
|
||||
if (strcmp(name, "601") == 0)
|
||||
colorspace = VIDEO_CS_601;
|
||||
else if (strcmp(name, "709") == 0)
|
||||
colorspace = VIDEO_CS_709;
|
||||
else if (strcmp(name, "2020PQ") == 0)
|
||||
colorspace = VIDEO_CS_2020_PQ;
|
||||
else if (strcmp(name, "2020HLG") == 0)
|
||||
colorspace = VIDEO_CS_2020_HLG;
|
||||
|
||||
return colorspace;
|
||||
}
|
||||
|
||||
void OBSBasic::ResetUI()
|
||||
{
|
||||
bool studioPortraitLayout = config_get_bool(
|
||||
@@ -4340,11 +4359,7 @@ int OBSBasic::ResetVideo()
|
||||
ovi.output_height =
|
||||
(uint32_t)config_get_uint(basicConfig, "Video", "OutputCY");
|
||||
ovi.output_format = GetVideoFormatFromName(colorFormat);
|
||||
ovi.colorspace = astrcmpi(colorSpace, "601") == 0
|
||||
? VIDEO_CS_601
|
||||
: (astrcmpi(colorSpace, "709") == 0
|
||||
? VIDEO_CS_709
|
||||
: VIDEO_CS_SRGB);
|
||||
ovi.colorspace = GetVideoColorSpaceFromName(colorSpace);
|
||||
ovi.range = astrcmpi(colorRange, "Full") == 0 ? VIDEO_RANGE_FULL
|
||||
: VIDEO_RANGE_PARTIAL;
|
||||
ovi.adapter =
|
||||
|
||||
Reference in New Issue
Block a user