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

IPNC_DM8127添加DSP的算法

各位好!

现在试着在DSP端添加自己的算法,我们要做车牌识别,所以要高清的图像。

目前任务有两个:(1)将1080高清图像传给DSP,DSP进行处理。(2)DSP处理的图像能够返回M3,这样我们能在PC上看见我们处理的结果。

不知实现的思路是什么?

综合各种资料,我现在已有的一些进展。

在rdk3.5已有的框架上,可以再两处添加DSP算法,Scdlink_alg.c中的函数AlgLink_ScdalgProcessData(),

或者Valink_alg.c中VaLink_algProcessFrames()。模式选择smart_anylist但是遇到的问题是:

(1)在SCD算法中,在AlgLink_ScdalgProcess之前,我添加如下打印信息:

Vps_printf("AlgLink_ScdalgProcess Infomation\n");
Vps_printf("pOutBuf->addr=0x%x\n",pOutBuf->addr);
Vps_printf("pOutBuf->frameWidth =%d,pOutBuf->frameHeight\n",pOutBuf->frameWidth,pOutBuf->frameHeight);

curTime = Utils_getCurTimeInMsec();
AlgLink_ScdalgProcess(pObj, chIdx, (AlgLink_ScdResult *) pOutBuf->addr);

可是最后并没有打印任何信息,难道SCD算法没有执行,还是其他原因?

(2)在VA算法中,打印相信。有返回结果,但是视频帧太小了320X192,并不满足我们的要求。于是想更改视频帧的大小

在Multich_tristream_fullfeature.c中修改:

sclrPrm.outScaleFactor.absoluteResolution.outWidth = 720;
sclrPrm.outScaleFactor.absoluteResolution.outHeight = 480;

编译通过,但是程序运行出错,提示DSP端的内存分配没有成功,于是修改缓冲区的帧数,由8改为3,还是不行。

请问如何修改,才可以传大图像到DSP端?

(3)DSP中也有OSD算法,但是至少在3.5版本中,DSP没有执行,只是调用M3端的OSD算法,是不是这样的?也就是说,网上之前有人说可以再DSP的OSD部分添加自己开发的算法,并不正确。

望不吝赐教!

 

changquan wang:

更改帧大小后(由320X162改为720X480),dsp端的出错信息为:

[c6xdsp ] IPC_FRAMES_IN:HEAPID:0 USED:304 [c6xdsp ] 12679: IPC_FRAMES_IN : Create Done !!! [m3vpss ] 14058: IPC_FRAMES_OUT : Create Done !!! [c6xdsp ] 12699: VA : Create Done !!! [c6xdsp ] 12699: VA : ALG Init Done !!! [c6xdsp ] 12701: Assertion @ Line: 2213 in links_common/va/vaLink_alg.c: libStatus == DMVAL_NO_ERROR : failed !!! [m3vpss ] 14098: Assertion @ Line: 143 in links_m3vpss/fd/fdLink_tsk.c: pObj->algHndl.fdWidth <= FD_LINK_MAX_WIDTH : failed !!!ApproDrvInit: 7queue id:131076TimeOut occure in boot_proc.Program exit.TimeOut occure in boot_proc.Program exit

dsp代码为:

libStatus = DMVAL_getMemReq(pDmvaHndl,&pAlgObj->params); UTILS_assert(libStatus == DMVAL_NO_ERROR);

函数定义:

XDAS_Int32 DMVAL_getMemReq(DMVALhandle *handle,DMVALparams *createParams) { handle->memTab[0].size = 1024; return DMVAL_NO_ERROR;}

 

changquan wang:

回复 changquan wang:

UP!

simon blak:

回复 changquan wang:

同样的问题,兄弟我搬凳子在论坛坐等很久了,呵呵

也咨询过fae,几乎没人回答。。。

simon blak:

回复 simon blak:

hello

changquan wang :

请问你的问题解决了吗?

192*320,尝试修改为打尺寸的图像,为何原来它只传这么一点?包含了所有的Y信息吗?

该尺寸和1280*720,1920*1080等分辨率有什么关系,没有明白。能否共享一下?多谢

changquan wang:

回复 simon blak:

没有,这个问题现在搁置了。在弄另外一个东西。

VA算法前有一个SClink,对720X480的图像进行下采样为192*320。

这样做的好处是,在进行DSP某些算法处理的时候,可以减少运算量,提高速度。例如镜头遮挡算法,用1080P与192的图像,做出来的效果是一样的。但是用小图快很多。

小图当然不会包括所有Y分量,因为进行了下采样。

simon blak:

回复 changquan wang:

 

谢谢了。

你其他帖子里边的问题:

请问你在什么地方看到加入scd.ae674的?或者你知道怎么在DVRRDK包中加入scd.ae674

我正好知道。呵呵 rules_c674.mk 中  $(MCFW_ROOT_PATH)/mcfw/src_bios6/alg/scd/lib/scd.ae674 \

scd处理算法不被调用的原因是没有把该link连接进links chain中去,但是奇怪为什么他还能通过scd检测摄像机篡改?

TI的技术支持不给力啊,希望多交流。

changquan wang:

回复 simon blak:

是啊,怪怪的!

PKF:

回复 changquan wang:

额 你的问题解决了吗?

dx c:

回复 PKF:

我现在也要加DSP算法,有新的消息吗?

ziwen pan:

加在alg_link中的打印没有出来,那是因为这个Link没有跑起来,你要修改usacases。另外要实现你的方案,要修改alg_link,因为原本的Alg_link是不能往下传的。

赞(0)
未经允许不得转载:TI中文支持网 » IPNC_DM8127添加DSP的算法
分享到: 更多 (0)