mpv-player / mpv-player/mpv

dithering introduces distracting pattern/dots in shadows/dark areas

Open
#14,319 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

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
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:
  • 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

Start by reproducing the issue with a 4K 10-bit source on an 8-bit SDR display using dither-depth=8 and dither=fruit, comparing dither on and off. Review the attached debug and log files alongside the dithering path; done means dark areas no longer show the distracting pattern while preserving the intended conversion behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.