最简单的DRM应用程序 (plane-test)

Posted 毛毛虫的爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简单的DRM应用程序 (plane-test)相关的知识,希望对你有一定的参考价值。

在上一篇 最简单的DRM应用程序 (page-flip)中,我们学习了drmModePageFlip()的用法。而在更早的两篇文章中,我们还学习了drmModeSetCrtc()的使用方法。但是这两个接口都只能全屏显示framebuffer的内容,如何才能在屏幕上只显示framebuffer的一部分内容呢?本篇我们将一起来学习DRM另一个重要的刷图接口:drmModeSetPlane()。

(上图实现了裁剪、平移和放大的效果)

当 SRC 与 CRTC 的 X/Y 不相等时,则实现了平移的效果;
当 SRC 与 CRTC 的 W/H 不相等时,则实现了缩放的效果;
当 SRC 与 FrameBuffer 的 W/H 不相等时,则实现了裁剪的效果;

一个高级的Plane,通常具有如下功能:

功能 说明
Crop 裁剪,如上图
Scaling 缩放,放大或缩小
Rotation 旋转,90° 180° 270° X/Y镜像
Z-Order Z-顺序,调整当前层在总图层中的Z轴顺序
Blending 合成,pixel alpha / global alpha
Format 颜色格式,A

以上是关于最简单的DRM应用程序 (plane-test)的主要内容,如果未能解决你的问题,请参考以下文章

基于arm5718ARM-Linux开发DRM学习

使用“纯”Java 播放 DRM 加密视频流

如何破解DRM加密视频! 简单点的!录制不可以用视频打不开! 看个视频跟做任务是的,求高手! 成功可追分

『开发技巧』全网最详尽解决Ubuntu安装NVIDIA驱动报错“nvidia-drm”或“nvidia-modeset”的方法

无法使用 WebChromeClient 播放 DRM 内容

【转】DRM (二)基本概念