Hello:
our product need more real time stream
link chain: capture->swms->display
delay test method: camera focus on a stopwatch,then take a photo,the preview will delay than the sotpwatch
e2e now not support upload image?
stream input is 720P50,only use 1 channel(support 4channel)
my usecase code:
CaptureLink_CreateParams capturePrm, *pCapPrm = &capturePrm; CaptureLink_CreateParams_Init(pCapPrm); pCapPrm->numVipInst = 4; pCapPrm->enableSdCrop = FALSE; pCapPrm->doCropInCapture = FALSE; pCapPrm->tilerEnable = FALSE; pCapPrm->outQueParams[0].nextLink = scd_display_linkId_core.linkId_swms0; for(num=0; num<pCapPrm->numVipInst; num++) { pCapPrm->vipInst[num].vipInstId = VIP_IDs[num]; pCapPrm->vipInst[num].inDataFormat = SYSTEM_DF_YUV422P; if(num==3) { pCapPrm->vipInst[num].standard = SYSTEM_STD_1080P_30; } else { pCapPrm->vipInst[num].standard = SYSTEM_STD_1080P_30; } pCapPrm->vipInst[num].numOutput = 1; pCapPrm->vipInst[num].outParams[0].outQueId = 0; pCapPrm->vipInst[num].outParams[0].dataFormat = SYSTEM_DF_YUV420SP_UV; pCapPrm->vipInst[num].outParams[0].scEnable = FALSE; } SwMsLink_CreateParams swMsPrm,*pSwMsPrm = &swMsPrm; SwMsLink_CreateParams_Init(pSwMsPrm); pSwMsPrm->inQueParams.prevLinkId = scd_display_linkId_core.linkId_capture; pSwMsPrm->inQueParams.prevLinkQueId = 0; pSwMsPrm->outQueParams.nextLink = scd_display_linkId_core.linkId_display0; pSwMsPrm->numSwMsInst = 1; /* * fixme:why set two mosic SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI would be error; * set SYSTEM_SW_MS_SC_INST_SC5 would lost frame. * */ pSwMsPrm->swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; pSwMsPrm->swMsInstStartWin[0] = 0; pSwMsPrm->enableProcessTieWithDisplay = FALSE; pSwMsPrm->numOutBuf = 3; pSwMsPrm->maxInputQueLen = SYSTEM_SW_MS_INVALID_INPUT_QUE_LEN; pSwMsPrm->maxInputQueLen = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN; pSwMsPrm->maxOutRes = VSYS_STD_1080P_60; pSwMsPrm->lineSkipMode = FALSE; pSwMsPrm->enableLayoutGridDraw = FALSE; pSwMsPrm->enableOuputDup = FALSE; pSwMsPrm->outDataFormat = SYSTEM_DF_YUV422I_YUYV; pSwMsPrm->outputBufModified = TRUE; pSwMsPrm->layoutPrm.onlyCh2WinMapChanged = FALSE; pSwMsPrm->layoutPrm.outputFPS = 30; pSwMsPrm->initOutRes = VSYS_STD_1080P_60; pSwMsPrm->layoutPrm.numWin = 1; pSwMsPrm->layoutPrm.winInfo[0].channelNum = 0; pSwMsPrm->layoutPrm.winInfo[0].startX = 0; pSwMsPrm->layoutPrm.winInfo[0].startY = 0; pSwMsPrm->layoutPrm.winInfo[0].width = 1920; pSwMsPrm->layoutPrm.winInfo[0].height = 1080; pSwMsPrm->layoutPrm.winInfo[0].bypass = TRUE; DisplayLink_CreateParams displayPrm,*pDisPrm=&displayPrm; DisplayLink_CreateParams_Init(pDisPrm); pDisPrm->numInputQueues = 1; pDisPrm->inQueParams[0].prevLinkId = scd_display_linkId_core.linkId_swms0; pDisPrm->inQueParams[0].prevLinkQueId = 0; pDisPrm->activeQueue = 0; pDisPrm->displayRes = VSYS_STD_1080P_60; pDisPrm->displayId = DISPLAY_LINK_DISPLAY_BP0;
system log:
[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 | 1345 1345 0 51 51 0 1280 / 1280 720 / 720 1 0 0/0 (0/0) [m3vpss ] 100 | 1 1 0 0 0 0 65535 / 0 65535 / 0 1 0 0/0 (0/0) [m3vpss ] 200 | 1 1 0 0 0 0 65535 / 0 65535 / 0 1 0 0/0 (0/0) [m3vpss ] 300 | 806 806 0 31 31 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 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 : 8342697 [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 = 973, 990) [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 ] 17281870: CAPTURE: Fields = 2149 (fps = 79, CPU Load = 0) [m3vpss ] 17281870: CAPTURE: Num Resets = 0 (Avg 0 ms per reset) [m3vpss ] [m3vpss ] *** [SWMS0] Mosaic Statistics *** [m3vpss ] [m3vpss ] Elasped Time: 14 secs [m3vpss ] [m3vpss ] Output Request FPS : 34 fps (480 frames) [m3vpss ] Output Actual FPS : 34 fps (480 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 : 30 ms [m3vpss ] Scaling Internal max : 30 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 | 34 0 17 34 34 0 240 ( 3/ 3) 0 0 0 40 / 61 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 | 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 | 1920 x 540 | 3840 / 3840 | NON-TILED | 0, 0 | 1920 x 1080 | 3840 / 0 | NON-TILED | ON | 0 | 420SP | OFF | [m3vpss ] [m3vpss ] [m3vpss ] 17284570: DISPLAY: HDDAC(BP0) : 60 fps, Latency (Min / Max) = ( 73 / 87 ), Callback Interval (Min / Max) = ( 16 / 17 ) !!! [m3vpss ] 17284570: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 865, HDDAC(BP0) 865, DVO2(BP1) 1731, SDDAC(SEC1) 1762 [m3vpss ] [m3vpss ] 17290571: LOAD: CPU: 4.7% HWI: 0.8%, SWI:0.8% [m3vpss ] [m3vpss ] 17290571: LOAD: TSK: CAPTURE : 0.3% [m3vpss ] 17290571: LOAD: TSK: DISPLAY0 : 0.2% [m3vpss ] 17290571: LOAD: TSK: SWMS0 : 0.5% [m3vpss ] 17290571: LOAD: TSK: MISC : 2.1% [m3vpss ] [m3video] [m3video] 17291072: LOAD: CPU: 0.6% HWI: 0.3%, SWI:0.1% [m3video] [m3video] 17291072: LOAD: TSK: MISC : 0.2% [m3video] [c6xdsp ] [c6xdsp ] 17289133: LOAD: CPU: 0.1% HWI: 0.0%, SWI:0.0% [c6xdsp ] [c6xdsp ] 17289133: LOAD: TSK: MISC : 0.1% [c6xdsp ]
Iwant to reduce the capture delay. maybe you can give me some advice to debug this issue!