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

相关文章

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

CSS 样式表的四种应用方式及css注释的应用小结

《CSS样式表的四种应用方式及css注释的应用小结》:本文主要介绍了CSS样式表的四种应用方式及css注释的应用小结,本文通过实例代码给大家介绍的非常详细,详细内容请阅读本文,希望能对你有所帮助... 一、外部 css(推荐方式)定义:将 CSS 代码保存为独立的 .css 文件,通过 <link> 标签

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选