DM8168集成图像算法--集成SCD(可进一步运动检测、运动跟踪等)

来源:互联网 发布:sql语句创建表 编辑:程序博客网 时间:2024/04/27 20:20

简介:

原文地址:http://blog.csdn.net/guo8113/article/details/41693289

        SCD算法是在DVRRDK的DSP中运行的,随DVRRDK一起提供的。并且在3.0以上的版本中在Mcfw_demo里实现了类似目标的跟踪等高级功能。SCD采用DMVAL库,所以核心的算法源码没有给出。SCD的intergration文档中对于其相关参数有说明。但是DVRRDK没有在Link_api_demos中实现SCD。所以将其在doubles_doubleChCapScEncSend.c中实现1080p的处理:

步骤:

1.向chains中加入相关的link:

目前ScdLink位于dup0之后,因为dup可以有3个输出队列,1个给encLink,1个给display,1个给Scd。

         UInt32 sclrId;

         UInt32 nsfId2;

         UInt32 ipcFramesOutVpssId2;

         UInt32 ipcFramesInDspId2;

         UInt32 scdId;

         UInt32 ipcBitsOutDspId2;

         UInt32 ipcBitsInHostId2;

一定要注意scd的输入仅支持420格式,这个在文档中说支持422/420是错误的。422会有格式不支持的报错:


另外一定要注意link create时的顺序,必须按照数据流的相反顺序进行创建,否则会出现以下类似的错误。



还有,根据link的结构,如果该link消耗buffer,那么它一定需要从nextlink来获取空buffer,所以在调试时next link是必须有的(可以使用null link调试),比如没有OutDspLink之后的link,在运行时就会提示:0x9是空指针的错误(在DMVAL的文档中有说明)。


2.读取SCD的状态:

可以通过发送消息主动获取其状态:

System_linkControl(

                                        scdId,                                       ALG_LINK_SCD_CMD_GET_ALL_CHANNEL_FRAME_STATUS,

                                       &(scdAllChFrameStatus),

                                       sizeof(scdAllChFrameStatus),

                                        TRUE

                                        );

好的方法是借鉴Demo_scd_bits_wr.c进行bits的获取,到hostA8中进行分析,因此移植了Demo_scd_bits_wr.c、Demo_scd_bits_wr.h,在chains中只需要调用:

Scd_bitsWriteCreate(0,ipcBitsInHostId2);     //Init scd's ipcBitsInHost by:guo8113

创建相关的线程

Chains_ipcBitsInitCreateParams_BitsInHLOSVcap(&ipcBitsInHostPrm2);

//为ipcBitsInHostLink注册回调函数

就可以在chains_scd_bits_wr.c的void*Scd_bitsWriteMain(void *pPrm)函数中进行相应的操作了。具体内容,参考chains_scd_bits_wr.c。(根据Demo_scd_bits_wr.c进行定制)

 

可能会遇到的问题:关于Link的回调线程只运行n(6或有限次数)的问题:

IpcBitsLink需要从Host A8获得空的Buffer,并交给IpcBItsInHost才可以不断的取数据生成满的Buffer,参考Demo_scd_bits_wr.c实现

Scd_getAlgResultBuffer、Scd_releaseAlgResultBuffer等函数。

===========================================================================================

不宜详细描述,仅提供参考思路,有问题可以留言、交流。

转载请注明:http://blog.csdn.net/guo8113/article/details/41693289

===========================================================================================

 

0 0
原创粉丝点击