详解全志V85x内G2D模块实现图片格式步骤方法

面包芯语   2023-04-18 19:18:39

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图资保存起来;

相关资讯
最新资讯