G2D图像处理硬件调用和测试-基于米尔-全志T113-i国产开发板
时间:2024-04-10 18:37:09
概述:
MYC-YT113i焦点板及
真正的国产焦点板,100%国产物料认证
国产T113-i处理器配备2*Cortex-A7@1.2GHz ,RISC-V
外置DDR3接口、支撑视频编解码器、HiFi4 DSP
接口厚实:视频收集接口、显示器接口、USB2.0 接口、CAN 接口、千兆以太网接口
工业级:-40℃~+85℃、尺寸37mm*39mm
邮票孔+LGA,140+50PIN
米尔-全志T113-i国产焦点板
米尔-全志T113-i国产
全志 T113-i 2D图形加快硬件支撑情形
Supports layer size up to 2048 x 2048 pixels
Supports pre-multiply alpha image data
Supports color key
Supports two pipes Porter-Duff alpha blending
Supports multiple video formats 4:2:0, 4:2:2, 4:1:1 and multiple pixel formats (8/16/24/32 bits graphics
layer)
Supports memory scan order option
Supports any format convert function
Supports 1/16× to 32× resize ratio
Supports 32-phase 8-tap horizontal anti-alias filter and 32-phase 4-tap vertical anti-alias filter
Supports window clip
Supports FillRectangle, BitBlit, StretchBlit and MaskBlit
Supports horizontal and vertical flip, clockwise 0/90/180/270 degree rotate for normal buffer
Supports horizontal flip, clockwise 0/90/270 degree rotate for LBC buffer
能够看到 g2d 硬件支撑相当多的2D图象处置,包孕色彩空间转换,分辨率缩放,图层叠加,扭转等。
1.开辟环境设置
根底开辟环境搭建参考上上上一篇
除了对象链外,咱们应用 opencv-mobile 加载输出图片和保管效果,用来检察色彩转换是不是失常
g2d硬件间接接纳规范的 Linux ioctl 控制,只需要引入相干布局体界说即可,无需链接so
另外,g2d的输出和输入数据必须在dmaion buffer上,是以还需要dmaion.h头文件,用来调配和开释dmaion buffer
2.基于C言语完成的YUV转RGB
这里复用以前T113-i JPG解码的函数
3.基于ARM neon指令集优化的YUV转RGB
考虑到armv7编译器的主动neon优化才能较差,这里针对性的编写 arm neon inline assembly 完成YUV2RGB内核部份,达到最优化的功能,榨干cpu功能。
4.基于G2D图形硬件的YUV转RGB
咱们先完成 dmaion buffer 管理器,这里贴的代码省略了非常谬误处置的逻辑,有个坑是 linux-4.9 和 linux-5.4 用法不一样,米尔电子的这个T113-i体系是linux-5.4,以是不兼容4.9内核的ioctl用法习性。
5.然后再完成 G2D图形硬件 YUV转RGB 的转换器
•提早调配好YUV和RGB的dmaion buffer
•将YUV数据拷贝到dmaion buffer,flush cache实现同步
•设置转换参数,ioctl挪用G2D_CMD_BITBLT_H实现转换
•flush cache实现同步,从dmaion buffer拷贝出RGB数据
•开释dmaion buffer
6.G2D图象硬件YUV转RGB测试
考虑到dmaion buffer调配和开释都比拟耗时,咱们提早做好,轮回挪用步调3的G2D转换,统计耗时,并在top对象中检察CPU占用率
能够看到 ARM neon 的优化结果异常显然,而应用G2D图形硬件能取得进一步加快,并且能显著下降CPU占用率!
转换效果比照和阐发
C和neon的转换效果完整同等,然则g2d转换后的图片有显然的色差
G2D图形硬件支撑 G2D_BT601,G2D_BT709,G2D_BT2020 3种YUV系数,而JPG应用的YUV系数是改版BT601是以产生了色差
从g2d内核驱动能够得悉,暂时没有要领为g2d配置自定义的YUV系数,g2d不适合用于JPG的编解码依旧适宜摄像头和视频编解码色彩空间转换