From 05b392bc949e918aaedb6383193edfd667bba646 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Sun, 13 May 2018 21:16:13 +0200 Subject: vo_gpu: allow higher icc-contrast and improve logging With the advent of actual HDR devices, my real measured ICC profile has an "infinite" contrast, since the display is completely off on pure black inputs. 100k:1 might not be enough, so let's just bump it up to 1m:1 to be safe. Also, improve the logging in the case that the detected contrast is too high by default. --- video/out/gpu/lcms.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'video') diff --git a/video/out/gpu/lcms.c b/video/out/gpu/lcms.c index 3552351219..bc76db965f 100644 --- a/video/out/gpu/lcms.c +++ b/video/out/gpu/lcms.c @@ -83,7 +83,7 @@ const struct m_sub_options mp_icc_conf = { OPT_FLAG("icc-profile-auto", profile_auto, 0), OPT_STRING("icc-cache-dir", cache_dir, M_OPT_FILE), OPT_INT("icc-intent", intent, 0), - OPT_INTRANGE("icc-contrast", contrast, 0, 0, 100000), + OPT_INTRANGE("icc-contrast", contrast, 0, 0, 1000000), OPT_STRING_VALIDATE("icc-3dlut-size", size_str, 0, validate_3dlut_size_opt), OPT_REPLACED("3dlut-size", "icc-3dlut-size"), @@ -304,7 +304,8 @@ static cmsHPROFILE get_vid_profile(struct gl_lcms *p, cmsContext cms, // Built-in contrast failsafe double contrast = 3.0 / (src_black[0] + src_black[1] + src_black[2]); - if (contrast > 100000) { + MP_VERBOSE(p, "Detected ICC profile contrast: %f\n", contrast); + if (contrast > 100000 && !p->opts->contrast) { MP_WARN(p, "ICC profile detected contrast very high (>100000)," " falling back to contrast 1000 for sanity. Set the" " icc-contrast option to silence this warning.\n"); -- cgit v1.2.3