Rockchip Video 扩展目录总览

Rockchip Video 扩展目录总览

1. 性质

drivers/video/rockchip是vendor SDK集合,不是上游统一video framework。其模块有各自字符设备、ioctl、job和硬件资源。

2. 子目录

子目录 功能
rga 第一代RGA
rga2 RGA2
rga3 Multi-RGA统一驱动
rve RVE加速
iep Image Enhancement Processor
mpp 多媒体编解码服务
mpp_osal MPP OS抽象辅助
dvbm Direct Video Buffer Manager
vehicle 快速倒车影像
vtunnel 视频隧道

3. 构建

顶层虽obj-y += rockchip/,各子目录仅在对应CONFIG_*启用时链接。

4. 共同架构

多数加速模块采用:

1
2
3
4
5
6
7
8
9
10
userspace ioctl
-> session/context
-> import dma-buf/user buffer
-> validate request/registers
-> create job/task
-> scheduler/policy
-> map IOMMU
-> program registers
-> IRQ completion
-> fence/wakeup

5. 共同硬件资源

  • platform device/OF match;
  • MMIO;
  • IRQ;
  • clocks;
  • reset;
  • regulator/power domain;
  • IOMMU;
  • devfreq/OPP;
  • dma-buf。

6. ABI

Vendor ABI常由UAPI头、private ioctl和配套librga/mpp userspace定义。升级kernel时需同时核对userspace library版本。

7. RGA

RGA执行blit、scale、rotate、format conversion、blend、fill。RK3588通常采用Multi-RGA驱动统一调度不同核心。

8. MPP

MPP为多个decoder/encoder硬件提供service、session、task、register translation和reset。它与上游V4L2 mem2mem接口不是同一ABI。

9. IEP/RVE

IEP负责deinterlace、scale、format等图像增强;RVE是另一个vendor图像/矢量加速模块,具体能力按硬件表和UAPI。

10. DVBM/Vtunnel

用于producer-consumer间buffer路径或低延迟视频传递,需与dma-buf/fence及设备生命周期协同。

11. Vehicle

把摄像头decoder/CIF、buffer和VOP direct-show串成快速倒车链路,目标是在完整Android图形栈未就绪时尽快显示。

12. RK3588默认

Vendor defconfig明确启用Multi-RGA、IEP和MPP,并启用RKVDEC/RKVDEC2、RKVENC/RKVENC2、VDPU/VEPU、JPEG、AV1等backend。

13. 目录边界

这些模块通常生成处理结果buffer,不负责VOP scanout mode。最终显示仍由DRM/HWC完成,除vehicle direct-show等专用路径。

14. 风险

高风险输入包括用户寄存器数组、尺寸/stride/offset、dma-buf fd、job依赖、timeout。必须执行白名单、overflow、buffer bounds和IOMMU检查。

文章互动

阅读 --

留言

0 条留言

正在加载留言…