Open Adegres opened 5 years ago
Since the video frame is rendered as overlay in this case, someone would have to dive the code and determine how rotated DRM overlays can be created.
Or alternatively, if there's a good way yet to makle rkmpp surfaces as textures, and remove the overlay code.
Yeah, the Rockchip display controller can’t do rotation. DRM/KMS won’t do it via a copy either: if the hardware doesn’t support it (which is iirc exposed as a plane property), then it must be done by the post-processor, which IIRC mpp can handle.
mpv version and platform
mpv - 0.28.0-1ayufan5 for Rock64 Armhf from the ppa:ayufan/rock64-ppa. I understand this isn't the newest version, but there really don't seem to be any changes to the functionality for this issue. The issue also persists on TinkerBoard S armhf.
Reproduction steps
mpv --vo-gpu --gpu-api=opengl --gpu-context=drm --gpu-hwdec-interop=drmprime-drm --hwdec=rkmpp --keep-open --video-rotate=0
On a 1080x1920 or any portrait video, ormpv --vo-gpu --gpu-api=opengl --gpu-context=drm --gpu-hwdec-interop=drmprime-drm --hwdec=rkmpp --keep-open --video-rotate=90
On a 1920x1080 or any landscape videoExpected behavior
The video is rotated.
Actual behavior
Black screen in this case, and an error message for each frame:
[vo/gpu/drmprime-drm] Failed to create framebuffer on layer 0.
Log file
https://0x0.st/zc8l.txt