Hacker News new | past | comments | ask | show | jobs | submit login

Try this in your mpv.conf file

    no-config
    target-trc=pq
    target-prim=bt.2020
    vo=gpu-next
Wont be 100% accurate, but hopefully somewhat watchable

See also https://github.com/mpv-player/mpv/issues/10122




I believe that the target primaries must be those of your monitor.

BT.2020 are the primaries used to encode the HDR movie.

Monitors with such primaries are rare and extremely expensive. For most good monitors "--target-prim=dci-p3" should be appropriate, if DCI-P3 has already been selected from the on-screen monitor configuration menu, because most monitors come configured by default to use the ugly sRGB color space, so you must change the defaults to be able to display content with bigger color spaces.

Some monitors might have the option to use the BT.2020 color space, when they would still not be able to display all of it, but they would do internally the conversion between the BT.2020 used to encode the movie and whatever color space the monitor can actually display.


Still very green/purple. It's fine, I was able to find a non-HDR version.


Then you probably have either a very old mpv or one that was compiled without including the "gpu-next" video output driver.

Or else the GPU drivers for your GPU card have not been updated for a very long time.

A recent mpv and recent GPU drivers should solve this problem, because it was frequently encountered only up to a couple of years ago.


mpv 0.36.0 from July 2023, nvidia 555.58.02 drivers from August 2024 (Fedora 39).


My output of "mpv --version":

  mpv 0.38.0 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
  libplacebo version: v6.338.2
  FFmpeg version: 6.1.1 
I do not remember which was the first version that worked fine. For some time, "gpu-next" was not included by default in the releases, but you had to compile a custom variant to include it.

Pay attention that "libplacebo" is required. If libplacebo is absent, then the Dolby Vision conversion will not work. This could be the reason of your problem, if your Linux distribution does not have libplacebo as an automatic dependence of mpv, or if mpv has been compiled without support for libplacebo.


I would try updating to 0.37.0 or 0.38.0, IIRC it only started to work for me after I updated to one of those (I always build mpv from the latest commit myself, so I'm not sure which release version exactly has the crucial fixes).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: