mpv-player / mpv-player/mpv

Brightness "jumps" / discontinuity when using bt.2446a tone mapping and an icc color profile

Open
#14,872 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

down-upstream:libplacebo vo:gpu-next
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

mpv Information
mpv v0.38.0-784-gd02f03bc Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
 built on Sep 16 2024 00:06:46
libplacebo version: v7.349.0 (v7.349.0-10-g76bb971-dirty)
FFmpeg version: N-117044-g00f5a34c9
FFmpeg library versions:
   libavcodec      61.13.100
   libavdevice     61.2.101
   libavfilter     10.2.102
   libavformat     61.5.101
   libavutil       59.36.100
   libswresample   5.2.100
   libswscale      8.2.100
Other Information
- Windows version: Microsoft Windows [Version 10.0.22631.4169]
- GPU model, driver and version: AMD RX 7800 XT, AMD driver v24.8.1 
- Source of mpv: https://github.com/shinchiro/mpv-winbuild-cmake/releases
- Introduced in version: not known
Reproduction Steps

mpv configuration:

vo=gpu-next
profile=high-quality
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation=yes
tscale=oversample

tone-mapping=bt.2446a

icc-profile-auto

I have tested the issue with two setups (and two different PCs):

  1. Using Eizo color calibration software and a CS2740
  2. Using a Panasonic TV + DisplayCAL

The important option to set is icc-profile-auto - the issue is only appearing when using an icc profile

Steps:
0) install a color profile (e.g. the one that is attached to this issue below as "sample" - not sure if this problem appears with any icc color profile)

  1. start playing an HDR10 file (i.e. one where hdr-compute-peak does it's job - I haven't had the issue with DoVi files)
  2. Wait for a scene where the max nits drops from "above" 203 nits to "203 nits or lower"
Expected Behavior

mpv should deliver smooth changes in frame brightness when using bt.2446a tone mapping and icc color profiles.

Actual Behavior

in scenes where the detected peak goes from "above 203 nits" to "203 nits or lower", the brightness of the scene jumps from one frame to the next, see attached screenshots.

In addition, it can be seen that the bt.2446a tone mapping status output disappears. This does not happen when leaving the icc-profile-auto option out - there, it simply stays at "203 --> 203" mapping.

mpv-shot0011

mpv-shot0010

Log File

output.txt

Sample Files

CS2740(24808080)07Nat_D65_g2.4_max.icc.zip

I carefully read all instruction and confirm that I did the following:
  • I tested with the latest mpv version to validate that the issue is not already fixed.
  • I provided all required information including system and mpv version.
  • I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • I attached the full, untruncated log file.
  • I attached the backtrace in the case of a crash.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with gpu-next, tone-mapping=bt.2446a, icc-profile-auto, the supplied ICC profile, and an HDR10 file, then review output.txt while the peak crosses 203 nits. Done means scene brightness changes smoothly and the bt.2446a status remains present during the transition.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.