mirror of
https://github.com/Xaymar/obs-StreamFX
synced 2024-11-10 22:05:06 +00:00
ffmpeg/tools: Adjust to match ffmpeg-mux color settings
The 'obs-ffmpeg-mux.c' file specifies different color parameters than StreamFX does. This causes re-muxing to go haywire, and editors that trust these tags suddenly spew out bad colors for BT.601 and sRGB. Reverts #478
This commit is contained in:
parent
89cd2be6c8
commit
3533a86b96
1 changed files with 13 additions and 13 deletions
|
@ -143,11 +143,11 @@ AVColorRange tools::obs_to_av_color_range(video_range_type v)
|
||||||
AVColorSpace tools::obs_to_av_color_space(video_colorspace v)
|
AVColorSpace tools::obs_to_av_color_space(video_colorspace v)
|
||||||
{
|
{
|
||||||
switch (v) {
|
switch (v) {
|
||||||
case VIDEO_CS_601:
|
case VIDEO_CS_601: // BT.601
|
||||||
return AVCOL_SPC_BT470BG;
|
return AVCOL_SPC_SMPTE170M;
|
||||||
case VIDEO_CS_DEFAULT:
|
case VIDEO_CS_DEFAULT:
|
||||||
case VIDEO_CS_709:
|
case VIDEO_CS_709: // BT.709
|
||||||
case VIDEO_CS_SRGB:
|
case VIDEO_CS_SRGB: // sRGB
|
||||||
return AVCOL_SPC_BT709;
|
return AVCOL_SPC_BT709;
|
||||||
default:
|
default:
|
||||||
throw std::invalid_argument("Unknown Color Space");
|
throw std::invalid_argument("Unknown Color Space");
|
||||||
|
@ -157,11 +157,11 @@ AVColorSpace tools::obs_to_av_color_space(video_colorspace v)
|
||||||
AVColorPrimaries ffmpeg::tools::obs_to_av_color_primary(video_colorspace v)
|
AVColorPrimaries ffmpeg::tools::obs_to_av_color_primary(video_colorspace v)
|
||||||
{
|
{
|
||||||
switch (v) {
|
switch (v) {
|
||||||
case VIDEO_CS_601:
|
case VIDEO_CS_601: // BT.601
|
||||||
return AVCOL_PRI_BT470BG;
|
return AVCOL_PRI_SMPTE170M;
|
||||||
case VIDEO_CS_DEFAULT:
|
case VIDEO_CS_DEFAULT:
|
||||||
case VIDEO_CS_709:
|
case VIDEO_CS_709: // BT.709
|
||||||
case VIDEO_CS_SRGB:
|
case VIDEO_CS_SRGB: // sRGB
|
||||||
return AVCOL_PRI_BT709;
|
return AVCOL_PRI_BT709;
|
||||||
default:
|
default:
|
||||||
throw std::invalid_argument("Unknown Color Primaries");
|
throw std::invalid_argument("Unknown Color Primaries");
|
||||||
|
@ -171,13 +171,13 @@ AVColorPrimaries ffmpeg::tools::obs_to_av_color_primary(video_colorspace v)
|
||||||
AVColorTransferCharacteristic ffmpeg::tools::obs_to_av_color_transfer_characteristics(video_colorspace v)
|
AVColorTransferCharacteristic ffmpeg::tools::obs_to_av_color_transfer_characteristics(video_colorspace v)
|
||||||
{
|
{
|
||||||
switch (v) {
|
switch (v) {
|
||||||
case VIDEO_CS_601:
|
case VIDEO_CS_601: // BT.601
|
||||||
return AVCOL_TRC_SMPTE240M;
|
return AVCOL_TRC_SMPTE170M;
|
||||||
case VIDEO_CS_DEFAULT:
|
case VIDEO_CS_DEFAULT:
|
||||||
case VIDEO_CS_709:
|
case VIDEO_CS_709: // BT.709
|
||||||
return AVCOL_TRC_BT709;
|
return AVCOL_TRC_BT709;
|
||||||
case VIDEO_CS_SRGB: // sRGB with Gamma 2.2
|
case VIDEO_CS_SRGB: // sRGB with IEC 61966-2-1
|
||||||
return AVCOL_TRC_GAMMA22;
|
return AVCOL_TRC_IEC61966_2_1;
|
||||||
default:
|
default:
|
||||||
throw std::invalid_argument("Unknown Color Transfer Characteristics");
|
throw std::invalid_argument("Unknown Color Transfer Characteristics");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue