diff options
author | Niklas Haas <git@haasn.xyz> | 2018-09-05 19:48:50 +0200 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2018-09-05 22:09:30 +0200 |
commit | 48c38f730d87b105716d9321a375175d2f01d401 (patch) | |
tree | 61704446058b1b27021542c8265718694f581091 | |
parent | a5b0d590845e30d3125b112865ab6d3859c5e836 (diff) |
mp_image: strip all HDR peak information from SDR clips
By overriding it with 1.0 (aka SDR). This prevents blowing up on
mistagged clips.
Fixes #6111
-rw-r--r-- | video/mp_image.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/video/mp_image.c b/video/mp_image.c index eadff83e5b..92c3e57b95 100644 --- a/video/mp_image.c +++ b/video/mp_image.c @@ -812,6 +812,12 @@ void mp_image_params_guess_csp(struct mp_image_params *params) } } + if (!mp_trc_is_hdr(params->color.gamma)) { + // Some clips have leftover HDR metadata after conversion to SDR, so to + // avoid blowing up the tone mapping code, strip/sanitize it + params->color.sig_peak = 1.0; + } + if (params->chroma_location == MP_CHROMA_AUTO) { if (params->color.levels == MP_CSP_LEVELS_TV) params->chroma_location = MP_CHROMA_LEFT; |