Skip to content

Commit fff8d25

Browse files
authored
Merge pull request #7 from jpark37/color-space-sycc
Add RFC: sRGB Color Space setting
2 parents dcb2b19 + 1d803e6 commit fff8d25

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

accepted/0007-color-space-srgb.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Summary
2+
3+
Add sRGB to "Color Space" output options, and default to sRGB.
4+
5+
# Motivation
6+
7+
There is often confusion around the "Color Space" option for output, and it has several problems.
8+
9+
- We don't actually convert colors between RGB color spaces in OBS. We merely tag the metadata.
10+
- Rec. 601 output support is weird. x264 tags 601 as "undef" for everything, and jim-nvenc uses the European 625-line variant of 601 attributes.
11+
- Any PC applications/games that output sRGB are tagged as 601/709, and will be handled incorrectly by color-accurate applications, e.g. old versions of Chrome handled 709 properly before they decided to cheat to save power.
12+
13+
Defaulting to sRGB is probably the least of all evils.
14+
15+
- sRGB is identical to Rec. 709 except for the sRGB transfer function, which can be a free conversion for most GPUs. When represented as YCbCr, it makes sense to transform with Rec. 709 matrix coefficients.
16+
- PC applications/games that use sRGB (very common) are now tagged accurately if using sRGB. Video capture feeds that use 601/709 would not be, but we can leave behind 601/709 settings for passthrough scenarios. Actually converting the color data is beyond the scope of this RFC.
17+
- Chrome supports sRGB videos properly on all tested platforms.
18+
- Rec. 601 for output was almost always the wrong choice.
19+
20+
Implementation:
21+
22+
- Add VIDEO_CS_SRGB, and plumb into all switch cases.
23+
- Go through output encoder settings, and use sRGB metadata values.
24+
25+
# Drawbacks
26+
27+
People that had a working color pipeline with the old faulty settings may have to tweak their setup.
28+
29+
There is supposedly a performance regression involving DeckLink when switching away from 601.
30+
31+
# Additional Information
32+
33+
None.

0 commit comments

Comments
 (0)