mirror of
https://github.com/mpv-player/mpv.git
synced 2025-12-28 05:33:14 +00:00
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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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}};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user