TI中文支持网
TI专业的中文技术问题搜集分享网站

8168 dvr_rdk 开发包 修改dsp算法部分代码 速度很慢 求解答

用的是8168 dvr_rdk 开发包

我修改demo程序,用的mcfw_demo的MultiCh_createProgressiveVcapVencVdecVdis这个usecase,

 alg_link那边osd算法部分加入人脸检测的dsp算法

然后运行到dsp算法的时候速度特别慢,特别卡,不知道是为什么

 求解答

Eason Wang:

这个算法正常情况下的运行速度你有评估过吗?

你的特别卡,指的是什么,表现出来是什么现象?

hui ma:

回复 Eason Wang:

比PC上运行起来卡多了,过个好几分钟才能显示下一帧图像。

不知道是不是因为我用的这个usecase比较复杂 包括了编码和解码,但是编码和解码我没有enable,

还是说是因为dsp到ddr中取数据的速度太慢了

Eason Wang:

回复 hui ma:

DSP 优化一下,尽量不要去DDR拿数据。

当然这个不是重点,问题的关键是,你现在DSP处理的速度确切来讲是如何的。

打个比方,你是一秒30帧图像,对每帧图像做DSP的运算。如果你DSP速度很慢,出结果的时间超过了33.333333333333ms,那么就会拖累整个数据链路。因为下一个link实际需要等你这边做完才能往下走的。

hui ma:

回复 Eason Wang:

就是dsp处理的很慢 我在dsp代码部分用了vps_printf ,当每一帧图像 运行到这边就会卡一会儿(2、3分钟吧),然后所以显示器显示就卡住了,过好几分钟(4、6、7分钟吧)才显示下一帧的处理效果

我用了opencv里的人脸检测的函数(抠的opencv的源码),主要就是卡在这个函数这边,这个函数的代码比较复杂

数据不放在ddr中 那只能搬到dsp的256k 的ram内存中去,但256k略小,不够用(图像数据 + arm端读入进来的放到shared memory中去的分类器的数据)

Eason Wang:

回复 hui ma:

我觉得吧这个你还是先确定一下是否就是DSP的输入到输出的时间间隔过大导致的。你可以直接bypass中间的处理过程。

opencv我不清楚合到你的代码里面是否会有别的问题。

hui ma:

回复 Eason Wang:

没有处理过程的时候是不卡的

qinfeng lu:

回复 hui ma:

做算法处理的话必须要做优化的   opencv的源代码直接拿过来用是不行的

hui ma:

回复 qinfeng lu:

谢谢你的回答 算法优化是指什么 有参考资料么

albert albert:

回复 hui ma:

麻烦一下,想请问一下你dsp上移植算法的思路是怎样的,应该在什么地方修改呢?我看你好像实现了这方面的功能。

albert albert:

 请问一下,osd算法的入口函数是哪一个跟了好久,跟不到 

赞(0)
未经允许不得转载:TI中文支持网 » 8168 dvr_rdk 开发包 修改dsp算法部分代码 速度很慢 求解答
分享到: 更多 (0)