基于海思3518E平台,做实验学习和实践;从sample_venc.c开始,因为在板子上跑的就是sample_venc,并抓取到图像。
对于一些关键字的定义:
typedef unsigned char HI_U8;
typedef unsigned short HI_U16;
typedef unsigned int HI_U32;
typedef signed char HI_S8;
typedef short HI_S16;
typedef int HI_S32;
常用的基本都定义了,比如 int 《==》 HI_S32,总结下来就是HI的前缀(海思的缩写)+ “_” + bit 位数,比如 int 在32位cpu上就是 32bits,而手里的海思3518e ARM9 的core恰好就是32bits的,所以int 《 == 》HI_S32
先看看整体的流程——main函数
main函数是需要传参的,可选的参数是 0 1 2 3 4,如果是3518ev201,还有5,此处没有列出。以参数0为列,将产生 三路输出:一路1080p的H.264编码方式,一路1080p的H.265格式,一路D1(4cif)的H.264编码格式,都是30帧每秒;其他参数可自行理解。
main函数的梳理到此结束,接下来,将以参数0的程序继续阅读。