mirror of
https://github.com/mpv-player/mpv
synced 2024-09-05 02:48:21 +02:00
mp_image: infer correct HLG sig_peak
For HLG, due to the usage of a reference OOTF configured for 1000 cd/m², the default sig_peak of =nom_peak was suboptimal. We can go down to 1000/100 (=10.0), since that's the true dynamic range of the output signal after it passes through the OOTF.
This commit is contained in:
parent
50008adf4a
commit
f82ba75bd4
@ -685,10 +685,15 @@ void mp_image_params_guess_csp(struct mp_image_params *params)
|
|||||||
params->color.gamma = MP_CSP_TRC_AUTO;
|
params->color.gamma = MP_CSP_TRC_AUTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the signal peak is unknown, we're forced to pick the TRC's nominal
|
if (!params->color.sig_peak) {
|
||||||
// range as the signal peak to prevent clipping
|
if (params->color.gamma == MP_CSP_TRC_HLG) {
|
||||||
if (!params->color.sig_peak)
|
params->color.sig_peak = 1000 / MP_REF_WHITE; // reference display
|
||||||
|
} else {
|
||||||
|
// If the signal peak is unknown, we're forced to pick the TRC's
|
||||||
|
// nominal range as the signal peak to prevent clipping
|
||||||
params->color.sig_peak = mp_trc_nom_peak(params->color.gamma);
|
params->color.sig_peak = mp_trc_nom_peak(params->color.gamma);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (params->color.light == MP_CSP_LIGHT_AUTO) {
|
if (params->color.light == MP_CSP_LIGHT_AUTO) {
|
||||||
// HLG is always scene-referred (using its own OOTF), everything else
|
// HLG is always scene-referred (using its own OOTF), everything else
|
||||||
|
Loading…
Reference in New Issue
Block a user