csputils: add Panasonic V-Gamut primaries

This is actually not entirely trivial since it involves negative Yxy
coordinates, so the CMM has to be capable of full floating point
operation. Fortunately, LittleCMS is, so we can just blindly implement
it.
This commit is contained in:
Niklas Haas
2016-06-26 19:57:29 +02:00
committed by wm4
parent 13a63331b6
commit 247ec0cb84
4 changed files with 13 additions and 0 deletions

View File

@@ -288,6 +288,7 @@ Available filters are:
:adobe: Adobe RGB (1998) :adobe: Adobe RGB (1998)
:prophoto: ProPhoto RGB (ROMM) :prophoto: ProPhoto RGB (ROMM)
:cie1931: CIE 1931 RGB :cie1931: CIE 1931 RGB
:v-gamut: Panasonic V-Gamut primaries
``<gamma>`` ``<gamma>``
Gamma function the source file was encoded with. Normally this should be set Gamma function the source file was encoded with. Normally this should be set

View File

@@ -979,6 +979,8 @@ Available video output drivers are:
CIE 1931 RGB (not to be confused with CIE XYZ) CIE 1931 RGB (not to be confused with CIE XYZ)
dci-p3 dci-p3
DCI-P3 (Digital Cinema Colorspace), SMPTE RP431-2 DCI-P3 (Digital Cinema Colorspace), SMPTE RP431-2
v-gamut
Panasonic V-Gamut (VARICAM) primaries
``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

@@ -65,6 +65,7 @@ const struct m_opt_choice_alternatives mp_csp_prim_names[] = {
{"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}, {"dci-p3", MP_CSP_PRIM_DCI_P3},
{"v-gamut", MP_CSP_PRIM_V_GAMUT},
{0} {0}
}; };
@@ -422,6 +423,14 @@ struct mp_csp_primaries mp_get_csp_primaries(enum mp_csp_prim spc)
.blue = {0.150, 0.060}, .blue = {0.150, 0.060},
.white = d65 .white = d65
}; };
// From Panasonic VARICAM reference manual
case MP_CSP_PRIM_V_GAMUT:
return (struct mp_csp_primaries) {
.red = {0.730, 0.280},
.green = {0.165, 0.840},
.blue = {0.100, -0.03},
.white = d65
};
default: default:
return (struct mp_csp_primaries) {{0}}; return (struct mp_csp_primaries) {{0}};
} }

View File

@@ -64,6 +64,7 @@ enum mp_csp_prim {
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_DCI_P3,
MP_CSP_PRIM_V_GAMUT,
MP_CSP_PRIM_COUNT MP_CSP_PRIM_COUNT
}; };