ZHCAAX6 May   2021 DRA710 , DRA712 , DRA714 , DRA716 , DRA718 , DRA722 , DRA724 , DRA725 , DRA726 , DRA745 , DRA746 , DRA74P , DRA750 , DRA756 , DRA75P , DRA76P , DRA77P , DRA780 , DRA781 , DRA782 , DRA783 , DRA785 , DRA786 , DRA787 , DRA788 , DRA790 , DRA791 , DRA793 , DRA797 , TDA2EG-17 , TDA2HF , TDA2HG , TDA2HV , TDA2LF , TDA2P-ABZ , TDA2P-ACD , TDA2SA , TDA2SG , TDA2SX

 

  1.   商标
  2. 1简介
    1. 1.1 标准 DRM 框架
    2. 1.2 基于 vDRM 的框架
  3. 2在 Linux 上基于 vDRM 显示内容
  4. 3Linux 上基于 vDRM 的多媒体支持
    1. 3.1 Gstreamer
    2. 3.2 viddec3test
    3. 3.3 modetest
    4. 3.4 kmscube
  5. 4显示基于 Weston 的应用
  6. 5显示基于 EGL 的应用程序
  7. 6跨 PSDKLA 和 VISION-SDK 的交互式显示
    1. 6.1 ALPHA 设置
    2. 6.2 ZORDER 设置:DISPC_xxx_ATTRIBUTES[26-27]
  8. 7双显示器演示
  9. 8构建 Linux Vision SDK 文件系统
  10. 9参考文献

基于 vDRM 的框架

GUID-20210407-CA0I-2TMR-9MN9-WF5BQCPRQZHN-low.gif图 1-3 vDRM 框架

在此框架中,需要在 Linux 中禁用 omapdrm,因为 DSS 由在 IPU 上运行的软件控制。基于 DRM 的 Linux 应用程序将无法工作,因为没有能够进行模式设置(显示内容)的 DRM 器件。

虚拟 DRM 可创建多个能够进行模式设置的 DRM 器件,并将它们显示在用户空间中。每个 DRM 器件可包含多个 DRM 连接器,每个连接器能够配置为将预定义的分辨率和帧速率公开。每个 DRM 连接器都会在内部创建一个 DRM 编码器、一个 DRM 层面(主要)和一个 DRM CRTC,这些是 DRM API 正常工作所必需的。

此外,每个 DRM 器件创建一个 vdrm 控制器器件,Linux 应用程序可打开该器件以读取 DRM 应用程序提交的缓冲区。Vision SDK 可使用 dispDistSrcLink 的多个实例运行链(用例),其中每个链接读取一个 vdrm 控制器器件,以获取 DRM 应用程序提交给虚拟 DRM 器件中特定 CRTC 的缓冲区。

Linux 应用程序可以继续调用 DRM API 以在 DRM CRTC 上显示 DRM 帧缓冲区,即使 vision SDK 应用程序/链未运行,或者运行的链不包含与 CRTC 关联的 dispDistSrcLink。

从 VISION SDK 0304 开始,SDK 中提供了 vDRM 框架支持。