csputils: add DCI-P3 colorspace

This colorspace has been historically used as a calibration target for
most digital projectors and sees some involvement in the UltraHD
standards, so it's a useful addition to mpv.
This commit is contained in:
Niklas Haas
2016-03-19 02:27:46 +01:00
committed by wm4
parent b29af6a4bd
commit 5447cd033c
3 changed files with 12 additions and 0 deletions

View File

@@ -887,6 +887,8 @@ Available video output drivers are:
ProPhoto RGB (ROMM) ProPhoto RGB (ROMM)
cie1931 cie1931
CIE 1931 RGB (not to be confused with CIE XYZ) CIE 1931 RGB (not to be confused with CIE XYZ)
dci-p3
DCI-P3 (Digital Cinema Colorspace), SMPTE RP431-2
``target-trc=<value>`` ``target-trc=<value>``
Specifies the transfer characteristics (gamma) of the display. Video Specifies the transfer characteristics (gamma) of the display. Video

View File

@@ -64,6 +64,7 @@ const struct m_opt_choice_alternatives mp_csp_prim_names[] = {
{"adobe", MP_CSP_PRIM_ADOBE}, {"adobe", MP_CSP_PRIM_ADOBE},
{"prophoto", MP_CSP_PRIM_PRO_PHOTO}, {"prophoto", MP_CSP_PRIM_PRO_PHOTO},
{"cie1931", MP_CSP_PRIM_CIE_1931}, {"cie1931", MP_CSP_PRIM_CIE_1931},
{"dci-p3", MP_CSP_PRIM_DCI_P3},
{0} {0}
}; };
@@ -403,6 +404,14 @@ struct mp_csp_primaries mp_get_csp_primaries(enum mp_csp_prim spc)
.blue = {0.1666, 0.0089}, .blue = {0.1666, 0.0089},
.white = e .white = e
}; };
// From SMPTE RP 431-2
case MP_CSP_PRIM_DCI_P3:
return (struct mp_csp_primaries) {
.red = {0.680, 0.320},
.green = {0.265, 0.690},
.blue = {0.150, 0.060},
.white = d65
};
default: default:
return (struct mp_csp_primaries) {{0}}; return (struct mp_csp_primaries) {{0}};
} }

View File

@@ -63,6 +63,7 @@ enum mp_csp_prim {
MP_CSP_PRIM_ADOBE, MP_CSP_PRIM_ADOBE,
MP_CSP_PRIM_PRO_PHOTO, MP_CSP_PRIM_PRO_PHOTO,
MP_CSP_PRIM_CIE_1931, MP_CSP_PRIM_CIE_1931,
MP_CSP_PRIM_DCI_P3,
MP_CSP_PRIM_COUNT MP_CSP_PRIM_COUNT
}; };