今天看我们项目代码的时候发现这样一个奇怪的封装
IMP_OSD_CreateGroup是君正底层SDK中的函数,LUX_OSD_CreateGroup是我们DSP层的函数
为什么一样的函数,参数也一样,要换个名字?
这就要涉及到模块化编程的概念:
我们的程序是这样设计的
模块化的设计,规定只能上层调用对应下层的API,如果TuYa要调用Ingenic的函数,那么就需要将Ingenic的API封装成LUX头,方便后期调试
在这篇中也有提到:音视频DSP中的IVS算法处理流程
还有一种情况:
现在需要在屏幕上画一条线,宽为两个像素。
Ingenic提供的函数,可以选择颜色,线条类型,宽度可调。但是我们只需要调节宽度就行了。
所以我们需要将Ingenic提供的函数进行封装,在DSP层只要给出宽度的接口即可,其他没有用到的参数封在里面就行了