This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IPNC DMVAx processor(DMVA2) Errors

Hi,

I am poring the DMVA library on ipnc DMVA2 processor, dmva library has five functions including CTD(Camera Tamper Dectection), OC (Object Counting), TZ (Trip Zone), IMD(intelligent Motion Detection) and the lat SMD(Streaming Metadata).

i have two questions as below.

1. When i sets some paeametrs of CTD to let the videodmvaappthr running, but it get stucked in libStatus = DMVAL_process(); so it don't run to  OSA_bufPutEmpty(),  the empty queue is full so it cant't never do OSA_bufGetEmpty() again, are my settings about CTD is wrong? so the dmva thread is get stucked in DMVAL_process().

2. I also try to set some parameters of IMD to see if IMD can work, my setting as below


I have tried TZ, OC function, it works.but i get stucked in situation which i described above.

// IMD page params

gAVSERVER_config.dmvaAppParams.dmvaAppIMDSensitivity      = 3;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDPresentAdjust    = 8;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDPersonMinWidth   = 10;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDPersonMinHeight  = 10;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDVehicleMinWidth  = 10;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDVehicleMinHeight = 10;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDPersonMaxWidth   = 15;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDPersonMaxHeight  = 15;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDVehicleMaxWidth  = 15;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDVehicleMaxHeight = 15;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDNumZones         = 1;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDZoneEnable       = 1;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_ROI_numSides = 4;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone2_ROI_numSides = 0;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone3_ROI_numSides = 0;

gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone4_ROI_numSides = 0;

for(i = 0;i < 16;i ++)

{

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_x_array[i] = 0;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_y_array[i] = 0;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone2_x_array[i] = 0;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone2_y_array[i] = 0;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone3_x_array[i] = 0;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone3_y_array[i] = 0;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone4_x_array[i] = 0;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone4_y_array[i] = 0;

}

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_x_array[0] = 34;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_y_array[0] = 35;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_x_array[1] = 34;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_y_array[1] = 64;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_x_array[2] = 63;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_y_array[2] = 63;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_x_array[3] = 63;

  gAVSERVER_config.dmvaAppParams.dmvaAppIMDZone1_y_array[3] = 64;

i got CMEMK errors in consloe

                                           

  • Hi Ryan,

    From your post it looks like you are trying to run DMVA algorithms on DM368.

    This is not going to work,DMVA algorithms cannot be run on DM368.

    regards,

    Anand

     

  • Sorry, my mistake.

    I am porting DMVA library to DMVA2 processor with ARM 926(432MHz), not dm368. 

  • Hi Ryan,

    1. CTD has only to parameters sensitivity and resetcounter(in no of frames).
    2. CMEM errors can come from multiple places can you debug more on this?

    regards,

    Anand

  • Hi Anand Kulkarni71405:

    1. About CTD,

    my settings look like this

    you can click on picture to see more detail.

    I think CTD's settings just like what you said above to parameters sensitivity and resetcounter(in no of frames).

    I can't see any wrong here? Whether the error about CTD comes from other place?

     

    2. About CMEM errors, i don't know how to debug on this.

    Can you give me a hint or a way to debug on this, i will try.

     i google that i can trun this on to debug CMEM error

    var CMEM = xdc.useModule('ti.sdo.linuxutils.cmem.CMEM');

    CMEM.debug = true;

    when i add this to alg_server.cfg

    i got an error

    can't find the library 'lib/cmemd.a470MV.

    It seems i only have cmem.a470MV file, i dont have cmemd.a470MV.

    How can i get cmemd.a470MV this file?

  • Hi Ryan,

    1.Can you pl. check if you have 'CSL_H3aAfOutVfDisableOverlay' structure same as below in ..\framework\csl\inc\csl_h3a.h file?

      typedef struct {

        Uint32  hfvSum_0;
        Uint32  hfv1_0;
        Uint32  hfv2_0;
        Uint32  reserved_0;

        Uint32  hfvSum_1;
        Uint32  hfv1_1;
        Uint32  hfv2_1;
        Uint32  reserved_1;

        Uint32  hfvSum_2;
        Uint32  hfv1_2;
        Uint32  hfv2_2;
        Uint32  reserved_2;

      } CSL_H3aAfOutVfDisableOverlay;

    If not change it to the above.

    Also does the system crash or hang when CTD is enabled?

    2.Does SMETA algorithm work fine without CMEM errors?

    Can you take CE_DEBUG log to find out if the CMEM errors are coming from any of the DMVAL kernels?

    regards,

    Anand 

  • Hi Anand Kulkarni71405:

    1. I checked csl_h3a.h file

    this is my structure definition

    typedef struct {

        Uint32  hfvSum_0;
        Uint32  hfv1_0;
        Uint32  hfv2_0;
        Uint32  reserved_0;
        Uint32  hfvSum_1;
        Uint32  hfv1_1;
        Uint32  hfv2_1;
        Uint32  reserved_1;
        Uint32  hfvSum_2;
        Uint32  hfv1_2;
        Uint32  hfv2_2;
        Uint32  reserved_2;
        Uint32  hfvSum_3;    /*according to your suggestion, I marked this variable*/         ->          //Uint32 hfvSum_3
        Uint32  hfv1_3;         /*according to your suggestion, I marked this  variable*/        ->          //Uint32 hfv1_3 
        Uint32  hfv2_3;         /*according to your suggestion, I marked this  variable*/        ->          //Uint32 hfv2_3
        Uint32  reserved_3; /*according to your suggestion, I marked this  variable*/         ->          //Uint32 reserved_3

      } CSL_H3aAfOutVfDisableOverlay;

     

    after i changed this structure to your suggestion, it still didn't work.

    2. SMETA algorithm had CMEM error, too.

    How do i get CE_DEBUG log ?

    Best regards,

    ryan

  • Hi Ryan,

    You seems to be on very old codebase,what is the version of IPNC code you are using?

    Can you make sure you have the same dvsdk components that were released along with DMVAx GA rel ver 2.0 like dmva_codecs_01_00_06?

    Also make sure your alg_server.cfg is similar to DMVAx GA release file.

    1. Does your system crash or hang when CTD is enabled?
    2. You set trace and debug options to true in alg_server.cfg file and run av_server.out as - CE_DEBUG=3 ./av_server.out <options>

    regards,

    Anand 

  • 1.My IPNC version is IPNC 2.0 not IPNC 2.6

    my dvsdk is from PrivateTI_IPNC_DMVAx-2.0.0-Setup.exe. I install this file in my computer, then i got dvsdk_2_10_01_18.tgz.

    I tar zxvf dvsdk_2_10_01_18.tgz. I think dvsdk componets is the same as what you said, except that i add dm365resizer directory in dmva_codecs_01_00_06\packages\ti\sdo\codecs. The detail directory structure is show as below.


    I also checked the alg_server.cfg file, excpet that EDMA3.maxRequests is different.(I use winmerge software to compare alg_server.cfg)

    My EDMA3.maxRequests = 128 and TI EDMA3.maxRequests = 256;

    The picture below is my alg_server.cfg compared to TI's.

    Left side of picture is my, and right side is TI.

    You can click on picture to see more detail and change IE's zoom in ratio to 200% for better looking.

    my system is not crashed when CTD algorithm is enabled, but OSA_bufGetEmpty in VIDEO_dmvaCopyRun has error, just like what i said before.

    I think it looks more like hang in dmva app thread.