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:
parent
db8145e8a2
commit
9409ce1ea7
5 changed files with 101 additions and 34 deletions
|
|
@ -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 =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue