mpv icon indicating copy to clipboard operation
mpv copied to clipboard

dithering introduces distracting pattern/dots in shadows/dark areas

Open geextahslex opened this issue 1 year ago • 7 comments

mpv Information

mpv 0.38.0 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
 built on Apr 20 2024 00:22:40
libplacebo version: v7.349.0 (v6.338.0-124-gd0eb997-dirty)
FFmpeg version: N-114897-gbba996d6c
FFmpeg library versions:
   libavutil       59.15.100
   libavcodec      61.5.103
   libavformat     61.3.100
   libswscale      8.2.100
   libavfilter     10.2.101
   libswresample   5.2.100

Other Information

  • Windows version: Windows 10 22H2 Build 19045.4170)
  • GPU model, driver and version: intel HD Graphics 4600, driver: 20.19.15.5171
  • Source of mpv: https://sourceforge.net/projects/mpv-player-windows/files/
  • Introduced in version: present since v36.0

Reproduction Steps

watch 4k 10bit source on 8bit sdr monitor/tv with dither-depth=8 dither=fruit and watch at dark areas/shadows

Expected Behavior

a dithering solution that doesn't deteriorate the image with this weird pattern/dots in shadow/dark areas

Actual Behavior

dithering introduces this weird pattern/dots in shadow/dark areas which in itself prevents from ever having any real black on screen.

Log File

mpv --gpu-debug output.txt mpv --log-file output x.txt

Sample Files

Screenshots, boosted luminance for demonstration purpose.

dither apocalypse dither inferno zuzuz zuzuz2 pattern zoomed in zoomed dither off dither off 11 dither on dither on 111

I carefully read all instruction and confirm that I did the following:

  • [X] I tested with the latest mpv version to validate that the issue is not already fixed.
  • [X] I provided all required information including system and mpv version.
  • [X] 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.
  • [X] I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • [X] I attached the full, untruncated log file.
  • [X] I attached the backtrace in the case of a crash.

geextahslex avatar Jun 07 '24 18:06 geextahslex

This is the second time you have reported a duplicate issue. You won't accomplish anything this way, except getting banned.

Duplicate of #14297 and #13881.

kasper93 avatar Jun 07 '24 19:06 kasper93

you said:

You need to state what is your problem and provide full reproduction steps with config and all the shaders you use.

So I did

geextahslex avatar Jun 07 '24 19:06 geextahslex

Yes, thank you, but you can use one open issue. No need to split it into multiple ones. I've actually since then seen the issue, it some cases completely black areas have erroneously added dithering noise.

As for all other cases dithering by design adds noise to make it perceptually better looking. It is not meant to be overexposed, because you will see the dithering patters, this is expected.

kasper93 avatar Jun 07 '24 19:06 kasper93

This wasn't intended, but I didn't know where to put this topic, is it an issue, a feature request or discussion?

Couldn't @haasn's suggestion be implemented?

We solved a similar problem for deband grain, which turns itself off near black to avoid exactly this noise. Probably should do the same for dithering.

This would be even more important for OLED users

It is not meant to be overexposed

I do see it in normal conditions

geextahslex avatar Jun 07 '24 19:06 geextahslex

Couldn't @haasn's suggestion be implemented?

Upon further reflection, this is already the case - we do disable the dither pattern the closer we get to true 0. The problem here is that the image is not true black, at least not after tone- and gamut-mapping.

This would be even more important for OLED users

As an OLED user, I disagree, because I do not see the dither pattern. It only seems like a problem for people using very low-quality non-calibrated low contrast displays, no?

haasn avatar Jun 07 '24 20:06 haasn

Okay I guess it is what it is. Maybe in the future there will be a better or alternative solution to this.

geextahslex avatar Jun 07 '24 23:06 geextahslex

Opened as more complete description of #13881

kasper93 avatar Aug 20 '24 09:08 kasper93