mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Pink tint with drmprime/dmabuf on Lima driver (X11/Weston/tty)

Open paolosabatino opened this issue 2 years ago • 14 comments

Important Information

Provide following Information:

  • mpv version: 0.35.1
  • Linux Distribution and Version: debian bookworm, ubuntu jammy
  • Source of the mpv binary: distribution source code
  • If known which version of mpv introduced the problem: probably 0.35
  • Window Manager and version: xfce, Weston, bare terminal
  • GPU driver and version: Mesa git (23.2) via oibaf PPA on Ubuntu, Mesa 22.3 on Debian Bookworm
  • Possible screenshot or video of visual glitches: Istantanea_2023-11-24_22-03-01

mpv is version 0.35.1 because it is the packaged binary that comes with Debian Bookworm.

My intent was to provide an apt repository with ffmpeg compiled with v4l2-request and v4l2-drmprime patches from LibreElec project to ease the fruition and testing of such features on ready-made distribution images (for instace debian/ubuntu images built by Armbian project) for ARM devices. The repository is still experimental and under testing, but has already proved to work for arm64 and amrhf architectures (see below for setup instructions)

I'm not exactly sure the issue presented here is related to mpv or mesa driver, but I would like to discover and possibly excalate.

Reproduction steps

Preconditions:

  • a running system with Debian Bookworm or Ubuntu Jammy, or any other suitable distro
  • Mali Utgard 400/450 hardware
  • ffmpeg (>= 4.4.2) with v4l2-request and v4l2-drmprime patches
  • mpv version 0.35.1 installed

Run an h.264/h.265 video with the following command lines:

# Hardware decoded video running in a X11 window (tested on xfce), presentation via EGL
mpv --vo=gpu --hwdec=drm --gpu-context=x11egl --gpu-hwdec-interop=drmprime <your-video.mp4>
# Hardware decoded video running in a window of a Wayland compositor (tested on weston), presentation via EGL
mpv --vo=gpu --hwdec=drm --gpu-context=wayland --gpu-hwdec-interop=drmprime  <your-video.mp4>
# Hardware decoded video running on bare terminal, presentation via EGL
mpv --vo=gpu --hwdec=drm --gpu-context=drm --gpu-hwdec-interop=drmprime  <your-video.mp4>

Additional details:

  • the command lines supplied above all make use of hardware decoding and dmabuf features, with smooth reproduction of the content and reasonably low cpu usage even on slower armhf SoCs.
  • Debian Bookworm comes with ffmpeg 5.1.4, Ubuntu Jammy with ffmpeg 4.4.2; on both of them the issue is appearing
  • the pink tint has been experimented on various SoCs, in particular I tested rockchip rk3229 (armhf, mali400, rkvdec hardware decoder), rk3328 (arm64, mali450, rkvdec hardware decoder) and allwinner H3 (armhf, mali400, cedrus hardware decoder) and all of them exhibit the very same issue
  • testing on SoCs like rk3288 (armhf, mali T760) and rk3399 (arm64, mali T860) does not trigger the same issue, presumably because the GPU is handled by panfrost and not lima driver
  • Using mpv in a "direct to plane" fashion in a virtual terminal with mpv --vo=gpu --hwdec=drm --gpu-context=drm --gpu-hwdec-interop=drmprime-overlay <your-video.mp4> does not show the issue
  • Using --hwdec=drm-copy does not show the issue, although playback is choppy depending upon the SoC power

To make testing easier, I can provide the details of my ffmpeg-v4l2request testing repository ~~but I would prefer to be contacted in private via email since it is temporarely hosted on a server in my private LAN.~~ and instructions to setup are available on Armbian forum here

Expected behavior

The video is played with correct colors

Actual behavior

The video colors are biased to pink: full white is pink, full black is red; as can be seen from the screenshot, it affects only the texture of the video and not the HUD overlay.

Log file

mpv.log

Sample files

Any h.264 or h.265 video file that can trigger the hardware decoding capabilities of the SoC.

paolosabatino avatar Nov 25 '23 22:11 paolosabatino

It’s now fixed u can go.

did you pay for cloudflare worker plan which is more expensive?

ghost avatar Aug 22 '24 06:08 ghost

Go watch here without glitching https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8

Go watch here without glitching https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8

this is newsmax2 not newsmax. i am tired of the constant reagan reminder between segments

ghost avatar Aug 22 '24 16:08 ghost

So maybe when u click ur link u posted it. Works install iptv smart player in app store

I don't use apple because I'm not an idiot

ghost avatar Aug 23 '24 12:08 ghost

markup_388

ghost avatar Aug 23 '24 19:08 ghost