SVP:4K and HDR

From SmoothVideo Project
Jump to navigation Jump to search

4K performance tips

  • Use 64-bit video players only.
  • 4K/HEVC-compatible hardware decoder is essential (except for VLC, see below!)
  • DirectShow players (e.g. MPC-HC): if you have NVIDIA card switch the LAV Video Decoder to NVIDIA CUVID decoder.

Lav-cuvid.png

  • 4K playback in MPC-HC 64-bit is significantly faster than in mpv, but there's a colors issue (see below).
  • mpv or VLC: turn off SVP menu -> Application settings -> Additional options -> Allow output in 10-bit color depth to save CPU power.
  • VLC only: turn OFF (!!!) hardware video decoder, or just run VLC via SVP's main menu.
  • Enable full hardware acceleration via NVIDIA Optical Flow on compatible cards (Turing and later)

Colors - playing HDR video on SDR display

Special colors processing called "HDR tone mapping" is required is this case, otherwise the colors are washed-out.

Hdr-washed-out.png

DirectShow video players

In DirectShow video players, e.g. MPC-HC, the only filter that can do tone mapping is madVR video renderer. So without SVP the best possible chain for HDR playback is MPC-HC -> madVR. Unfortunately ffdshow filter doesn't support neither HDR not 10-bit video, so when we insert ffdshow between MPC-HC and madVR all we get is washed-out colors as madVR is unable to do tone mapping in this case.

SVP now has its own tone mapping implementation for DirectShow video players. It's much simpler than madVR's but at least it makes HDR movies watchable. SVP menu -> Application settings -> Additional options -> Try to recover HDR colors is on by default so it must work "out of the box".

Hdr-recover.png

This isn't the true HDR tone mapping but it's the best we could do to fix the situation.

mpv video player

mpv has a lot of options for tone mapping and it also supports 10-bit video so it produces much more accurate image than any DirectShow player with SVP's "color recovery". But is also needs significantly more CPU power, especially in 10-bit colors mode (see SVP menu -> Application settings -> Additional options -> Allow output in 10-bit color depth).

This applies to all mpv-based players: Plex Media Player, IINA, mpc-qt, etc.

Colors - playing HDR video on HDR display

Only for Windows 10!

1. mpv player after 2019-10-31 can do direct HDR playback - use either SVP-provided build or shinchiro's build 20191102 or later.

2. VLC 3.0 can do the same but mpv's performance is better.

In both cases you have to turn on "Play HDR games and apps" or "HDR and WCG" (the name depends on the Windows version) switch in Windows Display settings first.

Hdr windows.png

3. A workaround for MPC-HC + madVR: rename video file, insert ".hdr=on." tag somewhere in the middle. For example, "The.Movie.2019.mkv" -> "The.Movie.2019.hdr=on.mkv". Then madVR should do its job of switching display mode, etc.