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.

DSP reads captured data from M3 shared memory in DVRRDK-DM8168

If we want to use shared memory (eg, SharedRegion_getHeap), is there any document and complete sample code for reference in DVRRDK_03.00... DM8168?

  • I have replired in this thread: http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/236576/828741.aspx#828741

    However the title of your post and your question are not related.Using SharedRegion APIs like SharedRegion_getHeap you cannot read captured data from M3 in DSP.As I mentioned presvously you have to use ipcFramesOut -> ipcFramesIn link connection.

  • Dear Badri,
       If I create the shared region in A8, and deliver the address to M3 and DSP, M3 still can't put data into shared region then DSP get data from shared region?
    Did you mean that?

  • To transfer frames from M3 to DSP , M3 should put the frames in a IPC linked list and DSP should read frames from the IPC linked list. My point is SharedRegion module provides APIs for allocating memory from shared region and for traslating pointers and not for exchanging frames from one core to another. You can go thru the links I sent to understand the functionality provided by SharedRegion. If you can explain better the functionality you want to implement  then it would be helpful.

  • If you can explain better the functionality you want to implement  then it would be helpful.
    ==> We want to implement something in DSP, and we found hang happen when the input frame rate is over 5fps eg.20/30
        fps. We want to use shared memory framework to replace original McFw architecture.
        Any idea?

  • You will have to implement all the same functionality that is already present in original mcfw. You need to have:

    1. Multiprocessor Gate

    2. SHaredMemory queue

    3. Translate pointers from Local Ptr to SharedRegion Ptr.

    4. Manage Cache coherency

    5. Use mailbox to interrupt the other core to notify of frame availability

    6. Register for mailbox ISR on another core to handle mailbox interrupt.

    7. Deque from the shared memory queue.

    In summary you will have to reimplement all the functionality that is already prsent in MCFW to exchange frames. Just using SHaredResgion APIs is not possible to exchange frames from one core to another. The OSD link in RDK operates at 30 fps from M3 to DSP and there is no problem. The issue you are seeing is unlikely to be due to IPC. It looks like a demo issue. Can you comment out

     

    //Scd_bitsWriteCreate()

    in file /dvr_rdk/demos/mcfw_api_demos/mcfw_demo/demo_vcap_venc_vdec_vdis.c and check if you still see the issue with demo option 1 (16 ch Progressive demo)

     

  • The OSD link in RDK operates at 30 fps from M3 to DSP and there is no problem. The issue you are seeing is unlikely to be due to IPC. It looks like a demo issue.
    ==> But why the SCD link can't operates at 30 fps(NTSC) normally?

    Can you comment out  //Scd_bitsWriteCreate()
    ==> I'll try that.

  • ==> But why the SCD link can't operates at 30 fps(NTSC) normally?

       - We have to root cause the issue. Can you pls let me know the modification the mcfw demo to recreate the issue.,Irrespective of root cause issue is clearly not related to IPC since OSD uses the same IPC functionality .My point is implementing a new method of trasnfering frames to SCD will not resolve the issue.

  • Dear Badri, 

    What I modify is as below and test for one week.  I use DVRRDK_03.00 and EVM...

    Basically, our idea is
    1. turn on all block for LMD and enable (DVRRDK_03.00.00.00/dvr_rdk/demos/mcfw_api_demos/mcfw_demo/demo_capture.c)

    #if 0 //original    //MyFather          
                    chId = Demo_getChId("CAPTURE", gDemo_info.maxVcapChannels);

                    memset(&params, 0, sizeof(params));
                    params.scdChPrm.chId = Demo_captureGetScdChNum (chId);

                    {
                         UInt32 tileId,startX, startY, endX, endY;
                         UInt32 maxHorBlks, maxVerBlks, maxHorBlkPerTile, maxVerBlkPerTile;
                         Int32 i, j, sensitivity, flag = 0;
                         if(demoId == DEMO_VCAP_VENC_VDEC_VDIS_PROGRESSIVE_8CH
                            || demoId == DEMO_VCAP_VENC_VDEC_VDIS_PROGRESSIVE_16CH_NRT
                            || demoId == DEMO_VCAP_VENC_VDEC_VDIS_PROGRESSIVE_NON_D1)
                         {
                             maxHorBlks = 6;  /* QCIF Resolution rounded to 32 pixels */
                             maxVerBlks = 12; /* QCIF Resolution*/
                             maxHorBlkPerTile   = 2;
                             maxVerBlkPerTile   = 4;
                         }
                         else
                         {
                             maxHorBlks = 11;  /* CIF Resolution rounded to 32 pixels */
                             maxVerBlks = 24;  /* CIF Resolution*/
                             maxHorBlkPerTile   = 4;
                             maxVerBlkPerTile   = 8;
                         }


                         printf("\n Enabled Tile Nos:\t");
                         for(i = 0; i < SCD_MAX_TILES; i++)
                         {
                            if(scdTileConfig[chId][i] == 1)
                            {
                               flag = 1;
                               printf("%d, ",i);
                            }
                         }
                         if(flag == 0)
                            printf("Currently zero tiles are enabled for LMD for Chan-%d\n",chId);

                         printf("\n");
                         tileId = Demo_getIntValue(" Tile Id/No.", 0, 8, 0);

                         startX = (tileId%3)*maxHorBlkPerTile;
                         startY = (tileId/3)*maxVerBlkPerTile;

                         endX = startX + maxHorBlkPerTile;
                         endY = startY + maxVerBlkPerTile;

                         if(endX > maxHorBlks)
                            endX = maxHorBlks;
                         if(endY > maxVerBlks)
                            endY = maxVerBlks;

                         params.scdChBlkPrm.chId = Demo_captureGetScdChNum (chId);
                         params.scdChBlkPrm.numValidBlock = 0;

                        flag        = Demo_getIntValue("LMD block disable/enable flag", 0, 1, 1);

                        if(flag == 1)
                        {
                           sensitivity = Demo_getIntValue("LMD block sensitivity", 0, 8, 8);
                           scdTileConfig[chId][tileId] = 1;
                        }
                        else
                        {
                           scdTileConfig[chId][tileId] = 0;
                           sensitivity = 0;
                        }


                         for(i = startY; i < endY; i++)
                         {
                             for(j = startX; j < endX; j++)
                             {
                                 AlgLink_ScdChBlkConfig * blkConfig;
                                 blkConfig = &params.scdChBlkPrm.blkConfig[params.scdChBlkPrm.numValidBlock];

                                 blkConfig->blockId      =  j + (i * maxHorBlks)   ;
                                 blkConfig->sensitivity  = sensitivity;
                                 blkConfig->monitorBlock = flag;
                                 params.scdChBlkPrm.numValidBlock++;
                             }
                         }
                         printf("\nNumber of blocks in the tile to be updated %d\n\n",params.scdChBlkPrm.numValidBlock);
                    }
                    Vcap_setDynamicParamChn(chId, &params, VCAP_SCDBLOCKCONFIG);
    #else

    for(chId=0; chId<16; chId++)
    {
    //                chId = Demo_getChId("CAPTURE", gDemo_info.maxVcapChannels);

                    memset(&params, 0, sizeof(params));
    //              params.scdChPrm.chId = Demo_captureGetScdChNum (chId);
                    params.scdChPrm.chId = chId;
                    {
                         UInt32 tileId,startX, startY, endX, endY;
                         UInt32 maxHorBlks, maxVerBlks, maxHorBlkPerTile, maxVerBlkPerTile;
                         Int32 i, j, sensitivity, flag = 0;
                         if(demoId == DEMO_VCAP_VENC_VDEC_VDIS_PROGRESSIVE_8CH
                            || demoId == DEMO_VCAP_VENC_VDEC_VDIS_PROGRESSIVE_16CH_NRT
                            || demoId == DEMO_VCAP_VENC_VDEC_VDIS_PROGRESSIVE_NON_D1)
                         {
                             maxHorBlks = 6;  /* QCIF Resolution rounded to 32 pixels */
                             maxVerBlks = 12; /* QCIF Resolution*/
                             maxHorBlkPerTile   = 2;
                             maxVerBlkPerTile   = 4;
                         }
                         else
                         {
                             maxHorBlks = 11;  /* CIF Resolution rounded to 32 pixels */
                             maxVerBlks = 24;  /* CIF Resolution*/
                             maxHorBlkPerTile   = 4;
                             maxVerBlkPerTile   = 8;
                         }

    /*
                         printf("\n Enabled Tile Nos:\t");
                         for(i = 0; i < SCD_MAX_TILES; i++)
                         {
                            if(scdTileConfig[chId][i] == 1)
                            {
                               flag = 1;
                               printf("%d, ",i);
                            }
                         }
                         if(flag == 0)
                            printf("Currently zero tiles are enabled for LMD for Chan-%d\n",chId);

                         printf("\n");
                         tileId = Demo_getIntValue(" Tile Id/No.", 0, 8, 0);

                         startX = (tileId%3)*maxHorBlkPerTile;
                         startY = (tileId/3)*maxVerBlkPerTile;

                         endX = startX + maxHorBlkPerTile;
                         endY = startY + maxVerBlkPerTile;

                         if(endX > maxHorBlks)
                            endX = maxHorBlks;
                         if(endY > maxVerBlks)
                            endY = maxVerBlks;
    */
                         startX = 0;
                         startY = 0;

                         endX = maxHorBlks;
                         endY = maxVerBlks;

    //                     params.scdChBlkPrm.chId = Demo_captureGetScdChNum (chId);
                         params.scdChBlkPrm.chId = chId;
                         params.scdChBlkPrm.numValidBlock = 0;

    //                    flag        = Demo_getIntValue("LMD block disable/enable flag", 0, 1, 1);
                        flag        = 1;

                        if(flag == 1)
                        {
    //                       sensitivity = Demo_getIntValue("LMD block sensitivity", 0, 8, 8);
                           sensitivity =8;
                           scdTileConfig[chId][tileId] = 1;
                        }
                        else
                        {
                           scdTileConfig[chId][tileId] = 0;
                           sensitivity = 0;
                        }

                         for(i = startY; i < endY; i++)
                         {
                             for(j = startX; j < endX; j++)
                             {
                                 AlgLink_ScdChBlkConfig * blkConfig;
                                 blkConfig = &params.scdChBlkPrm.blkConfig[params.scdChBlkPrm.numValidBlock];

                                 blkConfig->blockId      =  j + (i * maxHorBlks)   ;
                                 blkConfig->sensitivity  = sensitivity;
                                 blkConfig->monitorBlock = flag;
                                 params.scdChBlkPrm.numValidBlock++;
                             }
                         }
                         printf("\nNumber of blocks in the tile to be updated %d\n\n",params.scdChBlkPrm.numValidBlock);
                    }
                    Vcap_setDynamicParamChn(chId, &params, VCAP_SCDBLOCKCONFIG);
    }
    #endif              


    2. increase frame rate to 30 fps (DVRRDK_03.00.00.00/dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti816x/multich_progressive_vcap_venc_vdec_vdis.c)

            if(enableScdAlgLink)
            {
    #ifndef USE_SCLR_FOR_SCD
                dupPrm[CIF_DUP_LINK_IDX].numOutQue = 3;
         ...
                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 2;
    #else
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].numOutQue = 3;
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].outQueParams[2].nextLink = gVcapModuleContext.sclrId[0];
         ...
                sclrPrm.inputFrameRate                     = 30;
                sclrPrm.outputFrameRate                    = 30; // 2 //MyFather
         ...
                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate  = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 30;  //MyFather
    #endif

  • I will try out the changes on my setup and update you on Monday

  • Dear Badri,

    Would you mind to let me know your state? Thanks

  • I will try out and update you by end of day today.

  • I tried the changes you have done and I dont see any crash. One thing is that tileId is not initialized in the demo_capture.c code you shared and I set it to 0. Also the number of output buffers for ipcBitsOutLink after SCD is only one so you will be seeing frame drops as you have not increased the number of output buffers. Is it possible for you to migrate to RDK 3.5 release and try it out ?

  • Dear Badri,
       Thanks for your reply.

       Also the number of output buffers for ipcBitsOutLink after SCD is only one so you will be seeing frame drops
       as you have not increased the number of output buffers.
       ==> did you mean I can decrease the frame drop by increasing the number of output buffers? if yes, how can I do that?

       Is it possible for you to migrate to RDK 3.5 release and try it out ?
       ==> I'll talk to my boss. Thanks for your remind @@y

       something I want to confirm are.
       1. did you turn on every tiled and enable
       2. did you connect the input with DVD player and play a movie with high motion always
       3. did you verify if the console display [MOTION DETECTED] or [TAMPER DETECTED]...
       4. did you verify if the message in 3. display very quickly.
       5. did you verify if 16 channel display in the monitor at the same time
      
       Please confirm all these prerequisite first. Then you may see some video frames hang after several days.

       Thank you very much. ^.^

  • did you turn on every tiled and enable

      - There is bug in the code you shared as I mentioned.You are not initializing tileId.Pls make sure you fix that. I have enabled only for tile 0.

     2. did you connect the input with DVD player and play a movie with high motion always   

    3. did you verify if the console display [MOTION DETECTED] or [TAMPER DETECTED]...   

    4. did you verify if the message in 3. display very quickly.

    5. did you verify if 16 channel display in the monitor at the same time

       - Yes for 2,3,4,5

    Then you may see some video frames hang after several days.

     - I dont have a setup where I can run for several days. Do you have the ability to connect CCS via JTAG to your board. If so lets have a remote debug session when the issue is recreated in your setup. I can use webex to connect to your machine for remote debug if that is possible at your end.

  • Dear Badri,
      Thanks for your reply.

      There is bug in the code you shared as I mentioned.You are not initializing tileId.Pls make sure you fix that. I have enabled only for tile 0.
      ==> the tiled is is used to decided the range of StartX/StartY/encX/endY. I ignore that because I directly assgin the full range of
      StartX/StartY/encX/endY.
     
      My EVM is 816x/389X ASSY 512870 rev F. Is this the same as yours?

  • Dear Badri,
      Thanks for your reply.

    Q1. There is bug in the code you shared as I mentioned.You are not initializing tileId.Pls make sure you fix that. I have enabled only for tile 0.
    A1. the tiled is is used to decided the range of StartX/StartY/encX/endY. I ignore that because I directly assgin the full range of
        StartX/StartY/encX/endY.

    Q2. Do you have the ability to connect CCS via JTAG to your board. If so lets have a remote debug session when the issue is recreated in your setup. 
    A2. I dont have a JTAG. Is there any other way to debug that?
     
    My EVM is 816x/389X ASSY 512870 rev F. Is this the same as yours?

  • the tiled is is used to decided the range of StartX/StartY/encX/endY. I ignore that because I directly assgin the full range of     StartX/StartY/encX/endY.

     - No you will get compiler warning about uninitialized tileId.If you dont use it delete the code.tileId is used to index into an array and if it is not initialized it will corrupt some random memory

     

    I dont have a JTAG. Is there any other way to debug that?

     - There is no other way to debug. Maybe you can requestt the FAE supporting you to birng his laptop anf jtag for remote debug on your setup

  • Hi Badri,
        Did you see anything wrong till now in the test?   Today is one week test.
        Thanks

  • My colleague ran the test with the same configuration and it has been running fine since last friday.We have not seen any crash or hang.THere is a drop in FPS but that is expected since SCD cannot sustain 30 fps.So we are not seeing the issue. Were you able to migrate to RDK 3.5 release ? It is better if you are using the latest release

  • Dear Badri,
       Thanks for your reply.

       Also the number of output buffers for ipcBitsOutLink after SCD is only one so you will be seeing frame drops
       as you have not increased the number of output buffers.
       ==> did you mean I can decrease the frame drop by increasing the number of output buffers? if yes, how can I do that?

  • Modify /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti816x/multich_progressive_vcap_venc_vdec_vdis.c

    dspAlgPrm[1].scdCreateParams.numBufPerCh               = 6;

    to increase number of output buffers for LMD

  • Hi Badri,
        Thanks for your reply.
        I have 2 question
    Q1. after modifying, you could get 30fps. Right? (double confirm)
    Q2. because of the increasement of buffers( each of 16 channels inceases 4 buffers), are there any influence or side effects to other features or function?

  • Q1. after modifying, you could get 30fps. Right? (double confirm)

      - No we cannot get 30 fps because there is not enough c674 Mhz to be able to do 30 fps LMD for 16 channels. Increasing number of buffers will not imprive fps.This is documented in the RDK 3.x release notes

    Q2. because of the increasement of buffers( each of 16 channels inceases 4 buffers), are there any influence or side effects to other features or function?

    - There is no side effect.It will just increase memory requirement

  • Dear Badri,
      Thanks for your reply.

    Q1. after modifying, you could get 30fps. Right? (double confirm)
      - No we cannot get 30 fps because there is not enough c674 Mhz to be able to do 30 fps LMD for 16 channels. Increasing number of buffers will not imprive fps.This is documented in the RDK 3.x release notes

    > By checking, there're modules inside DSP. If we disable the OSD, DMVAL then we should got 30 fps, right? If not, why?

  • If we disable the OSD, DMVAL then we should got 30 fps, right? If not, why?

     - If you disable OSD and DMVAL you will get additional 400 Mhz load free. I dont think you will still be able to run LMD at 30 fps as LMD takes significant DSP load for a single frame processing. You can try it though. You will be able to see the statistics which shows the time taken to process one frame in SCD stats.

  • Dear Badri,
      Thanks for your reply.

     - If you disable OSD and DMVAL you will get additional 400 Mhz load free. I dont think you will still be able to run LMD at 30 fps as LMD takes significant DSP load for a single frame processing. You can try it though. You will be able to see the statistics which shows the time taken to process one frame in SCD stats.

    > By checking the time-consuming of a frame, it's around 3ms. Which means the maximum fps would be 24 around.  To achieve 30 fps in 16ch, the consuming time should be 2ms. right?

  • You have to have some headroom for other threads like ipcFrames in DSP so time cosumed for 1 frame should be less than 2ms.

  • Dear Badri,

      Thanks for your reply.

      I found I lost one modification about the test in EVM. See below
        in multich_progressive_vcap_venc_vdec_vdis.c

        if (enableScdAlgLink)
        {
            ...
            dspAlgPrm[1].scdCreateParams.numSecs2WaitB4FrmAlert = 1;
            dspAlgPrm[1].scdCreateParams.inputFrameRate         = 30;// 2  //MyFather
            dspAlgPrm[1].scdCreateParams.outputFrameRate        = 2;
            ...

       Please help to test again in your side. Thank you very much.

  • Dear Badri,

     I have one question.

     Q1. Why the following number is not 30  when I change the dsp input fps as the above article?

     [m3vpss ]  *** IpcFramesOutRTOS Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 11 secs
     [m3vpss ]  Total Fields Processed : 4369
     [m3vpss ]  Total Fields FPS       : 397 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Process In Skip
     [m3vpss ]  Num | FPS     FPS        FPS   
     [m3vpss ]  --------------------------------
     [m3vpss ]    0 |      24         24       0
     [m3vpss ]    1 |      24         24       0
     [m3vpss ]    2 |      24         24       0
     [m3vpss ]    3 |      24         24       0
     [m3vpss ]    4 |      24         24       0
     [m3vpss ]    5 |      24         24       0
     [m3vpss ]    6 |      24         24       0
     [m3vpss ]    7 |      24         24       0
     [m3vpss ]    8 |      24         24       0
     [m3vpss ]    9 |      24         24       0
     [m3vpss ]   10 |      25         25       0
     [m3vpss ]   11 |      24         24       0
     [m3vpss ]   12 |      25         25       0
     [m3vpss ]   13 |      25         25       0
     [m3vpss ]   14 |      25         25       0
     [m3vpss ]   15 |      24         24       0
     [m3vpss ] 

  • Can you share full log of Vsys_printDetailedStatistics()

  • Dear Badri,
    Thanks for your reply.

    Q1.
      I found I lost one modification about the test in EVM. See below
        in multich_progressive_vcap_venc_vdec_vdis.c

        if (enableScdAlgLink)
        {
            ...
            dspAlgPrm[1].scdCreateParams.numSecs2WaitB4FrmAlert = 1;
            dspAlgPrm[1].scdCreateParams.inputFrameRate         = 30;// 2  //MyFather
            dspAlgPrm[1].scdCreateParams.outputFrameRate        = 2;
            ...

       Please help to test again in your side. Thank you very much.


    Can you share full log of Vsys_printDetailedStatistics()?
     - see below for your requirement

     DEMO:  0: Detected video at CH [0,0] (720x240@59Hz, 1)!!!
     DEMO:  1: Detected video at CH [0,1] (720x240@59Hz, 1)!!!
     DEMO:  2: Detected video at CH [0,2] (720x240@59Hz, 1)!!!
     DEMO:  3: Detected video at CH [0,3] (720x240@59Hz, 1)!!!
     DEMO:  4: Detected video at CH [1,0] (720x240@59Hz, 1)!!!
     DEMO:  5: Detected video at CH [1,1] (720x240@59Hz, 1)!!!
     DEMO:  6: Detected video at CH [1,2] (720x240@59Hz, 1)!!!
     DEMO:  7: Detected video at CH [1,3] (720x240@59Hz, 1)!!!
     DEMO:  8: Detected video at CH [2,0] (720x240@59Hz, 1)!!!
     DEMO:  9: Detected video at CH [2,1] (720x240@59Hz, 1)!!!
     DEMO: 10: Detected video at CH [2,2] (720x240@59Hz, 1)!!!
     DEMO: 11: Detected video at CH [2,3] (720x240@59Hz, 1)!!!
     DEMO: 12: Detected video at CH [3,0] (720x240@59Hz, 1)!!!
     DEMO: 13: Detected video at CH [3,1] (720x240@59Hz, 1)!!!
     DEMO: 14: Detected video at CH [3,2] (720x240@59Hz, 1)!!!
     DEMO: 15: Detected video at CH [3,3] (720x240@59Hz, 1)!!!
     
     [m3vpss ] 
     [m3vpss ]  *** Capture Driver Advanced Statistics ***
     [m3vpss ] 
     [MOTION DETECTED] 70534: SCD CH <0> CAP CH = 0
     [m3vpss ]  VIP Parser Reset Count : 0
     [MOTION DETECTED] 70535: SCD CH <8> CAP CH = 8
     [MOTION DETECTED] 70536: SCD CH <13> CAP CH = 13
     [m3vpss ] 
     [m3vpss ]      |   Total    Even     Odd  Total  Even   Odd  Min /  Max  Min /  Max Dropped Fid Repeat Frame Error Y/C
     [m3vpss ]  CH  |  Fields  Fields  Fields    FPS   FPS   FPS       Width      Height  Fields      Count (Desc Error Y/C)
     [MOTION DETECTED] 70566: SCD CH <15> CAP CH = 15
     [m3vpss ]  ------------------------------------------------------------------------------------------------------------
     [m3vpss ]  000 |    3149    1575    1574     60    30    30  720 /  720  243 /  244       1          1 0/0 (0/0)
     [m3vpss ]  001 |    3149    1575    1574     60    30    30  720 /  720  243 /  244       1          1 0/0 (0/0)
     [MOTION DETECTED] 70599: SCD CH <10> CAP CH = 10
     [m3vpss ]  002 |    3149    1575    1574     60    30    30  720 /  720  243 /  244       1          1 0/0 (0/0)
     [m3vpss ]  003 |    3149    1575    1574     60    30    30  720 /  720  243 /  244       1          1 0/0 (0/0)
     [m3vpss ]  100 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (0/0)
     [m3vpss ]  101 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (0/0)
     [m3vpss ]  102 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (0/0)
     [m3vpss ]  103 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (0/0)
     [m3vpss ]  200 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (2/0)
     [m3vpss ]  201 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (0/0)
     [m3vpss ]  202 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (0/0)
     [m3vpss ]  203 |    3148    1574    1574     60    30    30  720 /  720  243 /  244       1          0 0/0 (0/0)
     [m3vpss ]  300 |    3148    1575    1573     60    30    30  720 /  720  243 /  244       1          1 0/0 (0/0)
     [m3vpss ]  301 |    3148    1575    1573     60    30    30  720 /  720  243 /  244       1          1 0/0 (0/0)
     [m3vpss ]  302 |    3148    1575    1573     60    30    30  720 /  720  243 /  244       1          1 0/0 (0/0)
     [m3vpss ]  303 |    3148    1575    1573     60    30    30  720 /  720  243 /  244       1          1 0/0 (1/0)
     [m3vpss ] 
     [m3vpss ]  VIP Capture Port 0 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
     [m3vpss ]  VIP Capture Port 1 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
     [m3vpss ]  VIP Capture Port 2 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
     [m3vpss ]  VIP Capture Port 3 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
     [m3vpss ] 
     [m3vpss ]  *** Capture List Manager Advanced Statistics ***
     [m3vpss ] 
     [m3vpss ]  List Post Count        : 26250
     [m3vpss ]  List Stall Count       : 0
     [m3vpss ]  List Post Time (ms)    : Max = 1, Min = 0, Avg = 0, Total = 3
     [m3vpss ]  INTC Timeout Count     : (0, 0) (Min timeout value = 948, 972)
     [m3vpss ]  Descriptor miss found count : 0
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  VIP and VPDMA registers,
     [m3vpss ]  VIP0 : FIQ_STATUS  : 0x4810551c = 0x00001400
     [m3vpss ]  VIP1 : FIQ_STATUS  : 0x48105a1c = 0x00001400
     [m3vpss ]  VPDMA: LIST_BUSY   : 0x4810d00c = 0x007e0000
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  774818: CAPTURE: Fields = 50352 (fps = 958, CPU Load = 0)
     [m3vpss ]  774818: CAPTURE: Num Resets = 0 (Avg 0 ms per reset)
     [m3vpss ]  774819: SYSTEM  : FREE SPACE : System Heap      = 4344 B, Mbx = 10239 msgs)
     [m3vpss ]  774819: SYSTEM  : FREE SPACE : SR0 Heap         = 11003648 B (10 MB)
     [m3vpss ]  774819: SYSTEM  : FREE SPACE : Frame Buffer     = 128 B (0 MB)
     [m3vpss ]  774819: SYSTEM  : FREE SPACE : Bitstream Buffer = 188955520 B (180 MB)
     [m3vpss ]  774822: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134217728 B (128 MB)  - TILER ON
     [m3vpss ]  774822: SYSTEM  : FREE SPACE : Tiler 16-bit     = 134217728 B (128 MB)  - TILER ON
     [MOTION DETECTED] 70998: SCD CH <1> CAP CH = 1
     [MOTION DETECTED] 72379: SCD CH <15> CAP CH = 15
     [MOTION DETECTED] 72410: SCD CH <9> CAP CH = 9
     [m3vpss ] 
     [m3vpss ]  *** [DEI0    ] DEI Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 56 secs
     [m3vpss ]  Total Fields Processed : 26136
     [m3vpss ]  Total Fields FPS       : 779 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Reject In Process Out[0] Out[1] Out[2] Out[3] Out[4] Skip Out[0] Skip Out[1] Skip Out[2] Skip Out[3] Skip Out[4] User Out[0] User Out[1] User Out[2] User Out[3] User Out[4] Latency  
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS    FPS    FPS    FPS       FPS         FPS         FPS         FPS         FPS       Skip FPS    Skip FPS    Skip FPS    Skip FPS    Skip FPS   Min / Max
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |      58         0         58      0     24     23      0      0          58           4           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ]    1 |      58         0         58      0     22     23      0      0          58           6           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ]    2 |      58         0         58      0     22     23      0      0          58           6           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ]    3 |      58         0         58      0     22     23      0      0          58           6           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ]    4 |      58         0         58      0     22     23      0      0          58           6           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ]    5 |      58         0         58      0     23     23      0      0          58           6           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ]    6 |      58         0         58      0     23     23      0      0          58           5           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ]    7 |      58         0         58      0     23     23      0      0          58           5           5           0           0           0           0           0           0           0   5 /  17
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [DEI2    ] DEI Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 56 secs
     [m3vpss ]  Total Fields Processed : 26128
     [m3vpss ]  Total Fields FPS       : 731 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Reject In Process Out[0] Out[1] Out[2] Out[3] Out[4] Skip Out[0] Skip Out[1] Skip Out[2] Skip Out[3] Skip Out[4] User Out[0] User Out[1] User Out[2] User Out[3] User Out[4] Latency  
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS    FPS    FPS    FPS       FPS         FPS         FPS         FPS         FPS       Skip FPS    Skip FPS    Skip FPS    Skip FPS    Skip FPS   Min / Max
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |      58         0         58      0     22     23      0      0          58           6           5           0           0           0           0           0           0           0   5 /  18
     [m3vpss ]    1 |      58         0         58      0     23     23      0      0          58           6           5           0           0           0           0           0           0           0   6 /  18
     [m3vpss ]    2 |      58         0         58      0     23     23      0      0          58           5           5           0           0           0           0           0           0           0   6 /  18
     [m3vpss ]    3 |      58         0         58      0     23     23      0      0          58           5           5           0           0           0           0           0           0           0   6 /  18
     [MOTION DETECTED] 72778: SCD CH <1> CAP CH = 1
     [MOTION DETECTED] 72856: SCD CH <8> CAP CH = 8
     [MOTION DETECTED] 72856: SCD CH <8> CAP CH = 8
     [m3vpss ]    4 |      58         0         58      0     24     23      0      0          58           4           5           0           0           0           0           0           0           0   6 /  19
     [m3vpss ]    5 |      58         0         58      0     25     23      0      0          58           3           5           0           0           0           0           0           0           0   6 /  19
     [m3vpss ]    6 |      58         0         58      0     26     23      0      0          58           2           5           0           0           0           0           0           0           0   6 /  19
     [m3vpss ]    7 |      58         0         58      0     28     23      0      0          58           1           5           0           0           0           0           0           0           0   6 /  19
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS0] Mosaic Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time: 21 secs
     [m3vpss ] 
     [m3vpss ]  Output Request FPS   : 30 fps (639 frames)
     [m3vpss ]  Output Actual  FPS   : 30 fps (639 frames)
     [m3vpss ]  Output Drop    FPS   : 0 fps (0 frames)
     [m3vpss ]  Output Reject  FPS   : 0 fps (0 frames)
     [m3vpss ]  Scaling Internal     : 33 ms
     [m3vpss ]  Scaling Internal min : 13 ms
     [m3vpss ]  Scaling Internal max : 69 ms
     [m3vpss ] 
     [m3vpss ]  Win | Window Repeat Drop Recv Que  FID Invlid Acc Event          Invalid   Que Reject Reject Latency 
     [m3vpss ]  Num | FPS    FPS    FPS  FPS  FPS  FPS        Count (Max/Min)    CH Frames Frames     Frames Min / Max
     [m3vpss ]  ------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |     30      4    0    0   25          0        1 (  5/  5)         0          0      0   6 / 215
     [m3vpss ]    1 |     30      6    0    0   23          0        1 (  5/  5)         0          0      0   6 / 267
     [m3vpss ]    2 |     30      6    0    0   23          0        1 (  5/  5)         0          0      0   6 / 267
     [m3vpss ]    3 |     30      6    0    0   24          0        1 (  5/  5)         0          0      0   6 / 267
     [m3vpss ]    4 |     30      6    0    0   24          0        1 (  5/  5)         0          0      0  11 / 267
     [m3vpss ]    5 |     30      6    0    0   24          0        1 (  5/  5)         0          0      0  11 / 267
     [m3vpss ]    6 |     30      6    0    0   24          0        1 (  5/  5)         0          0      0  11 / 177
     [m3vpss ]    7 |     30      5    0    0   24          0        1 (  5/  5)         0          0      0  11 / 177
     [m3vpss ]    8 |     30      5    0    0   24          0        0 (  0/255)         0          0      0   7 / 216
     [m3vpss ]    9 |     30      5    0    0   24          0        0 (  0/255)         0          0      0   7 / 216
     [m3vpss ]   10 |     30      5    0    0   24          0        0 (  0/255)         0          0      0   7 / 216
     [m3vpss ]   11 |     30      5    0    0   25          0        0 (  0/255)         0          0      0   7 / 216
     [m3vpss ]   12 |     30      5    0    0   25          0        1 (  5/  5)         0          0      0   7 / 280
     [m3vpss ]   13 |     30      3    0    0   26          0        1 (  5/  5)         0          0      0   6 / 280
     [m3vpss ]   14 |     30      2    0    0   27          0        1 (  5/  5)         0          0      0   7 / 280
     [m3vpss ]   15 |     30      1    0    0   29          0        1 (  5/  5)         0          0      0  12 / 215
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS0] Mosaic Parameters ***
     [MOTION DETECTED] 72878: SCD CH <13> CAP CH = 13
     [MOTION DETECTED] 73194: SCD CH <15> CAP CH = 15
     [MOTION DETECTED] 73194: SCD CH <15> CAP CH = 15
     [MOTION DETECTED] 73194: SCD CH <15> CAP CH = 15
     [m3vpss ] 
     [m3vpss ]  Output FPS: 30
     [m3vpss ] 
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS | Data  | Blank |
     [m3vpss ]  Num | Num | Start X, Y | Width x Height | Pitch Y / C   | Memory Type | Start X, Y |  Width x Height | Pitch Y / C   | Memory Type | ON / OFF | Inst | Format| Frame |
     [m3vpss ]  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |    0,    0 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    1 |   1 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  480,    0 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    2 |   2 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  960,    0 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    3 |   3 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   | 1440,    0 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    4 |   4 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |    0,  270 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    5 |   5 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  480,  270 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    6 |   6 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  960,  270 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    7 |   7 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   | 1440,  270 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    8 |   8 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |    0,  540 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]    9 |   9 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  480,  540 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]   10 |  10 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  960,  540 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]   11 |  11 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   | 1440,  540 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]   12 |  12 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |    0,  810 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]   13 |  13 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  480,  810 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]   14 |  14 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   |  960,  810 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ]   15 |  15 |    0,    0 |   704 x    240 |  1408 /  1408 | NON-TILED   | 1440,  810 |   480 x    270 |  3840 /      0 | NON-TILED   |      ON  |    0 |  420SP |   OFF |
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS1] Mosaic Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time: 21 secs
     [MOTION DETECTED] 73406: SCD CH <1> CAP CH = 1
     [MOTION DETECTED] 73530: SCD CH <10> CAP CH = 10
     [MOTION DETECTED] 73530: SCD CH <10> CAP CH = 10
     [MOTION DETECTED] 73530: SCD CH <10> CAP CH = 10
     [m3vpss ] 
     [m3vpss ]  Output Request FPS   : 30 fps (641 frames)
     [m3vpss ]  Output Actual  FPS   : 30 fps (641 frames)
     [m3vpss ]  Output Drop    FPS   : 0 fps (0 frames)
     [m3vpss ]  Output Reject  FPS   : 0 fps (0 frames)
     [m3vpss ]  Scaling Internal     : 33 ms
     [m3vpss ]  Scaling Internal min : 8 ms
     [m3vpss ]  Scaling Internal max : 55 ms
     [m3vpss ] 
     [m3vpss ]  Win | Window Repeat Drop Recv Que  FID Invlid Acc Event          Invalid   Que Reject Reject Latency 
     [m3vpss ]  Num | FPS    FPS    FPS  FPS  FPS  FPS        Count (Max/Min)    CH Frames Frames     Frames Min / Max
     [m3vpss ]  ------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |     30      0    0    0   30          0        0 (  0/255)         0          0      0  36 / 137
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS1] Mosaic Parameters ***
     [m3vpss ] 
     [m3vpss ]  Output FPS: 30
     [m3vpss ] 
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS | Data  | Blank |
     [m3vpss ]  Num | Num | Start X, Y | Width x Height | Pitch Y / C   | Memory Type | Start X, Y |  Width x Height | Pitch Y / C   | Memory Type | ON / OFF | Inst | Format| Frame |
     [m3vpss ]  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   960 x   1080 |  3840 /     0 | NON-TILED   |    0,    0 |  1920 x   1080 |  3840 /      0 | NON-TILED   |      OFF |    0 |  422I  |   OFF |
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS2] Mosaic Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time: 21 secs
     [m3vpss ] 
     [m3vpss ]  Output Request FPS   : 30 fps (643 frames)
     [m3vpss ]  Output Actual  FPS   : 30 fps (643 frames)
     [m3vpss ]  Output Drop    FPS   : 0 fps (0 frames)
     [m3vpss ]  Output Reject  FPS   : 0 fps (0 frames)
     [m3vpss ]  Scaling Internal     : 33 ms
     [m3vpss ]  Scaling Internal min : 25 ms
     [m3vpss ]  Scaling Internal max : 42 ms
     [m3vpss ] 
     [m3vpss ]  Win | Window Repeat Drop Recv Que  FID Invlid Acc Event          Invalid   Que Reject Reject Latency 
     [m3vpss ]  Num | FPS    FPS    FPS  FPS  FPS  FPS        Count (Max/Min)    CH Frames Frames     Frames Min / Max
     [m3vpss ]  ------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |     30      0    0    0   30          0        0 (  0/255)         0          0      0  38 / 154
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS2] Mosaic Parameters ***
     [m3vpss ] 
     [m3vpss ]  Output FPS: 30
     [m3vpss ] 
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS | Data  | Blank |
     [m3vpss ]  Num | Num | Start X, Y | Width x Height | Pitch Y / C   | Memory Type | Start X, Y |  Width x Height | Pitch Y / C   | Memory Type | ON / OFF | Inst | Format| Frame |
     [m3vpss ]  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   960 x   1080 |  3840 /     0 | NON-TILED   |    0,    0 |   720 x    480 |  1472 /      0 | NON-TILED   |      OFF |    0 |  422I  |   OFF |
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  776879: DISPLAY: HDDAC(BP0) : 59 fps, Latency (Min / Max) = ( 14 / 70 ), Callback Interval (Min / Max) = ( 16 / 18 ) !!!
     [MOTION DETECTED] 73599: SCD CH <11> CAP CH = 11
     [MOTION DETECTED] 73868: SCD CH <9> CAP CH = 9
     [m3vpss ]  776879: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 3289, HDDAC(BP0) 3290, DVO2(BP1) 3290, SDDAC(SEC1) 3307
     [m3vpss ]  776879: SYSTEM  : FREE SPACE : System Heap      = 4344 B, Mbx = 10239 msgs)
     [m3vpss ]  776879: SYSTEM  : FREE SPACE : SR0 Heap         = 11003648 B (10 MB)
     [m3vpss ]  776879: SYSTEM  : FREE SPACE : Frame Buffer     = 128 B (0 MB)
     [m3vpss ]  776879: SYSTEM  : FREE SPACE : Bitstream Buffer = 188955520 B (180 MB)
     [m3vpss ]  776880: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134217728 B (128 MB)  - TILER ON
     [m3vpss ]  776880: SYSTEM  : FREE SPACE : Tiler 16-bit     = 134217728 B (128 MB)  - TILER ON
     [m3vpss ]  776882: DISPLAY: DVO2(BP1)  : 59 fps, Latency (Min / Max) = ( 8 / 66 ), Callback Interval (Min / Max) = ( 15 / 18 ) !!!
     [m3vpss ]  776882: DISPLAY: SDDAC(SEC1): 29 fps, Latency (Min / Max) = ( 1 / 60 ), Callback Interval (Min / Max) = ( 32 / 34 ) !!!
     [m3vpss ] 
     [m3vpss ]  *** IpcFramesOutRTOS Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 55 secs
     [m3vpss ]  Total Fields Processed : 20999
     [m3vpss ]  Total Fields FPS       : 381 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Process In Skip
     [m3vpss ]  Num | FPS     FPS        FPS   
     [m3vpss ]  --------------------------------
     [m3vpss ]    0 |      23         23       0
     [m3vpss ]    1 |      23         23       0
     [m3vpss ]    2 |      23         23       0
     [m3vpss ]    3 |      23         23       0
     [m3vpss ]    4 |      23         23       0
     [m3vpss ]    5 |      23         23       0
     [m3vpss ]    6 |      23         23       0
     [m3vpss ]    7 |      24         24       0
     [m3vpss ]    8 |      23         23       0
     [m3vpss ]    9 |      23         23       0
     [m3vpss ]   10 |      23         23       0
     [m3vpss ]   11 |      23         23       0
     [m3vpss ]   12 |      23         23       0
     [m3vpss ]   13 |      23         23       0
     [m3vpss ]   14 |      23         23       0
     [m3vpss ]   15 |      23         23       0
     [m3vpss ] 
     [MOTION DETECTED] 74075: SCD CH <8> CAP CH = 8
     [MOTION DETECTED] 74080: SCD CH <1> CAP CH = 1
     [MOTION DETECTED] 74144: SCD CH <10> CAP CH = 10
     [MOTION DETECTED] 74177: SCD CH <0> CAP CH = 0
     [c6xdsp ] 
     [c6xdsp ]  *** SCD Statistics ***
     [c6xdsp ] 
     [c6xdsp ]  Elasped Time           : 58 secs
     [c6xdsp ]  Total Fields Processed : 1457
     [c6xdsp ]  Total Fields FPS       : 25 FPS
     [c6xdsp ] 
     [c6xdsp ] 
     [c6xdsp ]  CH  | In Recv In Process User Skip Process Skip In Process Time
     [c6xdsp ]  Num | FPS     FPS        FPS       FPS          per frame (msec)
     [c6xdsp ]  ----------------------------------------------------------------
     [c6xdsp ]    0 |      23          1       21           0 xxx
     [c6xdsp ]    1 |      23          1       21           0 xxx
     [c6xdsp ]    2 |      23          1       21           0 xxx
     [c6xdsp ]    3 |      23          1       21           0 xxx
     [c6xdsp ]    4 |      23          1       21           0 xxx
     [c6xdsp ]    5 |      23          1       21           0 xxx
     [c6xdsp ]    6 |      23          1       21           0 xxx
     [c6xdsp ]    7 |      23          1       22           0 xxx
     [c6xdsp ]    8 |      23          1       21           0 xxx
     [c6xdsp ]    9 |      23          1       21           0 xxx
     [c6xdsp ]   10 |      23          1       21           0 xxx
     [c6xdsp ]   11 |      23          1       21           0 xxx
     [c6xdsp ]   12 |      23          1       21           0 xxx
     [c6xdsp ]   13 |      23          1       21           0 xxx
     [c6xdsp ]   14 |      23          1       21           0 xxx
     [c6xdsp ]   15 |      23          1       21           0 xxx
     [c6xdsp ] 
     [MOTION DETECTED] 74712: SCD CH <1> CAP CH = 1
     [MOTION DETECTED] 76582: SCD CH <8> CAP CH = 8
     [m3video]  780887: HDVICP-ID:0
     [m3video] All percentage figures are based off totalElapsedTime
     [m3video]    totalAcquire2wait :9 %
     [m3video]    totalWait2Isr :87 %
     [m3video]    totalIsr2Done :0 %
     [m3video]    totalWait2Done :87 %
     [m3video]    totalDone2Release :0 %
     [m3video]    totalAcquire2Release :98 %
     [m3video]    totalAcq2acqDelay :1 %
     [m3video]    totalElapsedTime in msec :   58564
     [m3video]    numAccessCnt:   46980
     [m3video]   IVA-FPS :     810
     [MOTION DETECTED] 76614: SCD CH <1> CAP CH = 1
     [MOTION DETECTED] 76615: SCD CH <2> CAP CH = 2
     [MOTION DETECTED] 76616: SCD CH <15> CAP CH = 15
     [m3video]   Average time spent per frame in microsec:    1084
     [m3video]  780888: HDVICP-ID:1
     [m3video] All percentage figures are based off totalElapsedTime
     [m3video]    totalAcquire2wait :0 %
     [m3video]    totalWait2Isr :0 %
     [m3video]    totalIsr2Done :0 %
     [m3video]    totalWait2Done :0 %
     [m3video]    totalDone2Release :0 %
     [m3video]    totalAcquire2Release :0 %
     [m3video]    totalAcq2acqDelay :0 %
     [m3video]    totalElapsedTime in msec :       0
     [m3video]    numAccessCnt:       0
     [MOTION DETECTED] 76646: SCD CH <13> CAP CH = 13
     [m3video]   IVA-FPS :       0
     [m3video]   Average time spent per frame in microsec:       0
     [m3video]  780889: HDVICP-ID:2
     [m3video] All percentage figures are based off totalElapsedTime
     [MOTION DETECTED] 76679: SCD CH <10> CAP CH = 10
     [m3video]    totalAcquire2wait :0 %
     [m3video]    totalWait2Isr :0 %
     [m3video]    totalIsr2Done :0 %
     [m3video]    totalWait2Done :0 %
     [m3video]    totalDone2Release :0 %
     [m3video]    totalAcquire2Release :0 %
     [m3video]    totalAcq2acqDelay :0 %
     [m3video]    totalElapsedTime in msec :       0
     [m3video]    numAccessCnt:       0
     [m3video]   IVA-FPS :       0
     [m3video]   Average time spent per frame in microsec:       0
     [m3video] 
     [m3video]  *** ENCODE Statistics ***
     [m3video] 
     [m3video]  Elasped Time           : 58 secs
     [m3video] 
     [m3video] 
     [m3video]  CH  | In Recv In Skip In User  Out Latency 
     [m3video]  Num | FPS     FPS     Skip FPS FPS Min / Max
     [m3video]  --------------------------------------------
     [m3video]    0 |      25       0        0  25  54 / 282
     [m3video]    1 |      23       0        0  23  82 / 314
     [m3video]    2 |      23       0        0  22  82 / 314
     [m3video]    3 |      23       0        0  22  82 / 314
     [m3video]    4 |      23       0        0  22  82 / 314
     [m3video]    5 |      23       1        0  22  82 / 314
     [m3video]    6 |      24       1        0  22  82 / 314
     [m3video]    7 |      24       1        0  22  82 / 314
     [m3video]    8 |      23       0        0  22  82 / 314
     [m3video]    9 |      23       1        0  22  82 / 314
     [m3video]   10 |      24       1        0  22  82 / 314
     [m3video]   11 |      24       2        0  22  82 / 314
     [m3video]   12 |      25       3        0  21  91 / 314
     [m3video]   13 |      26       5        0  20  91 / 314
     [m3video]   14 |      27       8        0  19  91 / 314
     [m3video]   15 |      29      12        0  16  91 / 314
     [m3video]   16 |      24       0        0  23  66 / 298
     [m3video]   17 |      24       0        0  23  66 / 298
     [m3video]   18 |      24       0        0  23  66 / 298
     [m3video]   19 |      24       0        0  23  66 / 298
     [m3video]   20 |      24       0        0  23  66 / 301
     [m3video]   21 |      24       0        0  23  66 / 301
     [m3video]   22 |      24       0        0  23  66 / 301
     [m3video]   23 |      24       0        0  23  66 / 301
     [m3video]   24 |      24       0        0  23  66 / 302
     [m3video]   25 |      24       0        0  23  66 / 310
     [m3video]   26 |      24       0        0  23  66 / 310
     [m3video]   27 |      24       0        0  23  66 / 310
     [m3video]   28 |      24       0        0  23  82 / 314
     [m3video]   29 |      24       1        0  23  82 / 318
     [m3video]   30 |      24       1        0  23  82 / 318
     [m3video]   31 |      24       1        0  22  82 / 318
     [m3video] 
     [m3video] Multi Channel Encode Average Submit Batch Size
     [m3video] Max Submit Batch Size : 24
     [m3video] IVAHD_0 Average Batch Size : 10
     [m3video] IVAHD_0 Max achieved Batch Size : 24
     [m3video] IVAHD_1 Average Batch Size : 0
     [m3video] IVAHD_1 Max achieved Batch Size : 0
     [m3video] IVAHD_2 Average Batch Size : 0
     [m3video] IVAHD_2 Max achieved Batch Size : 0
     [m3video] 
     [m3video] Multi Channel Encode Batch break Stats
     [m3video] Total Number of Batches created: 3901
     [m3video] All numbers are based off total number of Batches created
     [m3video]   Batch breaks due to batch sizeexceeding limit: 21 %
     [m3video]   Batch breaks due to ReqObj Que being empty: 0 %
     [m3video]   Batch breaks due to changed resolution class: 0 %
     [m3video]   Batch breaks due to interlace and progressivecontent mix: 0 %
     [m3video]   Batch breaks due to channel repeat: 6 %
     [m3video]   Batch breaks due to different codec: 72 %
     [m3video] Total Number of Batches created: 0
     [m3video] All numbers are based off total number of Batches created
     [m3video]   Batch breaks due to batch sizeexceeding limit: 0 %
     [m3video]   Batch breaks due to ReqObj Que being empty: 0 %
     [m3video]   Batch breaks due to changed resolution class: 0 %
     [m3video]   Batch breaks due to interlace and progressivecontent mix: 0 %
     [MOTION DETECTED] 76711: SCD CH <0> CAP CH = 0
     [MOTION DETECTED] 77038: SCD CH <0> CAP CH = 0
     [MOTION DETECTED] 77038: SCD CH <0> CAP CH = 0
     [MOTION DETECTED] 77038: SCD CH <0> CAP CH = 0
     [m3video]   Batch breaks due to channel repeat: 0 %
     [m3video]   Batch breaks due to different codec: 0 %
     [m3video] Total Number of Batches created: 0
     [m3video] All numbers are based off total number of Batches created
     [m3video]   Batch breaks due to batch sizeexceeding limit: 0 %
     [m3video]   Batch breaks due to ReqObj Que being empty: 0 %
     [m3video]   Batch breaks due to changed resolution class: 0 %
     [m3video]   Batch breaks due to interlace and progressivecontent mix: 0 %
     [m3video]   Batch breaks due to channel repeat: 0 %
     [m3video]   Batch breaks due to different codec: 0 %
     [m3video] 
     [m3video]  *** DECODE Statistics ***
     [m3video] 
     [m3video]  Elasped Time           : 25 secs
     [m3video] 
     [m3video] 
     [m3video]  CH  | In Recv In User  Out
     [m3video]  Num | FPS     Skip FPS FPS
     [m3video]  -----------------------------------
     [m3video]    0 |       0        0   0
     [m3video]    1 |       0        0   0
     [m3video]    2 |       0        0   0
     [m3video]    3 |       0        0   0
     [m3video]    4 |       0        0   0
     [m3video]    5 |       0        0   0
     [m3video]    6 |       0        0   0
     [m3video]    7 |       0        0   0
     [m3video]    8 |       0        0   0
     [m3video]    9 |       0        0   0
     [m3video]   10 |       0        0   0
     [m3video]   11 |       0        0   0
     [m3video]   12 |       0        0   0
     [m3video]   13 |       0        0   0
     [m3video]   14 |       0        0   0
     [m3video]   15 |       0        0   0
     [m3video] 
     [m3video] Multi Channel Decode Average Submit Batch Size
     [m3video] Max Submit Batch Size : 24
     [m3video] IVAHD_0 Average Batch Size : 0
     [m3video] IVAHD_0 Max achieved Batch Size : 0
     [m3video] IVAHD_1 Average Batch Size : 0
     [m3video] IVAHD_1 Max achieved Batch Size : 0
     [m3video] IVAHD_2 Average Batch Size : 0
     [m3video] IVAHD_2 Max achieved Batch Size : 0
     [m3video] 
     [m3video] Multi Channel Decode Batch break Stats
     [m3video] Total Number of Batches created: 0
     [m3video] All numbers are based off total number of Batches created
     [m3video]   Batch breaks due to batch sizeexceeding limit: 0 %
     [m3video]   Batch breaks due to ReqObj Que being empty: 0 %
     [m3video]   Batch breaks due to changed resolution class: 0 %
     [m3video]   Batch breaks due to interlace and progressivecontent mix: 0 %
     [m3video]   Batch breaks due to channel repeat: 0 %
     [m3video]   Batch breaks due to different codec: 0 %
     [m3video] Total Number of Batches created: 0
     [m3video] All numbers are based off total number of Batches created
     [m3video]   Batch breaks due to batch sizeexceeding limit: 0 %
     [m3video]   Batch breaks due to ReqObj Que being empty: 0 %
     [m3video]   Batch breaks due to changed resolution class: 0 %
     [m3video]   Batch breaks due to interlace and progressivecontent mix: 0 %
     [m3video]   Batch breaks due to channel repeat: 0 %
     [m3video]   Batch breaks due to different codec: 0 %
     [m3video] Total Number of Batches created: 0
     [m3video] All numbers are based off total number of Batches created
     [m3video]   Batch breaks due to batch sizeexceeding limit: 0 %
     [m3video]   Batch breaks due to ReqObj Que being empty: 0 %
     [m3video]   Batch breaks due to changed resolution class: 0 %
     [m3video]   Batch breaks due to interlace and progressivecontent mix: 0 %
     [m3video]   Batch breaks due to channel repeat: 0 %
     [m3video]   Batch breaks due to different codec: 0 %
     [m3video] 
     [MOTION DETECTED] 77148: SCD CH <8> CAP CH = 8
     [MOTION DETECTED] 78474: SCD CH <13> CAP CH = 13
     [MOTION DETECTED] 78536: SCD CH <10> CAP CH = 10
     [m3vpss ] 
     [m3vpss ]  782901: LOAD: CPU: 33.7% HWI: 4.7%, SWI:2.2%
     [m3vpss ] 
     [m3vpss ]  782901: LOAD: TSK: IPC_OUT_M30         : 2.4%
     [m3vpss ]  782902: LOAD: TSK: IPC_FRAMES_OUT1     : 1.6%
     [m3vpss ]  782902: LOAD: TSK: CAPTURE             : 1.2%
     [MOTION DETECTED] 78616: SCD CH <4> CAP CH = 4
     [m3vpss ]  782902: LOAD: TSK: DEI0                : 3.8%
     [m3vpss ]  782902: LOAD: TSK: DEI2                : 4.1%
     [m3vpss ]  782902: LOAD: TSK: DISPLAY0            : 0.5%
     [MOTION DETECTED] 78648: SCD CH <9> CAP CH = 9
     [MOTION DETECTED] 78649: SCD CH <11> CAP CH = 11
     [m3vpss ]  782902: LOAD: TSK: DISPLAY1            : 0.4%
     [m3vpss ]  782902: LOAD: TSK: DISPLAY2            : 0.3%
     [m3vpss ]  782902: LOAD: TSK: DUP0                : 0.6%
     [m3vpss ]  782902: LOAD: TSK: DUP1                : 0.3%
     [m3vpss ]  782902: LOAD: TSK: DUP2                : 0.6%
     [m3vpss ]  782903: LOAD: TSK: DUP3                : 0.2%
     [m3vpss ]  782903: LOAD: TSK: SWMS0               : 2.9%
     [m3vpss ]  782903: LOAD: TSK: SWMS1               : 1.0%
     [m3vpss ]  782903: LOAD: TSK: SWMS2               : 0.8%
     [m3vpss ]  782903: LOAD: TSK: MERGE0              : 0.2%
     [m3vpss ]  782903: LOAD: TSK: MERGE1              : 0.1%
     [m3vpss ]  782903: LOAD: TSK: MERGE2              : 0.2%
     [m3vpss ]  782903: LOAD: TSK: MERGE3              : 0.3%
     [m3vpss ]  782903: LOAD: TSK: MISC                : 5.3%
     [m3vpss ] 
     [MOTION DETECTED] 78964: SCD CH <15> CAP CH = 15
     [MOTION DETECTED] 79018: SCD CH <8> CAP CH = 8
     [MOTION DETECTED] 79019: SCD CH <13> CAP CH = 13
     [m3video] 
     [m3video]  783404: LOAD: CPU: 23.7% HWI: 1.4%, SWI:1.7%
     [m3video] 
     [m3video]  783404: LOAD: TSK: IPC_IN_M30          : 1.0%
     [m3video]  783405: LOAD: TSK: IPC_BITS_OUT0       : 2.5%
     [m3video]  783405: LOAD: TSK: ENC0                : 4.4%
     [m3video]  783405: LOAD: TSK: DEC0                : 0.6%
     [m3video]  783405: LOAD: TSK: ENC_PROCESS_TSK_0   : 11.6%
     [m3video]  783405: LOAD: TSK: MISC                : 0.5%
     [MOTION DETECTED] 79147: SCD CH <10> CAP CH = 10
     [m3video] 
     [MOTION DETECTED] 79211: SCD CH <0> CAP CH = 0
     [c6xdsp ] 
     [c6xdsp ]  794235: LOAD: CPU: 3.4% HWI: 0.1%, SWI:0.0%
     [c6xdsp ] 
     [c6xdsp ]  794235: LOAD: TSK: IPC_FRAMES_IN1      : 0.3%
     [c6xdsp ]  794235: LOAD: TSK: IPC_BITS_OUT1       : 0.1%
     [c6xdsp ]  794235: LOAD: TSK: ALG1                : 0.5%
     [MOTION DETECTED] 79617: SCD CH <13> CAP CH = 13
     [c6xdsp ]  794235: LOAD: TSK: SCD_PROCESS_TSK1    : 2.0%
     [c6xdsp ]  794235: LOAD: TSK: MISC                : 0.4%
     [c6xdsp ] 
     [MOTION DETECTED] 79651: SCD CH <8> CAP CH = 8

     VDEC:Buffer Statistics

     ChId | InBufCnt | OutBufCnt
     [m3vpss ] 
     [m3vpss ]  *** CAPTURE Statistics ***
     [m3vpss ] 784408: CAPTURE: Queued to driver = 59702, Dequeued from driver = 59552
     [m3vpss ] CAPTURE [0] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 212, rdPtr 212
     [m3vpss ] 
     [m3vpss ]  *** [DEI0    ] DEI Statistics ***
     [m3vpss ] 784418: DEI: Rcvd from prev = 29780, Returned to prev = 29780
     [m3vpss ] DEI Out [0] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] DEI Out [1] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 317, rdPtr 317
     [m3vpss ] DEI Out [2] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 58, rdPtr 58
     [m3vpss ] DEI Out [3] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] DEI Out [4] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] 
     [m3vpss ]  *** [DEI2    ] DEI Statistics ***
     [m3vpss ] 784420: DEI: Rcvd from prev = 29772, Returned to prev = 29772
     [m3vpss ] DEI Out [0] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] DEI Out [1] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 338, rdPtr 338
     [m3vpss ] DEI Out [2] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 45, rdPtr 45
     [m3vpss ] DEI Out [3] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] DEI Out [4] Buf Q Status
     [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] Full Q -> count 0, wrPtr 0, rdPtr 0
     [m3vpss ] 
     [m3vpss ]  *** [SWMS0] Mosaic Statistics ***
     [m3vpss ] 784421: SWMS: Rcvd from prev = 24463, Returned to prev = 15791
     [m3vpss ] SWMS Out  Buf Q Status
     [m3vpss ] Empty Q -> count 1, wrPtr 324, rdPtr 323
     [m3vpss ] Full Q -> count 0, wrPtr 323, rdPtr 323
     [m3vpss ] 
     [m3vpss ]  *** [SWMS1] Mosaic Statistics ***
     [m3vpss ] 784423: SWMS: Rcvd from prev = 1859, Returned to prev = 1856
     [m3vpss ] SWMS Out  Buf Q Status
     [m3vpss ] Empty Q -> count 3, wrPtr 328, rdPtr 325
     [m3vpss ] Full Q -> count 0, wrPtr 325, rdPtr 325
     [m3vpss ] 
     [m3vpss ]  *** [SWMS2] Mosaic Statistics ***
     [m3vpss ] 784424: SWMS: Rcvd from prev = 1859, Returned to prev = 1855
     [m3vpss ] SWMS Out  Buf Q Status
     [m3vpss ] Empty Q -> count 1, wrPtr 327, rdPtr 326
     [m3vpss ] Full Q -> count 1, wrPtr 326, rdPtr 325
     [m3vpss ] 
     [m3vpss ]  *** Display Statistics ***
     [m3vpss ] 784424: DISPLAY: Rcvd from prev = 1859, Returned to prev = 1857, BufsInDriver = 4
     [m3vpss ] 
     [m3vpss ]  *** Display Statistics ***
     [m3vpss ] 784425: DISPLAY: Rcvd from prev = 1861, Returned to prev = 1859, BufsInDriver = 4
     [m3vpss ] 
     [m3vpss ]  *** Display Statistics ***
     [m3vpss ] 784425: DISPLAY: Rcvd from prev = 1861, Returned to prev = 1858, BufsInDriver = 5
     [MOTION DETECTED] 80520: SCD CH <4> CAP CH = 4
     [MOTION DETECTED] 80551: SCD CH <9> CAP CH = 9
     [m3video] 
     [m3video]  *** Encode Statistics ***
     [m3video]   784926: ENC: Rcvd from prev = 48753, Returned to prev = 48572
     [m3video]  ENC Out  BitBuf Q Status
     [m3video] Empty Q 0 -> count 0, wrPtr 181, rdPtr 181
     [m3video] Empty Q 1 -> count 12, wrPtr 57, rdPtr 45
     [m3video] Full Q -> count 0, wrPtr 45, rdPtr 45

  • Hi Badri,
    Thanks for your help.
    Please help the above two question.

    I have three more question
    Q3. how do you observe the "frame drop"?

    Q4. According to your speaking "Also the number of output buffers for ipcBitsOutLink after SCD is only one so you will be seeing frame drops as you have not increased the number of output buffers."
        the variable dspAlgPrm[1].scdCreateParams.numBufPerCh should be 1, but I found it's 2 originally.
        Is there something I mis-understand about "output buffers for ipcBitsOutLink after SCD"?

    Q5. By your speaking below, does it mean the frame buffer or message buffer?
       
        Modify /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti816x/multich_progressive_vcap_venc_vdec_vdis.c
        dspAlgPrm[1].scdCreateParams.numBufPerCh = 6;
        to increase number of output buffers for LMD

  • Q1. The change you have done will make SCD drop input frames and will not be doing scd at 30 fps.I dont think this is what you wanted.I think this change is wrong.

          As I mentioned previously we have not seen the issue with more than 1 week run. The only options you have are:

          Migrate to RDK 3.5

          OR

          DIsable SCD tamper and md notification in scdCreateParams

          OR

          Apply patch I shared and try

    2. Frame drop is happening because DEI is dropping frames.

        DEI is dropping frames because output buffers are not available in time.

        Have you made modifications to the progressive usecase ?

         - I see 3 SWMS  which is not present in progressive usecase

         - I see input to SWMS 1 and SWMS 2 to be 1024x960 which is not possible in progressive usecase

         - I dont see NSF or SCLR stats which were providing input to SCD in the logs.

         The frame drop is due to the modifications done to operate SCD at 30 fps I guess. As I mentioned previsouly SCD cannot run at 30 fps as it is not supported.

    Q3. how do you observe the "frame drop"?

        - Vsys_printDetailedStatistics will provide info on fps from which we can know is frames are being dropped.

    Q4. According to your speaking "Also the number of output buffers for ipcBitsOutLink after SCD is only one so you will be seeing frame drops as you have not increased the number of output buffers."
        the variable dspAlgPrm[1].scdCreateParams.numBufPerCh should be 1, but I found it's 2 originally.
        Is there something I mis-understand about "output buffers for ipcBitsOutLink after SCD"?

      - You are right.Default number of output  buffers is 2 not 1. 2 is also not sufficient.It should be 4 to 6.

    Q5. By your speaking below, does it mean the frame buffer or message buffer?
       
        Modify /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti816x/multich_progressive_vcap_venc_vdec_vdis.c
        dspAlgPrm[1].scdCreateParams.numBufPerCh = 6;
        to increase number of output buffers for LMD

         - This is frame buffer not message buffer

  • Dear Badri,
        Thanks for your reply.

    I have two more question
    Q1. according to your speaking "The change you have done will make SCD drop input frames and will not be doing scd at 30 fps.I dont think this is what you wanted.I think this change is wrong"
        if we want the SCD input frame rate is 30fps, we just need to modify following case A

    case A:
            if(enableScdAlgLink)
            {
    #ifndef USE_SCLR_FOR_SCD
                dupPrm[CIF_DUP_LINK_IDX].numOutQue = 3;
         ...
                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 2;
    #else
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].numOutQue = 3;
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].outQueParams[2].nextLink = gVcapModuleContext.sclrId[0];
         ...
                sclrPrm.inputFrameRate                     = 30;
                sclrPrm.outputFrameRate                    = 30; // 2 //MyFather
         ...
                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate  = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 30;  //MyFather
    #endif


        and without doing following case B

    case B

     if (enableScdAlgLink)
        {
            ...
            dspAlgPrm[1].scdCreateParams.numSecs2WaitB4FrmAlert = 1;
            dspAlgPrm[1].scdCreateParams.inputFrameRate         = 30;// 2  //MyFather
            dspAlgPrm[1].scdCreateParams.outputFrameRate        = 2;
            ...

          Right?

    Q2. If our algorithm's consuming-time is less then 2ms, then the above case A and case B should be done, right?

  • Data flow is Capture -> Sclr -> NSF -> ipcFramesOut -> ipcFramesIn -> dspAlgLink[1] (SCD) -> ipcBitsOut

    So configuration should be

     -- Sclr : IN FPS: 30 OUT FPS:30

     -- Nsf: IN FPS: 30 OUT FPS:30

    --  IpcFramesOut: IN FPS: 30 OUT FPS:30

     -- dspAlgLink[1]: IN FPS: 30 OUT FPS:30

    As you can see all should be  set to same input and output fps.So case B is wrong.Note that the acutal INFRAME and OUTFRAME value does not matter. What matter is the ratio of IN FPS : : OUT FPS.

    So setting IN:2 , OUT :2 is same as setting IN: 30 , OUT : 30 but for understandign purpose it is better to set IN:30 and OUT:30,

     

     

  • Dear Badri,
      Thanks for your reply.
      According to your speaking "As you can see all should be set to same input and output fps.So case B is wrong.Note that the acutal INFRAME and OUTFRAME value does not matter. What matter is the ratio of IN FPS::OUT FPS."
      I have two question

    Q1. in case B, did you mean I should modify as below?

     if (enableScdAlgLink)
        {
            ...
            dspAlgPrm[1].scdCreateParams.numSecs2WaitB4FrmAlert = 1;
            dspAlgPrm[1].scdCreateParams.inputFrameRate         = 30; // 2  //MyFather
            dspAlgPrm[1].scdCreateParams.outputFrameRate        = 30; // 2
            ...


    Q2. After I check the original source in following two DVRRDK version, I found the ratio in sclr doesn't match that in ipcFrameOut, is there something I mis-understandard?


    in DVRRDK_03.00.00.00

            if(enableScdAlgLink)
            {
    #ifndef USE_SCLR_FOR_SCD
                dupPrm[CIF_DUP_LINK_IDX].numOutQue = 3;
         ...
                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 2;
    #else
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].numOutQue = 3;
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].outQueParams[2].nextLink = gVcapModuleContext.sclrId[0];
         ...
                sclrPrm.inputFrameRate                     = 30;
                sclrPrm.outputFrameRate                    = 2;
         ...
                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate  = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 30;

    #endif


    in DVRRDK_03.50.00.05

            if(enableScdAlgLink)
            {
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].numOutQue = 3;
                dupPrm[CAPTURE_DISPLAY_DUP_LINK_IDX].outQueParams[2].nextLink = gVcapModuleContext.sclrId[0];

                SclrLink_CreateParams_Init(&sclrPrm);
                sclrPrm.inQueParams.prevLinkId             = dupId[CAPTURE_DISPLAY_DUP_LINK_IDX];
                sclrPrm.inQueParams.prevLinkQueId          = 2;
                sclrPrm.outQueParams.nextLink              = gVcapModuleContext.nsfId[0];
                sclrPrm.tilerEnable                        = FALSE;
                sclrPrm.enableLineSkipSc                   = TRUE;//FALSE;
                sclrPrm.inputFrameRate                     = 30;
                sclrPrm.outputFrameRate                    = 2;
         ...

                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate  = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 30;

  • Q1. in case B, did you mean I should modify as below?

      - yes

    Q2.Setting of below is right in DVR RDK :

                sclrPrm.inputFrameRate                     = 30;
                sclrPrm.outputFrameRate                    = 2;
         ...

                ipcFramesOutVpssPrm[1].baseCreateParams.inputFrameRate  = 30;
                ipcFramesOutVpssPrm[1].baseCreateParams.outputFrameRate = 30;

    This is because as I mentioned data flow is:

         Sclr -> Nsf ->IpcFramesOut .

         Sclr : Input is 30, Output is 2.

        After scalar all other components should have input = 2, output = 2.

        Setting input = 30, output = 30 is same as setting input =2 , output = 2 since as I mentioned what matters is ratio of input to output fps.



  • Hi MyGod,

         I have read the threads you post.  it mentions that you tried to disable OSD and DMVAL modules for increasing DSP performance.  I also meet a similar case: An RPE framework has been used in our EVM8168 system, but the performance cannot meet our demand.  I wonder whether the modules such as OSD and SCD would occupy my DSP cycles even they are NEVER created or invoked by the ARM in our demo.

         However, I don't know how to remove or disable the OSD and SCD modules so that we could get a higher DSP performance for our own algorithm.

         Could you give me a hand and provide some tip on how to modify the configuration in DVRRDK for achieving our goal?

          I am sincerely looking forward to your reply.

          Thank you.

    Naroah

    Nov/23/2013