一、创建算法目录
上述创建image文件夹,存放数字图像处理的算法
二、开发算法源码
算法源码包括image.c image_lib.c image_lib.h 三个文件
三、创建alg编译的Makefile文件
编译文件包括Makefile MAKEFILE.MK SRC_FILES.MK三个文件,实现两种编译方式
1、将算法独立编译成库
在dvr_rdk/Makefile文件中添加如下代码:
执行make dvr_rdk_bios6_imagealgs即可完成算法库编译
生成image/lib/image.ae674库文件
添加库到DSP链接路径中,修改dvr_rdk/makerules/rules_c674.mk文件
2、将算法直接编译到整个DSP工程中
修改dvr_rdk/mcfw/src_bios6/Makefile文件,添加算法对应的编译文件,将算法源码文件添加到整个DSP源码库中
即可将算法直接编译到整个DSP可执行程序中
四、创建算法结构体参数文件
创建dvr_rdk/mcfw/interface/link_api/imageLink.h文件
五、将算法参数结构体添加到algLink.h文件中
编辑dvr_rdk/mcfw/interfaces/link_api/algLink.h文件
1、添加头文件
2、添加image算法结构体和 enableImageAlg成员
3、修改初始化函数,默认禁止image算法
六、修改DSP中运行alg Link的源码,添加image算法处理
1、在dvr_rdk/mcfw/src_bios6/links_c6xdsp/alg_link目录下创建image文件夹
image文件夹包括两个文件imageLink_alg.c 和 imageLink_priv.h,实现对底层算的进一步封装,同时给alg_link层提供统一的API接口
七、在algLink层添加image图像算法调用接口
1、修改algLink_priv.h文件,添加iamge头文件以及结构体参数
2、修改algLink_priv.c文件中的Int32 AlgLink_algCreate(AlgLink_Obj * pObj, AlgLink_CreateParams * pPrm)函数,
3、修改algLink_tsk.c文件,添加image算法对应的动态命令参数
八、执行make dvr_rdk_bios6编译DSP 固件程序
到目前为止所有算法层的代码已经开发完毕,接下来需要开发usecase层的代码,创建alglink并使能image算法以及设置image算法参数