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.

Problem about DM8168 video display time delay

Hi all:

I develop on dm8168 using dvrrdk 3.50,

I write the follow link chain,

CaptureLink-->SW Link-->Dispaly Link

I capture two XGA 1024x768 60fps video signals,from vportA 0, vportA 1,

I see the print information:

[m3vpss ]  
 [m3vpss ]  *** Capture Driver Advanced Statistics ***
 [m3vpss ]  
 [m3vpss ]  VIP Parser Reset Count : 0
 [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)
 [m3vpss ]  ------------------------------------------------------------------------------------------------------------
 [m3vpss ]  000 |     707     707       0     64    64     0 1024 / 1024  768 /  768       1          0 0/0 (0/0)
 [m3vpss ]  200 |     708     708       0     64    64     0 1024 / 1024  768 /  768       1          0 0/0 (0/0)
 [m3vpss ]  
 [m3vpss ]  VIP Capture Port 0 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
 [m3vpss ]  VIP Capture Port 2 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
 [m3vpss ]  
 [m3vpss ]  *** Capture List Manager Advanced Statistics ***
 [m3vpss ]  
 [m3vpss ]  List Post Count        : 2953
 [m3vpss ]  List Stall Count       : 0
 [m3vpss ]  List Post Time (ms)    : Max = 0, Min = 0, Avg = 0, Total = 0
 [m3vpss ]  INTC Timeout Count     : (0, 0) (Min timeout value = 987, 994)
 [m3vpss ]  Descriptor miss found count : 0
 [m3vpss ]  
 [m3vpss ]  
 [m3vpss ]  VIP and VPDMA registers,
 [m3vpss ]  VIP0 : FIQ_STATUS  : 0x4810551c = 0x00000000
 [m3vpss ]  VIP1 : FIQ_STATUS  : 0x48105a1c = 0x00000000
 [m3vpss ]  VPDMA: LIST_BUSY   : 0x4810d00c = 0x00020000
 [m3vpss ]  
 [m3vpss ]  
 [m3vpss ]  23750: CAPTURE: Fields = 1413 (fps = 119, CPU Load = 0)
 [m3vpss ]  23750: CAPTURE: Num Resets = 0 (Avg 0 ms per reset)
 [m3vpss ]  23750: SYSTEM  : FREE SPACE : System Heap      = 67616 B, Mbx = 10240 msgs)
 [m3vpss ]  23750: SYSTEM  : FREE SPACE : SR0 Heap         = 9367296 B (8 MB)
 [m3vpss ]  23750: SYSTEM  : FREE SPACE : Frame Buffer     = 194179968 B (185 MB)
 [m3vpss ]  23750: SYSTEM  : FREE SPACE : Bitstream Buffer = 175112064 B (166 MB)
 [m3vpss ]  23751: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134217728 B (128 MB)  - TILER ON
 [m3vpss ]  23751: SYSTEM  : FREE SPACE : Tiler 16-bit     = 134217728 B (128 MB)  - TILER ON
 [m3vpss ]  
 [m3vpss ]  *** [SWMS0] Mosaic Statistics ***
 [m3vpss ]  
 [m3vpss ]  Elasped Time: 13 secs
 [m3vpss ]  
 [m3vpss ]  Output Request FPS   : 33 fps (433 frames)
 [m3vpss ]  Output Actual  FPS   : 33 fps (433 frames)
 [m3vpss ]  Output Drop    FPS   : 0 fps (0 frames)
 [m3vpss ]  Output Reject  FPS   : 0 fps (0 frames)
 [m3vpss ]  Scaling Internal     : 31 ms
 [m3vpss ]  Scaling Internal min : 32 ms
 [m3vpss ]  Scaling Internal max : 32 ms
 [m3vpss ]  
 [m3vpss ]  Win | Window Repeat Drop Recv Que  FID Invlid Acc Event          Invalid   Que Reject Reject Latency   OutBufCopy InBufCopy
 [m3vpss ]  Num | FPS    FPS    FPS  FPS  FPS  FPS        Count (Max/Min)    CH Frames Frames     Frames Min / Max FPS        FPS      
 [m3vpss ]  ---------------------------------------------------------------------------------------------------------------------------
 [m3vpss ]    0 |     33      0   30   60   33          0      396 (  3/  3)         0          0      0  20 /  44          0         0
 [m3vpss ]  
 [m3vpss ]  
 [m3vpss ]  *** [SWMS0] Mosaic Parameters ***
 [m3vpss ]  
 [m3vpss ]  Output FPS: 29
 [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 |  1024 x    384 |  4096 /  4096 | NON-TILED   |    0,    0 |  1024 x    768 |  2048 /      0 | NON-TILED   |       ON |    0 |  422I  |   OFF |
 [m3vpss ]  
 [m3vpss ]  
 [m3vpss ]  25751: DISPLAY: DVO2(BP1)  : 59 fps, Latency (Min / Max) = ( 68 / 84 ), Callback Interval (Min / Max) = ( 16 / 17 ) !!!
 [m3vpss ]  
 [m3vpss ]  31752: LOAD: CPU: 5.4% HWI: 0.9%, SWI:0.7%
 [m3vpss ]  
 [m3vpss ]  31752: LOAD: TSK: CAPTURE             : 1.2%
 [m3vpss ]  31752: LOAD: TSK: DISPLAY1            : 0.2%
 [m3vpss ]  31752: LOAD: TSK: SWMS0               : 0.7%
 [m3vpss ]  31752: LOAD: TSK: MISC                : 1.7%
 [m3vpss ]  
 [m3video]  
 [m3video]  32253: LOAD: CPU: 0.5% HWI: 0.2%, SWI:0.1%
 [m3video]  
 [m3video]  32253: LOAD: TSK: MISC                : 0.2%
 [m3video]  
 [c6xdsp ]  
 [c6xdsp ]  30173: LOAD: CPU: 0.1% HWI: 0.0%, SWI:0.0%
 [c6xdsp ]  
 [c6xdsp ]  30174: LOAD: TSK: MISC                : 0.1%
 [c6xdsp ] 

the total time delay max 84+64> 100ms,except capture link time delay,

how  can sw Link and dispaly cost so much time ?

Can anyone tell me how can this time delay reduced <=50ms?

best regards

xavier

  • For 60 fps input  you should configure the Swms layoutPrms output fps to 60 so that all 60 fields are composed and displayed. For reducing latency pls migrate to DVR RDK 4.0 where the displayLink supports a low latency mode such that frames are queued in ISR. Also you should limit the maxInputQueuLen of Swms so that swms doesn't accumulate frames

  • Hi Badri:

    I see the dvrrdk 4.0 release file, i do find the  low latency mode,

    But i am not understand what queued in ISR(ISR?), 

    And another question is how to use it and do ti test the time delay (for example  720p 60 video output )

    best regards

    xavier

  • This is a displayLink createParam. Refer /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti81xx/multich_car_dvr.c

    multich_cardvr_set_display_prms

    where displayPrm->queueInISRFlag     = TRUE;

    Latency info is printed when you invoke Vsys_printDetailedStatistics. Share the logs after this change and your usecase data flow

  • Hello Badri:

    today i changed the displayPrm->queueInISRFlag     = TRUE;

    And i use vcap_vdis demo to test, only 1chan connect with PAL video input,

    It do works,the follow is logs:

     [m3vpss ]  *** [SWMS1] Mosaic Statistics ***
     [m3vpss ]  
     [m3vpss ]  Elasped Time: 74 secs
     [m3vpss ]  
     [m3vpss ]  Output Request FPS   : 33 fps (2492 frames)
     [m3vpss ]  Output Actual  FPS   : 33 fps (2492 frames)
     [m3vpss ]  Output Drop    FPS   : 0 fps (0 frames)
     [m3vpss ]  Output Reject  FPS   : 0 fps (0 frames)
     [m3vpss ]  Scaling Internal     : 29 ms
     [m3vpss ]  Scaling Internal min : 28 ms
     [m3vpss ]  Scaling Internal max : 32 ms
     [m3vpss ]  
     [m3vpss ]  Win | Window Repeat Drop Recv Que  FID Invlid Acc Event          Invalid   Que Reject Reject Latency   OutBufCopy InBufCopy
     [m3vpss ]  Num | FPS    FPS    FPS  FPS  FPS  FPS        Count (Max/Min)    CH Frames Frames     Frames Min / Max FPS        FPS      
     [m3vpss ]  ---------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |     33      0   16   50   33          0     1206 (  4/  3)         0          0      0  57 /  89          0         0
     [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 | |
     [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 | |
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   720 x    576 |   720 /   720 | NON-TILED   |    0,    0 |  1920 x   1080 |  3840 /      0 | NON-TILED   |      OFF | |
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  336233: DISPLAY: HDDAC(BP0) : 59 fps, Latency (Min / Max) = ( 55 / 81 ), Callback Interval (Min / Max) = ( 16 / 17 ) DropCount:0 DispLatency (Mi
     [m3vpss ]  336233: DISPLAY DRV: HDDAC(BP0) : Q:[2601] Display:[4692], Repeat:[2092], DQ:[2600]
     [m3vpss ]  336233: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 4488, HDDAC(BP0) 4579, DVO2(BP1) 4579, SDDAC(SEC1) 11629
     [m3vpss ]  336233: SYSTEM  : FREE SPACE : System Heap      = 66544 B, Mbx = 10235 msgs)
     [m3vpss ]  336233: SYSTEM  : FREE SPACE : SR0 Heap         = 8712320 B (8 MB)
     [m3vpss ]  336234: SYSTEM  : FREE SPACE : Frame Buffer     = 3758976 B (3 MB)
     [m3vpss ]  336234: SYSTEM  : FREE SPACE : Bitstream Buffer = 161621888 B (154 MB)

    the original demo log:

     [m3vpss ]  *** [SWMS0] Mosaic Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time: 3 secs
     [m3vpss ] 
     [m3vpss ]  Output Request FPS   : 37 fps (111 frames)
     [m3vpss ]  Output Actual  FPS   : 37 fps (111 frames)
     [m3vpss ]  Output Drop    FPS   : 0 fps (0 frames)
     [m3vpss ]  Output Reject  FPS   : 0 fps (0 frames)
     [m3vpss ]  Scaling Internal     : 29 ms
     [m3vpss ]  Scaling Internal min : 29 ms
     [m3vpss ]  Scaling Internal max : 31 ms
     [m3vpss ] 
     [m3vpss ]  Win | Window Repeat Drop Recv Que  FID Invlid Acc Event          Invalid   Que Reject Reject Latency   OutBufCopy InBufCopy
     [m3vpss ]  Num | FPS    FPS    FPS  FPS  FPS  FPS        Count (Max/Min)    CH Frames Frames     Frames Min / Max FPS        FPS     
     [m3vpss ]  ---------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |     36      1   17   53   36          0       52 (  3/  3)         0          0      0  46 /  85          0         0
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS0] Mosaic Parameters ***
     [m3vpss ] 
     [m3vpss ]  Output FPS: 30
     [m3vpss ] 
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | |
     [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 | |
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   720 x    576 |   720 /   720 | NON-TILED   |    0,    0 |  1920 x   1080 |  3840 /      0 | NON-TILED   |      OFF | |
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [SWMS1] Mosaic Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time: 3 secs
     [m3vpss ] 
     [m3vpss ]  Output Request FPS   : 37 fps (111 frames)
     [m3vpss ]  Output Actual  FPS   : 37 fps (111 frames)
     [m3vpss ]  Output Drop    FPS   : 0 fps (0 frames)
     [m3vpss ]  Output Reject  FPS   : 0 fps (0 frames)
     [m3vpss ]  Scaling Internal     : 29 ms
     [m3vpss ]  Scaling Internal min : 29 ms
     [m3vpss ]  Scaling Internal max : 31 ms
     [m3vpss ] 
     [m3vpss ]  Win | Window Repeat Drop Recv Que  FID Invlid Acc Event          Invalid   Que Reject Reject Latency   OutBufCopy InBufCopy
     [m3vpss ]  Num | FPS    FPS    FPS  FPS  FPS  FPS        Count (Max/Min)    CH Frames Frames     Frames Min / Max FPS        FPS     
     [m3vpss ]  ---------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |     36      1   17   53   36          0       51 (  4/  3)         0          0      0  49 /  86          0         0
     [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 | |
     [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 | |
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   720 x    576 |   720 /   720 | NON-TILED   |    0,    0 |  1920 x   1080 |  3840 /      0 | NON-TILED   |      OFF | |
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  28671: DISPLAY: HDDAC(BP0) : 59 fps, Latency (Min / Max) = ( 71 / 87 ), Callback Interval (Min / Max) = ( 16 / 17 ) DropCount:0 DispLatency (Min
     [m3vpss ]  28671: DISPLAY DRV: HDDAC(BP0) : Q:[113] Display:[210], Repeat:[99], DQ:[110]
     [m3vpss ]  28671: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 209, HDDAC(BP0) 211, DVO2(BP1) 211, SDDAC(SEC1) 416
     [m3vpss ]  28671: SYSTEM  : FREE SPACE : System Heap      = 66544 B, Mbx = 10235 msgs)
     [m3vpss ]  28672: SYSTEM  : FREE SPACE : SR0 Heap         = 8713728 B (8 MB)
     [m3vpss ]  28672: SYSTEM  : FREE SPACE : Frame Buffer     = 3758976 B (3 MB)
     [m3vpss ]  28672: SYSTEM  : FREE SPACE : Bitstream Buffer = 161621888 B (154 MB)

    The time delay reduces 1.5 frame.

    Here I have another question that Can Dm8168 support external sync video display,

    I see the external sync video display option in dvrrdk, but i do not find input display pin to receive

    external sync signal to display like dm642,

    Can it be used in this way?

    best regards

    xavier

  • You data flow has issues. SwMs doesn't support deinterlacing in SwMs in RDK 4.0. This feature will be available only in next DVR RDK release.

    As you are displaying on 1080P60 progressive display you have to deinterlace in swms and output 60 fps only  then the latency calculation will be correct.The SwMs is outputiing only 30 fps which is wrong. It will result in alternate fields being dropped and also input queue length in swms will be large.

     

    Regarding the external sync video display pls post as separate thread so that relevant expert can answer.

     

  • Thank you for tell the deinterlace problem, i will add nsf link later

    and the log will share with you later