XDM封装小结

2024-05-15 07:38
文章标签 封装 xdm 小结

本文主要是介绍XDM封装小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

某个算法终于做出来了!然后就是XDM封装,app应用程序调用。虽然以前做过XDM封装,但是这次和以前的有些不同,小结一下吧。

    首先是编译成库文件。以前是在CCS下编译成.l64p的。这样还是比较麻烦的。现在的方法是在linux下编译成.a64p文件。编译的方法是找到TI提供的videnc_copy例程,videnc_copy_ti.h和videnc_copy_ti_priv.h都不用改(如果懒到不想改调用接口函数名称的话)。只把算法套在videnc_copy.c文件中即可。这个文件,也基本只改VIDENCCOPY_TI_initObj和VIDENCCOPY_TI_process函数。算法加进来很简单,注意不需要以前在CCS下编译.l64p时繁琐的TI头文件,算法只要在VC下可以运行即可。

    第二个修改的是内存分配。以前的内存分配方法是通过#gragma DATA_SECTION指定段,然后在codec engine server中指定段的地址,麻烦。其实还可以不指定段,直接定义全局变量,这样只要堆足够就可以啦。现在的方法是通过函数MEM_alloc(1,EXT_HEAP_SIZE,1)或者MEM_alloc(1,INT_HEAP_SIZE,1)来分配内存,类似于malloc函数。MEM_alloc是DSP/BIOS函数。——竟然还有DSP/BIOS?!

    三是注意刷CACHE。不刷不一定不对,刷了肯定对。函数是BCACHE_wbAll()和BCACHE_wbInvAll(),它们也是DSP/BIOS的API函数。

    四是小心VC和CCS下常用的标准C函数,如math.h里面的。不知道为啥它们跑到linux或者codec engine server里就不听话了。有个bug找了几天,才发现时cos()和sin()函数在linux的结果错了。不知道为啥。所以就不调用了,自己定义。比如sin()定义成:#define _sin(x) ((((((a6*(x) + a5)*(x) + a4)*(x) + a3)*(x) + a2)*(x) + a1)*(x) + a0)

    好。这个算法目前告一段落,机器视觉and分类器,我来了。

这篇关于XDM封装小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991212

相关文章

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha

redis-cli命令行工具的使用小结

《redis-cli命令行工具的使用小结》redis-cli是Redis的命令行客户端,支持多种参数用于连接、操作和管理Redis数据库,本文给大家介绍redis-cli命令行工具的使用小结,感兴趣的... 目录基本连接参数基本连接方式连接远程服务器带密码连接操作与格式参数-r参数重复执行命令-i参数指定命

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

python中cv2.imdecode()与cv2.imencode()的使用小结

《python中cv2.imdecode()与cv2.imencode()的使用小结》本文介绍了cv2.imencode()和cv2.imdecode()函数的使用,文中通过示例代码介绍的非常详细,对... 目录1、图片路径带中文的读取和写入1.1 读取1.2 写入2、在网络中传输图片cv2.imencod