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 | userspace ioctl |
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检查。
正在加载留言…