diff --git a/libobs/media-io/video-io.h b/libobs/media-io/video-io.h index fc2a3cb98..6db887ded 100644 --- a/libobs/media-io/video-io.h +++ b/libobs/media-io/video-io.h @@ -176,9 +176,10 @@ static inline const char *get_video_colorspace_name(enum video_colorspace cs) switch (cs) { case VIDEO_CS_709: return "709"; + case VIDEO_CS_SRGB: + return "sRGB"; case VIDEO_CS_601: - case VIDEO_CS_DEFAULT: - case VIDEO_CS_SRGB:; + case VIDEO_CS_DEFAULT:; } return "601"; diff --git a/libobs/media-io/video-matrices.c b/libobs/media-io/video-matrices.c index 8def5f7f7..ec603f799 100644 --- a/libobs/media-io/video-matrices.c +++ b/libobs/media-io/video-matrices.c @@ -173,6 +173,8 @@ bool video_format_get_parameters(enum video_colorspace color_space, #endif if (color_space == VIDEO_CS_DEFAULT) color_space = VIDEO_CS_601; + else if (color_space == VIDEO_CS_SRGB) + color_space = VIDEO_CS_709; for (size_t i = 0; i < NUM_FORMATS; i++) { if (format_info[i].color_space != color_space) diff --git a/libobs/media-io/video-scaler-ffmpeg.c b/libobs/media-io/video-scaler-ffmpeg.c index 5dd6e7dd6..4d2d997f5 100644 --- a/libobs/media-io/video-scaler-ffmpeg.c +++ b/libobs/media-io/video-scaler-ffmpeg.c @@ -92,12 +92,11 @@ static inline int get_ffmpeg_scale_type(enum video_scale_type type) static inline const int *get_ffmpeg_coeffs(enum video_colorspace cs) { switch (cs) { - case VIDEO_CS_DEFAULT: - return sws_getCoefficients(SWS_CS_ITU601); - case VIDEO_CS_601: - return sws_getCoefficients(SWS_CS_ITU601); case VIDEO_CS_709: + case VIDEO_CS_SRGB: return sws_getCoefficients(SWS_CS_ITU709); + case VIDEO_CS_DEFAULT: + case VIDEO_CS_601: default: return sws_getCoefficients(SWS_CS_ITU601); }