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.

decoding performance - how to prevent that decoding free queue is empty

Hi.

we are using NTSC signal, 16ch CIF 30fps recording setting, progressive mode, RDK03.00.00.00 

when i play video stream. sometimes free buffer (thrObj->bufQFreeBufs) is empty and playback video data stop and go . 

i'm not using OSA_que because OSA_que use timeout (OSA_TIMEOUT_FOREVER). 

 we are tested subtitle passed tv news  video data, at the times freebuffer empty, playback video stop and go . when i  look closely.

i think , it's not a bandwidth issue because all 16 channel is a  CIF video data.  

is there any point of improvement such as check return value of function or print the value or increase of buffer size?

i suspect why freebuffer empty , sometimes freebuffer empty is lasted over  milliseconds(100 milli over).

Best Regards.

CHO. 

  • What is (thrObj->bufQFreeBufs) ? Do you mean  Vdec_requestStreamBuffer is not returning any free buffers ?

    I want to confirm you are running 16 ch progressive usecase.

    What is the encode configuration ?

    Is it 16 ch 720x480 @ 30 fps h264 encode + 16 ch 320x240 @ 30 fps h264 encode + 16 ch 720 x 480 @ 1 fps MJPEG encode ?

    Is the display showing playback channels ? Do you see the issue when display does not show playback channels ?

  • Hi. 

    i use 16 ch progressive usecase.( DVRRDK_03.50 )

    i tested using the program  dvr_rdk_demo_mcfw_api.out .

    issue is shown in the fast passed vehicle seen or busy crossed people at a crosswalk or passing vehicle seen by cam at building .  

    i think sometimes a few frames can be possible dropped but this issue is  a  periodic.  

    i attached my app log and console log. can you advice me where can i check? 

    7608.201302020152.txt

    /opt/dvr # ./bin/dvr_rdk_demo_mcfw_api.out 
    
     =========
     Main Menu
     =========
    
     1: VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     2: VCAP + VENC        + VDIS  - SD Encode ONLY
     3: VCAP + VENC        + VDIS  - HD Encode ONLY
     4:               VDEC + VDIS  - SD/HD Decode ONLY
     5: VCAP +             + VDIS  - DISPLAY ONLY
     a: 16CH Hybrid DVR usecase
     b: 36CH Hybrid enc usecase
     c: 4CH Car DVR usecase
    
     e: Exit
    
     Enter Choice: 1
    --------------- CHANNEL DETAILS-------------
    Capture Channels => 16
    Enc Channels => Primary 16, Secondary 16
    Dec Channels => 16
    Disp Channels => 32
    -------------------------------------------
    Vdis_setDefaultConfig >> ----------- Device: 0 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |      0 |      1
          1 |      1 |      1
          2 |      2 |      1
          3 |      3 |      1
          4 |      4 |      1
          5 |      5 |      1
          6 |      6 |      1
          7 |      7 |      1
          8 |      8 |      1
          9 |      9 |      1
         10 |     10 |      1
         11 |     11 |      1
         12 |     12 |      1
         13 |     13 |      1
         14 |     14 |      1
         15 |     15 |      1
         16 |    255 |      1
         17 |    255 |      1
         18 |    255 |      1
         19 |    255 |      1
         20 |    255 |      1
         21 |    255 |      1
         22 |    255 |      1
         23 |    255 |      1
         24 |    255 |      1
         25 |    255 |      1
         26 |    255 |      1
         27 |    255 |      1
         28 |    255 |      1
         29 |    255 |      1
         30 |    255 |      1
         31 |    255 |      1
    Vdis_setDefaultConfig >> ----------- Device: 1 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |    255 |      1
          1 |    255 |      1
          2 |    255 |      1
          3 |    255 |      1
          4 |    255 |      1
          5 |    255 |      1
          6 |    255 |      1
          7 |    255 |      1
          8 |    255 |      1
          9 |    255 |      1
         10 |    255 |      1
         11 |    255 |      1
         12 |    255 |      1
         13 |    255 |      1
         14 |    255 |      1
         15 |    255 |      1
         16 |      0 |      1
         17 |      1 |      1
         18 |      2 |      1
         19 |      3 |      1
         20 |      4 |      1
         21 |      5 |      1
         22 |      6 |      1
         23 |      7 |      1
         24 |      8 |      1
         25 |      9 |      1
         26 |     10 |      1
         27 |     11 |      1
         28 |     12 |      1
         29 |     13 |      1
         30 |     14 |      1
         31 |     15 |      1
    Vdis_setDefaultConfig >> ----------- Device: 2 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |    255 |      1
          1 |    255 |      1
          2 |    255 |      1
          3 |    255 |      1
          4 |    255 |      1
          5 |    255 |      1
          6 |    255 |      1
          7 |    255 |      1
          8 |    255 |      1
          9 |    255 |      1
         10 |    255 |      1
         11 |    255 |      1
         12 |    255 |      1
         13 |    255 |      1
         14 |    255 |      1
         15 |    255 |      1
         16 |      0 |      1
         17 |      1 |      1
         18 |      2 |      1
         19 |      3 |      1
         20 |      4 |      1
         21 |      5 |      1
         22 |      6 |      1
         23 |      7 |      1
         24 |      8 |      1
         25 |      9 |      1
         26 |     10 |      1
         27 |     11 |      1
         28 |     12 |      1
         29 |     13 |      1
         30 |     14 |      1
         31 |     15 |      1
    Vdis_setDefaultConfig >> ----------- Device: 3 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |    255 |      1
          1 |    255 |      1
          2 |    255 |      1
          3 |    255 |      1
          4 |    255 |      1
          5 |    255 |      1
          6 |    255 |      1
          7 |    255 |      1
          8 |    255 |      1
          9 |    255 |      1
         10 |    255 |      1
         11 |    255 |      1
         12 |    255 |      1
         13 |    255 |      1
         14 |    255 |      1
         15 |    255 |      1
         16 |      0 |      1
         17 |      1 |      1
         18 |      2 |      1
         19 |      3 |      1
         20 |      4 |      1
         21 |      5 |      1
         22 |      6 |      1
         23 |      7 |      1
         24 |      8 |      1
         25 |      9 |      1
         26 |     10 |      1
         27 |     11 |      1
         28 |     12 |      1
         29 |     13 |      1
         30 |     14 |      1
         31 |     15 |      1
     0: SYSTEM: System Common Init in progress !!!
     0: SYSTEM: IPC init in progress !!!
     14: SYSTEM: CPU [DSP] syslink proc ID is [0] !!!
     14: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!!
     14: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!!
     14: SYSTEM: CPU [HOST] syslink proc ID is [3] !!!
     350: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ...
     352: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
     354: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
     355: SYSTEM: Opening MsgQ [DSP_MSGQ] ...
     355: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
     356: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
     357: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
     357: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
     358: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
     358: SYSTEM: IPC init DONE !!!
     359: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ...
     361: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ...
     362: SYSTEM: ListElem Shared Addr = 0x408d1d00
     363: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
     365: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
     366: SYSTEM: ListElem Shared Addr = 0x408ef800
     368: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ...
     370: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ...
     371: SYSTEM: ListElem Shared Addr = 0x4090d300
     372: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ...
     373: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ...
     375: SYSTEM: ListElem Shared Addr = 0x40930b80
     376: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
     378: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
     379: SYSTEM: ListElem Shared Addr = 0x40954400
     395: SYSTEM: System Common Init Done !!!
     
     ***  Mosaic Parameters *** 
     
     Output     |  Output         | Display 
     Start X, Y |  Width x Height | Windows 
     -------------------------------------- 
        0,    0 |  1920 x   1080 | 16
     
     ***  Mosaic Parameters *** 
     
     Win | Ch  | Output     |  Output         | Low Cost 
     Num | Num | Start X, Y |  Width x Height | ON / OFF 
     --------------------------------------------------- 
       0 |   0 |    0,    0 |   480 x    270 | 1
       1 |   1 |  480,    0 |   480 x    270 | 1
       2 |   2 |  960,    0 |   480 x    270 | 1
       3 |   3 | 1440,    0 |   480 x    270 | 1
       4 |   4 |    0,  270 |   480 x    270 | 1
       5 |   5 |  480,  270 |   480 x    270 | 1
       6 |   6 |  960,  270 |   480 x    270 | 1
       7 |   7 | 1440,  270 |   480 x    270 | 1
       8 |   8 |    0,  540 |   480 x    270 | 1
       9 |   9 |  480,  540 |   480 x    270 | 1
      10 |  10 |  960,  540 |   480 x    270 | 1
      11 |  11 | 1440,  540 |   480 x    270 | 1
      12 |  12 |    0,  810 |   480 x    270 | 1
      13 |  13 |  480,  810 |   480 x    270 | 1
      14 |  14 |  960,  810 |   480 x    270 | 1
      15 |  15 | 1440,  810 |   480 x    270 | 1
     
     
     ***  Mosaic Parameters *** 
     
     Output     |  Output         | Display 
     Start X, Y |  Width x Height | Windows 
     -------------------------------------- 
        0,    0 |  1920 x   1080 | 16
     
     ***  Mosaic Parameters *** 
     
     Win | Ch  | Output     |  Output         | Low Cost 
     Num | Num | Start X, Y |  Width x Height | ON / OFF 
     --------------------------------------------------- 
       0 |  16 |    0,    0 |   480 x    270 | 1
       1 |  17 |  480,    0 |   480 x    270 | 1
       2 |  18 |  960,    0 |   480 x    270 | 1
       3 |  19 | 1440,    0 |   480 x    270 | 1
       4 |  20 |    0,  270 |   480 x    270 | 1
       5 |  21 |  480,  270 |   480 x    270 | 1
       6 |  22 |  960,  270 |   480 x    270 | 1
       7 |  23 | 1440,  270 |   480 x    270 | 1
       8 |  24 |    0,  540 |   480 x    270 | 1
       9 |  25 |  480,  540 |   480 x    270 | 1
      10 |  26 |  960,  540 |   480 x    270 | 1
      11 |  27 | 1440,  540 |   480 x    270 | 1
      12 |  28 |    0,  810 |   480 x    270 | 1
      13 |  29 |  480,  810 |   480 x    270 | 1
      14 |  30 |  960,  810 |   480 x    270 | 1
      15 |  31 | 1440,  810 |   480 x    270 | 1
     
    Vdis_setDefaultConfig >> ----------- Device: 0 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |      0 |      1
          1 |      1 |      1
          2 |      2 |      1
          3 |      3 |      1
          4 |      4 |      1
          5 |      5 |      1
          6 |      6 |      1
          7 |      7 |      1
          8 |      8 |      1
          9 |      9 |      1
         10 |     10 |      1
         11 |     11 |      1
         12 |     12 |      1
         13 |     13 |      1
         14 |     14 |      1
         15 |     15 |      1
         16 |    255 |      1
         17 |    255 |      1
         18 |    255 |      1
         19 |    255 |      1
         20 |    255 |      1
         21 |    255 |      1
         22 |    255 |      1
         23 |    255 |      1
         24 |    255 |      1
         25 |    255 |      1
         26 |    255 |      1
         27 |    255 |      1
         28 |    255 |      1
         29 |    255 |      1
         30 |    255 |      1
         31 |    255 |      1
    Vdis_setDefaultConfig >> ----------- Device: 1 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |    255 |      1
          1 |    255 |      1
          2 |    255 |      1
          3 |    255 |      1
          4 |    255 |      1
          5 |    255 |      1
          6 |    255 |      1
          7 |    255 |      1
          8 |    255 |      1
          9 |    255 |      1
         10 |    255 |      1
         11 |    255 |      1
         12 |    255 |      1
         13 |    255 |      1
         14 |    255 |      1
         15 |    255 |      1
         16 |      0 |      1
         17 |      1 |      1
         18 |      2 |      1
         19 |      3 |      1
         20 |      4 |      1
         21 |      5 |      1
         22 |      6 |      1
         23 |      7 |      1
         24 |      8 |      1
         25 |      9 |      1
         26 |     10 |      1
         27 |     11 |      1
         28 |     12 |      1
         29 |     13 |      1
         30 |     14 |      1
         31 |     15 |      1
    Vdis_setDefaultConfig >> ----------- Device: 2 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |    255 |      1
          1 |    255 |      1
          2 |    255 |      1
          3 |    255 |      1
          4 |    255 |      1
          5 |    255 |      1
          6 |    255 |      1
          7 |    255 |      1
          8 |    255 |      1
          9 |    255 |      1
         10 |    255 |      1
         11 |    255 |      1
         12 |    255 |      1
         13 |    255 |      1
         14 |    255 |      1
         15 |    255 |      1
         16 |      0 |      1
         17 |      1 |      1
         18 |      2 |      1
         19 |      3 |      1
         20 |      4 |      1
         21 |      5 |      1
         22 |      6 |      1
         23 |      7 |      1
         24 |      8 |      1
         25 |      9 |      1
         26 |     10 |      1
         27 |     11 |      1
         28 |     12 |      1
         29 |     13 |      1
         30 |     14 |      1
         31 |     15 |      1
    Vdis_setDefaultConfig >> ----------- Device: 3 
    
    CHANNEL | WINDOW | ENABLE(1)/DISABLE(0)
          0 |    255 |      1
          1 |    255 |      1
          2 |    255 |      1
          3 |    255 |      1
          4 |    255 |      1
          5 |    255 |      1
          6 |    255 |      1
          7 |    255 |      1
          8 |    255 |      1
          9 |    255 |      1
         10 |    255 |      1
         11 |    255 |      1
         12 |    255 |      1
         13 |    255 |      1
         14 |    255 |      1
         15 |    255 |      1
         16 |      0 |      1
         17 |      1 |      1
         18 |      2 |      1
         19 |      3 |      1
         20 |      4 |      1
         21 |      5 |      1
         22 |      6 |      1
         23 |      7 |      1
         24 |      8 |      1
         25 |      9 |      1
         26 |     10 |      1
         27 |     11 |      1
         28 |     12 |      1
         29 |     13 |      1
         30 |     14 |      1
         31 |     15 |      1
     [host] HDMI Ctrl :Initializing
     [host] HDMI Ctrl :Initialized
     
     Enable file write (YES - y / NO - n) : n
     
     File write DISABLED !!!
     
    
     [host] MCFW_IPCBITS:VcapVencVdecVdis_ipcBitsSendFxn:Entered...
    
     AUDIO: Do you enable Audio <Y/N>: n
    
    ********* Entered usecase 16CH Progressive <816x> Cap/Enc/Dec/Dis 
    
     7950: MCFW  : CPU Revision [ES2.0] !!! 
     7950: MCFW  : Detected [(null)] Board !!! 
     7950: MCFW  : Base Board Revision [DVR] !!! 
     7950: MCFW  : Daughter Card Revision [DVR] !!! 
    
     [host] IpcBitsInLink_tskMain:Entered
     [host]  9014: IPC_BITS_IN   : Create in progress !!!
    
     [host]  9014: IPC_BITS_IN   : ListMPOpen start !!!
    
     [host]  9014: SYSTEM: Opening ListMP [DSP_IPC_OUT_24] ...
     9016: SYSTEM: Opening ListMP [DSP_IPC_IN_24] ...
    
     [host]  9017: IPC_BITS_IN   : ListMPOpen done !!!
    
     [host]  9018: IPC_BITS_IN   : System_linkGetInfo done !!!
    
     [host]  9018: IPC_BITS_IN   : Create Done !!!
    
     [host] IpcBitsInLink_tskMain:Entered
     [host]  9274: IPC_BITS_IN   : Create in progress !!!
    
     [host]  9274: IPC_BITS_IN   : ListMPOpen start !!!
    
     [host]  9274: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_24] ...
     9275: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_24] ...
    
     [host]  9277: IPC_BITS_IN   : ListMPOpen done !!!
    
     [host]  9278: IPC_BITS_IN   : System_linkGetInfo done !!!
    
     [host]  9278: IPC_BITS_IN   : Create Done !!!
    Reducing bitsProducerLinkInfo.numCh to 16
    
     [host]  9279: IPC_BITS_OUT   : Create in progress !!!
    ###Bit buff of size from the SR # 1 : 53084160
    
     [host] IPC_BITSOUT:BitBuffer Alloc.PoolID:0,Size:0x32A0000
     [host] IPCBITSOUTLINK:Translated Addr Virt:0x4393c880 To Phy:0x81d23880
     [host]  9280: IPC_BITS_OUT   : Create Done !!!
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[0],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[1],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[2],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[3],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[4],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[5],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[6],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000026],CHNUM[7],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[0],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[1],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[2],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[3],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[4],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[5],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[6],Width[480]:Height[270]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output resolution matching SwMs window.DEI_LINKID[0x20000028],CHNUM[7],Width[480]:Height[270]
    
     ***  SW Mosaic Parameters *** vdDevId:0, NumWindows 16,  onlyCh2WinMapChanged 0
     
     ***  SW Mosaic Parameters *** 
     
     Win | Ch  | Output     |  Output         | Low Cost 
     Num | Num | Start X, Y |  Width x Height | ON / OFF 
     --------------------------------------------------- 
    
     ChNum 0, WinMap 0, Enable 1
     ChNum 1, WinMap 1, Enable 1
     ChNum 2, WinMap 2, Enable 1
     ChNum 3, WinMap 3, Enable 1
     ChNum 4, WinMap 4, Enable 1
     ChNum 5, WinMap 5, Enable 1
     ChNum 6, WinMap 6, Enable 1
     ChNum 7, WinMap 7, Enable 1
     ChNum 8, WinMap 8, Enable 1
     ChNum 9, WinMap 9, Enable 1
     ChNum 10, WinMap 10, Enable 1
     ChNum 11, WinMap 11, Enable 1
     ChNum 12, WinMap 12, Enable 1
     ChNum 13, WinMap 13, Enable 1
     ChNum 14, WinMap 14, Enable 1
     ChNum 15, WinMap 15, Enable 1
     ChNum 16, WinMap 255, Enable 1
     ChNum 17, WinMap 255, Enable 1
     ChNum 18, WinMap 255, Enable 1
     ChNum 19, WinMap 255, Enable 1
     ChNum 20, WinMap 255, Enable 1
     ChNum 21, WinMap 255, Enable 1
     ChNum 22, WinMap 255, Enable 1
     ChNum 23, WinMap 255, Enable 1
     ChNum 24, WinMap 255, Enable 1
     ChNum 25, WinMap 255, Enable 1
     ChNum 26, WinMap 255, Enable 1
     ChNum 27, WinMap 255, Enable 1
     ChNum 28, WinMap 255, Enable 1
     ChNum 29, WinMap 255, Enable 1
     ChNum 30, WinMap 255, Enable 1
     ChNum 31, WinMap 255, Enable 1 
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[8]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[9]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[10]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[11]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[12]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[13]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[14]
    MULTICH_PROGRESSIVE_DVR:Decode disable invisible channel.DEC_LINKID[0x10000022],CHNUM[15]
    
     ***  SW Mosaic Parameters *** vdDevId:2, NumWindows 16,  onlyCh2WinMapChanged 0
     
     ***  SW Mosaic Parameters *** 
     
     Win | Ch  | Output     |  Output         | Low Cost 
     Num | Num | Start X, Y |  Width x Height | ON / OFF 
     --------------------------------------------------- 
    
     ChNum 0, WinMap 255, Enable 1
     ChNum 1, WinMap 255, Enable 1
     ChNum 2, WinMap 255, Enable 1
     ChNum 3, WinMap 255, Enable 1
     ChNum 4, WinMap 255, Enable 1
     ChNum 5, WinMap 255, Enable 1
     ChNum 6, WinMap 255, Enable 1
     ChNum 7, WinMap 255, Enable 1
     ChNum 8, WinMap 255, Enable 1
     ChNum 9, WinMap 255, Enable 1
     ChNum 10, WinMap 255, Enable 1
     ChNum 11, WinMap 255, Enable 1
     ChNum 12, WinMap 255, Enable 1
     ChNum 13, WinMap 255, Enable 1
     ChNum 14, WinMap 255, Enable 1
     ChNum 15, WinMap 255, Enable 1
     ChNum 16, WinMap 0, Enable 1
     ChNum 17, WinMap 1, Enable 1
     ChNum 18, WinMap 2, Enable 1
     ChNum 19, WinMap 3, Enable 1
     ChNum 20, WinMap 4, Enable 1
     ChNum 21, WinMap 5, Enable 1
     ChNum 22, WinMap 6, Enable 1
     ChNum 23, WinMap 7, Enable 1
     ChNum 24, WinMap 8, Enable 1
     ChNum 25, WinMap 9, Enable 1
     ChNum 26, WinMap 10, Enable 1
     ChNum 27, WinMap 11, Enable 1
     ChNum 28, WinMap 12, Enable 1
     ChNum 29, WinMap 13, Enable 1
     ChNum 30, WinMap 14, Enable 1
     ChNum 31, WinMap 15, Enable 1 
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[8]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[9]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[10]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[11]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[12]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[13]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[14]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[15]
     DEMO: No video detected at CH [0] !!!
     DEMO: No video detected at CH [1] !!!
     DEMO: No video detected at CH [2] !!!
     DEMO: No video detected at CH [3] !!!
     DEMO: No video detected at CH [4] !!!
     DEMO: No video detected at CH [5] !!!
     DEMO: No video detected at CH [6] !!!
     DEMO: No video detected at CH [7] !!!
     DEMO: No video detected at CH [8] !!!
     DEMO: No video detected at CH [9] !!!
     DEMO: No video detected at CH [10] !!!
     DEMO: No video detected at CH [11] !!!
     DEMO: No video detected at CH [12] !!!
     DEMO: No video detected at CH [13] !!!
     DEMO: No video detected at CH [14] !!!
     DEMO: No video detected at CH [15] !!!
    [Demo_startStop]leave
    
     =============
     Run-Time Menu
     =============
    
     1: Capture Settings
     2: Encode  Settings
     3: Decode  Settings
     4: Display Settings
     5: Audio Capture <TVP5158> & Encode <AAC-LC, G711> demo
     6: Change Playback Channel <valid only if capture/playback is active>
     7: Audio encode demo <File In/Out>
     8: Audio decode demo <File In/Out>
    
     i: Print detailed system information
     s: Core Status: Active/In-active
     f: Switch IVA Channel Map
    
     e: Stop Demo
    
     Enter Choice:  ## AVERAGE: ENCODE [ 624.9] FPS, DECODE [ 306.5] FPS, ENC+DEC [ 931.4] FPS ... in 10.0 secs, 
    4
    
     =====================
     Display Settings Menu
     =====================
    
     1: Disable channel
     2: Enable  channel
     3: Switch Layout
     4: Switch Channels
     5: Change resolution
     6: Switch Queue(ONLY FOR SD Display)
     7: Switch Channel(ONLY FOR Enc HD Usecase)
     8: Switch SDTV channel (ONLY for progressive demo)
     9: 2x digital zoom in top left
     a: 2x digital zoom in center
     b: Avsync Pause 
     c: Avsync Timescale Play 
     d: Avsync Step Fwd 
     e: Avsync Normal Play 
     f: Avsync Seek Play 
     g: Avsync Reset Player timer 
     h: Avsync Set Player State Play 
     i: Avsync Scan Play 
     j: SwMS flush frames 
     k: Run Grpx fbdev demo
     l: Change Brightness/Contrast/Saturation/Hue
     m: Print Detailed Timings Info
    
     p: Previous Menu
    
     Enter Choice:  ## AVERAGE: ENCODE [ 975.5] FPS, DECODE [ 480.2] FPS, ENC+DEC [1455.8] FPS ... in 10.0 secs, 
    4
     
     Select DISPLAY (HDMI/SDTV) CH ID [0 .. 31] : 16
     
     Selected CH ID = 16 
     
    [Demo_displaySwitchChn]enter devId:0 startChid:16, maxVidsChannels:32
    i:0 chMap:16
    i:1 chMap:17
    i:2 chMap:18
    i:3 chMap:19
    i:4 chMap:20
    i:5 chMap:21
    i:6 chMap:22
    i:7 chMap:23
    i:8 chMap:24
    i:9 chMap:25
    i:10 chMap:26
    i:11 chMap:27
    i:12 chMap:28
    i:13 chMap:29
    i:14 chMap:30
    i:15 chMap:31
    i:16 chMap:0
    i:17 chMap:1
    i:18 chMap:2
    i:19 chMap:3
    i:20 chMap:4
    i:21 chMap:5
    i:22 chMap:6
    i:23 chMap:7
    i:24 chMap:8
    i:25 chMap:9
    i:26 chMap:10
    i:27 chMap:11
    i:28 chMap:12
    i:29 chMap:13
    i:30 chMap:14
    i:31 chMap:15
    i:32 chMap:255
    i:33 chMap:255
    i:34 chMap:255
    i:35 chMap:255
    
     ***  SW Mosaic Parameters *** vdDevId:0, NumWindows 16,  onlyCh2WinMapChanged 1
     
     ***  SW Mosaic Parameters *** 
     
     Win | Ch  | Output     |  Output         | Low Cost 
     Num | Num | Start X, Y |  Width x Height | ON / OFF 
     --------------------------------------------------- 
    
     ChNum 0, WinMap 0, Enable 1
     ChNum 1, WinMap 1, Enable 1
     ChNum 2, WinMap 2, Enable 1
     ChNum 3, WinMap 3, Enable 1
     ChNum 4, WinMap 4, Enable 1
     ChNum 5, WinMap 5, Enable 1
     ChNum 6, WinMap 6, Enable 1
     ChNum 7, WinMap 7, Enable 1
     ChNum 8, WinMap 8, Enable 1
     ChNum 9, WinMap 9, Enable 1
     ChNum 10, WinMap 10, Enable 1
     ChNum 11, WinMap 11, Enable 1
     ChNum 12, WinMap 12, Enable 1
     ChNum 13, WinMap 13, Enable 1
     ChNum 14, WinMap 14, Enable 1
     ChNum 15, WinMap 15, Enable 1
     ChNum 16, WinMap 0, Enable 1
     ChNum 17, WinMap 1, Enable 1
     ChNum 18, WinMap 2, Enable 1
     ChNum 19, WinMap 3, Enable 1
     ChNum 20, WinMap 4, Enable 1
     ChNum 21, WinMap 5, Enable 1
     ChNum 22, WinMap 6, Enable 1
     ChNum 23, WinMap 7, Enable 1
     ChNum 24, WinMap 8, Enable 1
     ChNum 25, WinMap 9, Enable 1
     ChNum 26, WinMap 10, Enable 1
     ChNum 27, WinMap 11, Enable 1
     ChNum 28, WinMap 12, Enable 1
     ChNum 29, WinMap 13, Enable 1
     ChNum 30, WinMap 14, Enable 1
     ChNum 31, WinMap 15, Enable 1 
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[8]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[9]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[10]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[11]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[12]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[13]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[14]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[15]
    [Demo_displaySwitchChn]leave
    
    1 
     Select DISPLAY (HDCOMP/DVO2) CH ID [0 .. 31] : 6 ## AVERAGE: ENCODE [ 927.7] FPS, DECODE [ 458.4] FPS, ENC+DEC [1386.0] FPS ... in 10.1 secs, 
    
     
     Selected CH ID = 16 
     
    [Demo_displaySwitchChn]enter devId:1 startChid:16, maxVidsChannels:32
    i:0 chMap:16
    i:1 chMap:17
    i:2 chMap:18
    i:3 chMap:19
    i:4 chMap:20
    i:5 chMap:21
    i:6 chMap:22
    i:7 chMap:23
    i:8 chMap:24
    i:9 chMap:25
    i:10 chMap:26
    i:11 chMap:27
    i:12 chMap:28
    i:13 chMap:29
    i:14 chMap:30
    i:15 chMap:31
    i:16 chMap:0
    i:17 chMap:1
    i:18 chMap:2
    i:19 chMap:3
    i:20 chMap:4
    i:21 chMap:5
    i:22 chMap:6
    i:23 chMap:7
    i:24 chMap:8
    i:25 chMap:9
    i:26 chMap:10
    i:27 chMap:11
    i:28 chMap:12
    i:29 chMap:13
    i:30 chMap:14
    i:31 chMap:15
    i:32 chMap:255
    i:33 chMap:255
    i:34 chMap:255
    i:35 chMap:255
    
     ***  SW Mosaic Parameters *** vdDevId:1, NumWindows 16,  onlyCh2WinMapChanged 1
     
     ***  SW Mosaic Parameters *** 
     
     Win | Ch  | Output     |  Output         | Low Cost 
     Num | Num | Start X, Y |  Width x Height | ON / OFF 
     --------------------------------------------------- 
    
     ChNum 0, WinMap 255, Enable 1
     ChNum 1, WinMap 255, Enable 1
     ChNum 2, WinMap 255, Enable 1
     ChNum 3, WinMap 255, Enable 1
     ChNum 4, WinMap 255, Enable 1
     ChNum 5, WinMap 255, Enable 1
     ChNum 6, WinMap 255, Enable 1
     ChNum 7, WinMap 255, Enable 1
     ChNum 8, WinMap 255, Enable 1
     ChNum 9, WinMap 255, Enable 1
     ChNum 10, WinMap 255, Enable 1
     ChNum 11, WinMap 255, Enable 1
     ChNum 12, WinMap 255, Enable 1
     ChNum 13, WinMap 255, Enable 1
     ChNum 14, WinMap 255, Enable 1
     ChNum 15, WinMap 255, Enable 1
     ChNum 16, WinMap 0, Enable 1
     ChNum 17, WinMap 1, Enable 1
     ChNum 18, WinMap 2, Enable 1
     ChNum 19, WinMap 3, Enable 1
     ChNum 20, WinMap 4, Enable 1
     ChNum 21, WinMap 5, Enable 1
     ChNum 22, WinMap 6, Enable 1
     ChNum 23, WinMap 7, Enable 1
     ChNum 24, WinMap 8, Enable 1
     ChNum 25, WinMap 9, Enable 1
     ChNum 26, WinMap 10, Enable 1
     ChNum 27, WinMap 11, Enable 1
     ChNum 28, WinMap 12, Enable 1
     ChNum 29, WinMap 13, Enable 1
     ChNum 30, WinMap 14, Enable 1
     ChNum 31, WinMap 15, Enable 1 
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000026],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:DEI Preview Output disable invisible channel.DEI_LINKID[0x20000028],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[0]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[1]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[2]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[3]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[4]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[5]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[6]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[7]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[8]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[9]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[10]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[11]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[12]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[13]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[14]
    MULTICH_PROGRESSIVE_DVR:Decode enable visible channel.DEC_LINKID[0x10000022],CHNUM[15]
    [Demo_displaySwitchChn]leave
    
    
     =====================
     Display Settings Menu
     =====================
    
     1: Disable channel
     2: Enable  channel
     3: Switch Layout
     4: Switch Channels
     5: Change resolution
     6: Switch Queue(ONLY FOR SD Display)
     7: Switch Channel(ONLY FOR Enc HD Usecase)
     8: Switch SDTV channel (ONLY for progressive demo)
     9: 2x digital zoom in top left
     a: 2x digital zoom in center
     b: Avsync Pause 
     c: Avsync Timescale Play 
     d: Avsync Step Fwd 
     e: Avsync Normal Play 
     f: Avsync Seek Play 
     g: Avsync Reset Player timer 
     h: Avsync Set Player State Play 
     i: Avsync Scan Play 
     j: SwMS flush frames 
     k: Run Grpx fbdev demo
     l: Change Brightness/Contrast/Saturation/Hue
     m: Print Detailed Timings Info
    
     p: Previous Menu
    
     Enter Choice:  ## AVERAGE: ENCODE [ 744.4] FPS, DECODE [ 380.8] FPS, ENC+DEC [1125.2] FPS ... in 10.1 secs, 
    p
    
     =============
     Run-Time Menu
     =============
    
     1: Capture Settings
     2: Encode  Settings
     3: Decode  Settings
     4: Display Settings
     5: Audio Capture <TVP5158> & Encode <AAC-LC, G711> demo
     6: Change Playback Channel <valid only if capture/playback is active>
     7: Audio encode demo <File In/Out>
     8: Audio decode demo <File In/Out>
    
     i: Print detailed system information
     s: Core Status: Active/In-active
     f: Switch IVA Channel Map
    
     e: Stop Demo
    
     Enter Choice: i
     
     
    
    
     *** Encode Bitstream Received Statistics *** 
    
     Elased time =   47.4 secs
    
     CH | Bitrate (Kbps) | FPS | Key-frame FPS | Width (max/min) | Height (max/min) | Latency (max/min)
     --------------------------------------------------------------------------------------------------
      0 |        1707.37 | 26.1 |           0.9 |   704 /    704 |    480 /    480  |    290 /     39
      1 |        1684.67 | 25.9 |           0.9 |   704 /    704 |    480 /    480  |    292 /     35
      2 |        1679.92 | 25.6 |           0.9 |   704 /    704 |    480 /    480  |    293 /     36
      3 |        1673.61 | 25.7 |           0.9 |   704 /    704 |    480 /    480  |    297 /     50
      4 |        1670.22 | 25.6 |           0.9 |   704 /    704 |    480 /    480  |    289 /     43
      5 |        1659.73 | 25.4 |           0.9 |   704 /    704 |    480 /    480  |    293 /     37
      6 |        1648.10 | 25.2 |           0.8 |   704 /    704 |    480 /    480  |    302 /     37
      7 |        1635.67 | 25.1 |           0.8 |   704 /    704 |    480 /    480  |    294 /     45
      8 |        1635.16 | 25.0 |           0.8 |   704 /    704 |    480 /    480  |    293 /     43
      9 |        1625.23 | 24.9 |           0.8 |   704 /    704 |    480 /    480  |    306 /     43
     10 |        1632.06 | 25.1 |           0.8 |   704 /    704 |    480 /    480  |    311 /     49
     11 |        1638.03 | 24.9 |           0.8 |   704 /    704 |    480 /    480  |    295 /     49
     12 |        1614.92 | 24.7 |           0.8 |   704 /    704 |    480 /    480  |    300 /     47
     13 |        1598.63 | 24.5 |           0.8 |   704 /    704 |    480 /    480  |    295 /     43
     14 |        1604.39 | 24.5 |           0.8 |   704 /    704 |    480 /    480  |    302 /     47
     15 |        1593.54 | 24.5 |           0.8 |   704 /    704 |    480 /    480  |    300 /     47
     16 |         418.45 | 25.4 |           0.9 |   352 /    352 |    240 /    240  |    306 /     43
     17 |         412.03 | 25.1 |           0.8 |   352 /    352 |    240 /    240  |    309 /     56
     18 |         401.24 | 24.5 |           0.8 |   352 /    352 |    240 /    240  |    303 /     38
     19 |         408.89 | 24.9 |           0.8 |   352 /    352 |    240 /    240  |    305 /     43
     20 |         402.40 | 24.6 |           0.8 |   352 /    352 |    240 /    240  |    299 /     47
     21 |         409.66 | 24.8 |           0.8 |   352 /    352 |    240 /    240  |    310 /     47
     22 |         405.00 | 24.7 |           0.8 |   352 /    352 |    240 /    240  |    310 /     43
     23 |         402.69 | 24.6 |           0.8 |   352 /    352 |    240 /    240  |    303 /     50
     24 |         399.22 | 24.3 |           0.8 |   352 /    352 |    240 /    240  |    306 /     49
     25 |         399.35 | 24.3 |           0.8 |   352 /    352 |    240 /    240  |    291 /     47
     26 |         389.69 | 23.9 |           0.8 |   352 /    352 |    240 /    240  |    302 /     50
     27 |         390.27 | 23.8 |           0.8 |   352 /    352 |    240 /    240  |    304 /     52
     28 |         392.76 | 24.0 |           0.8 |   352 /    352 |    240 /    240  |    290 /     44
     29 |         387.09 | 23.6 |           0.8 |   352 /    352 |    240 /    240  |    297 /     52
     30 |         388.37 | 23.5 |           0.8 |   352 /    352 |    240 /    240  |    310 /     52
     31 |         382.80 | 23.4 |           0.8 |   352 /    352 |    240 /    240  |    291 /     45
     32 |         156.56 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    298 /     60
     33 |         157.00 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    295 /     60
     34 |         212.48 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    295 /     56
     35 |         155.70 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    297 /     66
     36 |         155.18 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    298 /     64
     37 |         195.39 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    288 /     61
     38 |         207.28 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    288 /     61
     39 |         125.69 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    289 /     65
     40 |         155.83 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    285 /     73
     41 |         136.26 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    293 /     66
     42 |          71.11 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    295 /     62
     43 |         211.52 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    295 /     64
     44 |         136.67 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    293 /     59
     45 |         154.70 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    283 /     73
     46 |         208.33 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    288 /     61
     47 |         136.22 | 0.9 |           0.9 |   704 /    704 |    480 /    480  |    293 /     59
    
    
     *** SCD Frame Results Received Statistics *** 
    
     Elased time =   55.1 secs
    
     CH | Bitrate (Kbps) | FPS | Width (max/min) | Height (max/min)
     ----------------------------------------------------------------------------------
      0 |          53.42 | 1.6 |   352 |    288 
      1 |          52.82 | 1.6 |   352 |    288 
      2 |          52.82 | 1.6 |   352 |    288 
      3 |          53.42 | 1.6 |   352 |    288 
      4 |          53.42 | 1.6 |   352 |    288 
      5 |          52.82 | 1.6 |   352 |    288 
      6 |          52.82 | 1.6 |   352 |    288 
      7 |          52.82 | 1.6 |   352 |    288 
      8 |          52.82 | 1.6 |   352 |    288 
      9 |          52.82 | 1.6 |   352 |    288 
     10 |          53.42 | 1.6 |   352 |    288 
     11 |          53.42 | 1.6 |   352 |    288 
     12 |          52.82 | 1.6 |   352 |    288 
     13 |          52.82 | 1.6 |   352 |    288 
     14 |          52.82 | 1.6 |   352 |    288 
     15 |          52.82 | 1.6 |   352 |    288 
    
     =============
     Run-Time Menu
     =============
    
     1: Capture Settings
     2: Encode  Settings
     3: Decode  Settings
     4: Display Settings
     5: Audio Capture <TVP5158> & Encode <AAC-LC, G711> demo
     6: Change Playback Channel <valid only if capture/playback is active>
     7: Audio encode demo <File In/Out>
     8: Audio decode demo <File In/Out>
    
     i: Print detailed system information
     s: Core Status: Active/In-active
     f: Switch IVA Channel Map
    
     e: Stop Demo
    
     Enter Choice: usb 2-1: USB disconnect, address 3
     ## AVERAGE: ENCODE [ 746.5] FPS, DECODE [ 380.8] FPS, ENC+DEC [1127.3] FPS ... in 10.0 secs, 
    usb 2-1: new low speed USB device using musb-hdrc and address 4
    usb 2-1: New USB device found, idVendor=093a, idProduct=2510
    usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 2-1: Product: USB OPTICAL MOUSE
    usb 2-1: Manufacturer: PIXART
    input: PIXART USB OPTICAL MOUSE as /devices/platform/omap/ti81xx-usbss/musb-hdrc.1/usb2/2-1/2-1:1.0/input/input2
    generic-usb 0003:093A:2510.0003: input: USB HID v1.11 Mouse [PIXART USB OPTICAL MOUSE] on usb-musb-hdrc.1-1/input0
     ## AVERAGE: ENCODE [ 748.5] FPS, DECODE [ 383.3] FPS, ENC+DEC [1131.8] FPS ... in 10.0 secs, 
    
    

    you can see the passing caption is stop and go. when we see that stop and go is periodic.

    Best Regards.

  • Hi.

    I have a question about encoded data's timestamp.

    i am control playback with frame's timestamp. w

    hen i use normal speed playback , i put  video data with differency of frame by frame.

    i set frame's timestamp after application get the encoded data .i think that is not the precise timestamp.

    i checked upper time and lower time , i think lower time is not the correct time.

    <log>

    upper:0
    lower:75177
    upper:0
    lower:75211
    upper:0

    </log>

    and i checked latency below, is it right capture time is app's localtime minus latency?

    <code>

    latency =  Avsync_getWallTime() - (((UInt64)pBuf->upperTimeStamp << 32) |  (UInt64)pBuf->lowerTimeStamp);

    currenttime = GetLocalTime - latency

    </code>

    is there any way to get more precise captured timespame (  vip data captured time)  to implement more precise playback? 

    how can i get struct timeval 's value?

    Best Regards.

  • If you are using RDK 3.5 then frame timestamp is the actual VIP capture time. Capture time is system time in ms. In the log you have shown , difference between successing frames is 34ms which is correct. Why do you feel the capture time is not correct ?

    is it right capture time is app's localtime minus latency?

     - No app's local time - latency is not capture time. Capture time is set the HDVPSS driver when frame is captured.

    I was not able to make out the issue clearly in the video you shared.One thing I see is the SwMs output request fps is 25. WHy is this 25 fps ? Is  your display running at 25 fps ?


  • WHy is this 25 fps ?


    when i use    "vcapParams.enableConfigExtVideoDecoder = FALSE" , SwMs output setted to 25 , because it's setted PAL output.

    i initialized NTSC capture mode in the Vcap_init . currently it setted to 29 thus display running at 29 fps.


    No app's local time - latency is not capture time. Capture time is set the HDVPSS driver when frame is captured.


    i think that playback stop and go issue was caused by the wrong capture time. most of codec users  use encoding data header's capture time.

    lowerTimeStamp is not the precise captured system time it is a time after system startup.

    <log>

    chnId:6 upperTimeStamp:0, lowerTimeStamp:1005565
    </log>

    thus i calculate currenttime like below , but it's not the correct time i think ... how can i get the precise captured system time ?


    <code>

                                    datetime64_get_decimal_time( &ulUtcTime  ); // current msec time
                                    nLatency = Avsync_getWallTime() - (((UInt64)pFullBuf->upperTimeStamp << 32) |  (UInt64)pFullBuf->lowerTimeStamp);
                                    vd.ulUtcTime = ulUtcTime - nLatency;

    </code>


    Best Regards.

  • in addition, i checked Vdis_setWallTimeBase func but capture time is also started after system startup.

  • I am sorry I dont understand your requirement. Can you explain what you require the timestamp to be . Currently VCODEC_BITSBUF_S.lowerTimeStamp & VCODEC_BITSBUF_S.upperTimeStamp represent the 64-bit system time in msec that is the instant when the video frame was captured. You should never refer the local time in linux as it has no relation with the capture time which happens in VPSS M3. If you want to synch linux local time with Avsync_getWallTime there is a way but before that I need to understand your requriement correctly.

  • Hi, Thank you for your reply.

    1. i checked VCODEC_BITSBUF_S.lowerTimeStamp & VCODEC_BITSBUF_S.upperTimeStamp.

    when i print lowerTimeStamp and upperTimeStamp , i think that it's not represent the 64-bit system time.

    because when i run dvr_rdk_demo_mcfw_api.out represented time value is not the value of 2012 year

    chnId:6 upperTimeStamp:0, lowerTimeStamp:1005565 demo_vcap_venc_vdec_vdis_bits_rdwr.c

    //#define DEMO_VCAP_VENC_VDEC_VDIS_REPLACE_DECODER_TIMESTAMPS (TRUE)

    #define VDEC_VDIS_FRAME_DURATION_MS (33)

    static Void VcapVencVdecVdis_setFrameTimeStamp(VcapVencVdecVdis_ChInfo *decChInfo, VCODEC_BITSBUF_S *pEmptyBuf)

    {

        ...

        if(pEmptyBuf->chnId == 6){

        printf("chnId:%d upperTimeStamp:%d, lowerTimeStamp:%d\n", pEmptyBuf->chnId, pEmptyBuf->upperTimeStamp, pEmptyBuf->lowerTimeStamp);

        }

    }

    2.  i checked Avsync_setWallTimeBase worked or not with OSA_assert func.

     when i run progress demo run , setWallTimeBase is not setted.

    finally i inserted setWallTimeBase func before call Vsys_init func instead of Vsys_create,  then all OK.

    upperTimeStamp and lowerTimeStamp all OK.


    Int32 Avsync_setWallTimeBase(UInt64 wallTimeBase)

    {

        AvsyncLinkHLOS_Obj *pObj = &gAvsyncLink_obj;

        Int32 status = AVSYNC_S_OK;

        if (!pObj->initDone)

        {

            pObj->wallTimeBase = wallTimeBase;

        } else {

            status = AVSYNC_E_INVALIDPARAMS;

            OSA_assert(0); // kisung cho

        }

        return status;

    }

    3. when system time changed how to re setting walltimebase?

    /** \brief Set the start value for WallTime.

    API is set the initial value of wall time.

    This API should be invoked once before Vsys_create

    The Walltimer will be initialized with this value \param wallTimeBase [IN] Initial value of WallTimer

    */

    Int32 Vdis_setWallTimeBase(UInt64 wallTimeBase);

    i checked Vdis_setWallTimeBase func.

    in our system users changes localtime zone or current time. when the system running users can change the time.

    in that case ,is there any way to set walltimebase without system stop.


    ** we must use video frame's capture time . when we are use systemtime instead of this captured frame's time, playback will be have a stop and go issue.

    because of incorrect timestamp.

    finally i need third issue( when system time changed how to re setting walltimebase?) solution without side effect.


    Best Regards.

  • 1. i checked VCODEC_BITSBUF_S.lowerTimeStamp & VCODEC_BITSBUF_S.upperTimeStamp.

       - System time is not the gettimeofday.It is time that starts with zero by default and starts incrementing once Avsync_init is done.

    2.i checked Avsync_setWallTimeBase worked or not with OSA_assert func.

      - The change you have done is correct. The wallTime can be initialized with application passed value .Application should convert gettimeofday to msec based time and set it if it wants Avsync_getWallTime to be synched with getwalltime value.

      - I am summarizing again for others benefit,

    static Int64 get_current_time_to_msec(void)
    {
        struct timeval tv;
        gettimeofday(&tv, NULL);

        return ((Int64)tv.tv_sec*1000 + tv.tv_usec/1000);
    }

        UInt64 wallTimeBase;

        wallTimeBase = get_current_time_to_msec();
        Vdis_setWallTimeBase(wallTimeBase);

        /* Override the context here as needed */
        Vsys_init(&vsysParams);

    This will initialize wallTime with current system time. To ensure linux time and wallTime are synch wallTime should be configured to use the same h/w timer (dmtimer1) as used by linux free runnning timer. For this modify

    Modify:

    /dvr_rdk/mcfw/src_bios6/links_m3vpss/avsync/avsync_m3vpss.h

    Change

    #define AVSYNC_GET_HW_TIME()                              (Utils_getCurTimeInMsec())

    to


    #define AVSYNC_GET_HW_TIME()                              Utils_dmTimerGetCurTimeInMsec(SYSTEM_DMTIMER_ID);

    3. when system time changed how to re setting walltimebase?

       - This is currently not supported. Will you be reseting the walltimebase when the capture is active ? I will have to check the code to see how this can be done if you want to change it runtime.

  • Hi

    3.  Will you be reseting the walltimebase when the capture is active ?

    called  Vdis_setWallTimeBase func in the run time ,  catured timestamp is not changed.

    how to reseting the walltimebase ?


    i changed like this for resetting apply.

    mcfw/links/avsync/avsync.c

    Int32 Avsync_setWallTimeBase(UInt64 wallTimeBase)
    {
        AvsyncLinkHLOS_Obj *pObj = &gAvsyncLink_obj;
        Int32 status = AVSYNC_S_OK;

    #if 0
        if (!pObj->initDone)
        {
            pObj->wallTimeBase = wallTimeBase;
        }
        else
        {
            status = AVSYNC_E_INVALIDPARAMS;
            OSA_assert(0); // kisung cho
        }
    #else
            // kisung cho
            pObj->wallTimeBase = wallTimeBase;
    #endif
        return status;
    }



  • Pls check if the attached patch helps.

    diff --git a/mcfw/interfaces/link_api/avsync_internal.h b/mcfw/interfaces/link_api/avsync_internal.h
    index a6933a3..ba4bec9 100755
    --- a/mcfw/interfaces/link_api/avsync_internal.h
    +++ b/mcfw/interfaces/link_api/avsync_internal.h
    @@ -112,8 +112,10 @@ typedef struct  Avsync_PlayerTimeObj
     typedef struct Avsync_WallTimerObj
     {
         UInt64 curWallTime;
    +    UInt64 nextWallTime;
         UInt32 lastSTC;
         UInt32 rollOverCount;
    +    UInt32 updateWallTimeFlag;
     } Avsync_WallTimerObj;
     
     typedef struct Avsync_SimpleMovingAvgObj
    diff --git a/mcfw/src_bios6/links_m3vpss/avsync/avsync_m3vpss.c b/mcfw/src_bios6/links_m3vpss/avsync/avsync_m3vpss.c
    index d8f1426..1bf2986 100755
    --- a/mcfw/src_bios6/links_m3vpss/avsync/avsync_m3vpss.c
    +++ b/mcfw/src_bios6/links_m3vpss/avsync/avsync_m3vpss.c
    @@ -70,6 +70,13 @@ static Void avsync_update_wall_timer(UArg arg)
         Avsync_WallTimerObj *pWallTimerObj = (Avsync_WallTimerObj *)arg;
         UInt32 curSTC = AVSYNC_GET_HW_TIME();
     
    +    if (pWallTimerObj->updateWallTimeFlag)
    +    {
    +        AVSYNC_CRITICAL_BEGIN();
    +        pWallTimerObj->curWallTime = pWallTimerObj->nextWallTime;
    +        pWallTimerObj->updateWallTimeFlag = FALSE;
    +        AVSYNC_CRITICAL_END();
    +    }
         if (curSTC < pWallTimerObj->lastSTC)
         {
     
    diff --git a/mcfw/src_linux/links/avsync/avsync.c b/mcfw/src_linux/links/avsync/avsync.c
    index 3e2da06..94d0b35 100755
    --- a/mcfw/src_linux/links/avsync/avsync.c
    +++ b/mcfw/src_linux/links/avsync/avsync.c
    @@ -1806,7 +1806,12 @@ Int32 Avsync_setWallTimeBase(UInt64 wallTimeBase)
         }
         else
         {
    +        pObj->wallTimeBase = wallTimeBase;
    +        AVSYNC_CRITICAL_BEGIN();
    +        pObj->srObj->wallTimer.nextWallTime = wallTimeBase;
    +        pObj->srObj->wallTimer.updateWallTimeFlag = TRUE;
             status = AVSYNC_E_INVALIDPARAMS;
    +        AVSYNC_CRITICAL_END();
         }
         return status;
     }
    

  • Thank you Badri.

    when our customer first get our product, they check live display and playback display.

    after apply your patch, live and playback is smooth in the 720H.

    Thank you very much.

    Have a good day.

    Best Regards.

    CHO.