Device Drivers > Character devices > sunxi g2d driver
sun8iw21p1.dtsi路径:
(资料图片)
tina-v853-docker/kernel/linux-4.9/arch/arm/boot/dts/sun8iw21p1.dtsi
具体实现:将 nv21 格式的1920x1080图转换成rgb888 格式并放缩为640x360 大小。具体用到两个功能,格式转换和放缩。
申请虚拟空间并转换成物理空间完整函数如下:
通过fopen 传菜间两个文件句柄,fd_in fd_out 用来操作输入输出两个文件资源。
读出 1920x1080 nv21 图资放入 虚拟空间
打开g2d 初始化,并开始转换
转化完成后将640x360 rgb888 图资通过fd_out句柄存储起来
通过步骤3中的模块化分析,可以看出g2d 转化大概分为一下步骤:
为打开 iomen 初始化;
为src以及dst图资申请虚拟地址空间并转换成物理地址空间;
将src图资放入虚拟地址空间,然后自动映射到物理地址空间;
打开g2d 设备节点进行转换(最重要的一环,可以通过手册分析具体怎么转换的);
将转换好的dst图资保存起来;
关键词: