DM6446学习的方法,刚学习第二天
来源:互联网 发布:淘宝联盟做推广多少钱 编辑:程序博客网 时间:2024/05/01 16:08
学习笔记:
IVIDENC1_Fxns VIDENC1COPY_TI_IVIDENC1COPY = { /*module_vendor_interface */
{IALGFXNS},
VIDENC1COPY_TI_process,
VIDENC1COPY_TI_control,
};
//这个数据结构为算法DSP和ARM交互的一个关键性数据结构,本人现在是这么理解的,其中 VIDENC1COPY_TI_process为我们算法处理的主函数, VIDENC1COPY_TI_control为ARM对DSP的控制程序,DM6446不用自己去写ARM和DSP通信,而是他们自己通过一些列的软件连接在一起,就是所谓的隔离层一样,一个跳梁。
typedef struct IVIDENC1_Fxns {
IALG_Fxns ialg; /**< XDAIS algorithm interface.
XDAS_Int32 (*process)(IVIDENC1_Handlehandle, IVIDEO1_BufDescIn *inBufs, XDM_BufDesc *outBufs, IVIDENC1_InArgs *inArgs, IVIDENC1_OutArgs *outArgs);
XDAS_Int32(*control)(IVIDENC1_Handle handle, IVIDENC1_Cmd id, IVIDENC1_DynamicParams *params, IVIDENC1_Status *status);
} IVIDENC1_Fxns;
//上面的参数就是在要和上面的函数结构一致,要靠自己去写,ARM那边的话要一一对应上,应该协议就是这个样子的。
IALG_Fxns的数据结构:
Struct IALG_Fxns
{
Void *implementationId; //这个应该就是这个IALG_Fxns地址,还是指向它本身的数据
Int (*algAlloc)(const IALG_Params *params, structIALG_Fxns **parentFxns, IALG_MemRec *memTab);//内存的一个分配
Void (*algActivate)(IALG_Handle handle);
Int (*algControl)(IALG_Handle handle, IALG_Cmd cmd, IALG_Status *status);
Void (*algDeactivate)(IALG_Handle handle);
Int (*algFree)(IALG_Handle handle, IALG_MemRec *memTab);
Int (*algInit)(IALG_Handle handle, const IALG_MemRec *memTab,
IALG_Handle parent, const IALG_Params *params);
Void (*algMoved)(IALG_Handle handle, const IALG_MemRec *memTab,
IALG_Handle parent, const IALG_Params *params);
Int (*algNumAlloc)(Void);
};
关于上面的一些说明,今天我在看了一些关于DSP的一些说明,传一些图片和大家分享一下,这个图片的内容不是我写的,是一篇论文中的。
- DM6446学习的方法,刚学习第二天
- 刚学习的体验
- 第二天的学习
- 学习的第二天
- 学习的第二天
- 第二天的学习
- 第二天的学习
- 第二天的学习
- 刚学习遇到的问题
- 刚学习java的我们
- DM6446学习(1环境搭建)
- DM6446学习(2 开发包介绍)
- 第二天SL275的学习
- 学习struts的第二天
- 学习Android的第二天
- 学习Linux的第二天
- 学习mysql的第二天
- 学习JAVA的第二天
- Webdings字体图案
- JDBC 连接MYSQL数据库
- 查找整数
- 使用modern.IE来设计更现代化的网页
- 控制ExpandableListView某一项点击不展开
- DM6446学习的方法,刚学习第二天
- HDU 1541 树状数组
- IE11无法显示此页的问题
- myEclipse中光标异常
- 市委组织部考核项目——问题记录
- 类图关系表示
- 老调重弹,简单问题之 i++, ++i ,你真的清楚吗?
- cmdilistener1.3
- 数列特征