从上到下
图形渲染
API 规定者 API实现者
opengl Mesa
drm rockchip-drm 依赖 lima驱动 lima驱动和GPU直接沟通(这里是mali450)
硬件解码
API 规定者 API实现者
Video4Linux2 Hantro VPU模块(如v4l2_h264,v4l2_mem2mem) 它们再和VPU沟通
一句话简介
opengl:开源三维计算机图形图形库
mesa:开源实现opengl的图形库
drm:直接渲染管理,提供硬件独立的图形卡访问接口
Video4Linux2:管理与访问视频设备的子系统
ffmpeg:完整的、开源的、免费的视频和音频处理软件工具包
一个典型的在rockchip 盒子上,使用mainland内核编译ffmpeg的参数选项:
./configure --enable-libdrm --enable-libpulse --enable-libx264 --enable-libx265 --enable-v4l2-request --enable-libudev --enable-shared --enable-gpl --enable-version3
注意,ffmpeg官方主线不支持v4l2-request,你需要找支持的fork来编译