DM8168集成圖像算法--集成SCD(可進一步運動檢測、運動跟蹤等)

簡介:

原文地址: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

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章