Part Number: TDA2EVM5777
Hi,
I trying to add a alg_framecopy in lvds_vip_multi_cam_view, the chains show below
Capture -> Alg_FrameCopy (DSP1) -> Dup -> Sync -> Alg_VpeSwMs -> Merge
Dup -> Merge
Merge -> Display_video
GrpxSrc -> Display_Grpx
And I set the parameters for alg_framecopy show below
Void chains_lvdsVipMultiCam_Display_SetFrameCopyAlgPrms(
AlgorithmLink_FrameCopyCreateParams *pPrm,
Chains_Ctrl *chainsCfg){
Vps_printf("enterrrrrrrr:%s,%d\n",__func__,__LINE__);
if( chainsCfg->algProcId == SYSTEM_PROC_DSP1
||
chainsCfg->algProcId == SYSTEM_PROC_DSP2)
{
pPrm->baseClassCreate.algId = ALGORITHM_LINK_DSP_ALG_FRAMECOPY;
}
else if( chainsCfg->algProcId == SYSTEM_PROC_EVE1
||
chainsCfg->algProcId == SYSTEM_PROC_EVE2
||
chainsCfg->algProcId == SYSTEM_PROC_EVE3
||
chainsCfg->algProcId == SYSTEM_PROC_EVE4)
{
pPrm->baseClassCreate.algId = ALGORITHM_LINK_EVE_ALG_FRAMECOPY;
}
else if(chainsCfg->algProcId == SYSTEM_PROC_A15_0)
{
pPrm->baseClassCreate.algId = ALGORITHM_LINK_A15_ALG_FRAMECOPY;
}
pPrm->maxWidth = CAPTURE_SENSOR_WIDTH;
pPrm->maxHeight = CAPTURE_SENSOR_HEIGHT;
pPrm->numOutputFrames = 3;
}
When I capture only 1 channel lvds, the usecase run well.But when I try to capture 4 channels lvds,it's failed.The log show below
[IPU1-0] Multi-Camera LVDS Usecases [IPU1-0] ---------------------------- [IPU1-0] 1: 4CH VIP Capture + Mosaic Display [IPU1-0] 2: 4CH VIP Capture + Surround View (DSP) + Display (HDMI) [IPU1-0] 3: 5CH VIP Capture + Surround View (DSPx) + Analytics (DSP/EVE) + Ultrasound (DSPx) + HDMI Display (HDMI) (TDA2x ONLY) [IPU1-0] 5: 2CH VIP Capture (2560x720) + Surround View (DSPx) + Display (TDA2x + TIDA0455 only) [IPU1-0] 6: Surround View Calibration [IPU1-0] [IPU1-0] x: Exit [IPU1-0] [IPU1-0] Enter Choice: [IPU1-0] [IPU1-0] 22.764259 s: [IPU1-0] 22.764350 s: [IPU1-0] [IPU1-0] ==================== [IPU1-0] Num CH Settings [IPU1-0] ==================== [IPU1-0] [IPU1-0] 0: For Single channel mode [IPU1-0] 1: For Multi channel mode [IPU1-0] [IPU1-0] Enter Choice: [IPU1-0] [IPU1-0] 24.028426 s: CHAINS: ChainsCommon_MultiCam_StartCaptureDevice [IPU1-0] 24.029128 s: VIDEO_SENSOR: INST1 : I2C1 : I2C Addr = 0x38 [IPU1-0] 24.278411 s: VIDEO_SENSOR: VIP 0: DRV ID 1205 (I2C ADDR 0x38): a635:0000:7fa2 [IPU1-0] 24.278899 s: VIDEO_SENSOR: INST2 : I2C1 : I2C Addr = 0x39 [IPU1-0] 24.628865 s: VIDEO_SENSOR: VIP 2: DRV ID 1205 (I2C ADDR 0x39): a635:0000:7fa2 [IPU1-0] 24.629567 s: VIDEO_SENSOR: INST3 : I2C1 : I2C Addr = 0x3a [IPU1-0] 24.979106 s: VIDEO_SENSOR: VIP 4: DRV ID 1205 (I2C ADDR 0x3a): a635:0000:7fa2 [IPU1-0] 24.979594 s: VIDEO_SENSOR: INST4 : I2C1 : I2C Addr = 0x3b [IPU1-0] 25.328890 s: VIDEO_SENSOR: VIP 8: DRV ID 1205 (I2C ADDR 0x3b): a635:0000:7fa2 [IPU1-0] 26.098334 s: enterrrrrrrr:chains_lvdsVipMultiCam_Display_SetFrameCopyAlgPrms,288 [IPU1-0] 26.098487 s: CAPTURE: Create in progress !!! [IPU1-0] 26.098700 s: CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!! [IPU1-0] 26.223723 s: CAPTURE: VIP1 Slice1 PortA capture mode is [ 8-bit] !!! [IPU1-0] 26.348776 s: CAPTURE: VIP2 Slice0 PortA capture mode is [ 8-bit] !!! [IPU1-0] 26.473860 s: CAPTURE: VIP3 Slice0 PortA capture mode is [ 8-bit] !!! [IPU1-0] 26.599036 s: CAPTURE: Create Done !!! [IPU1-0] 26.599402 s: IPC_OUT_0 : Create in progress !!! [IPU1-0] 26.599707 s: IPC_OUT_0 : Create Done !!! [DSP1 ] 26.599920 s: IPC_IN_0 : Create in progress !!! [DSP1 ] 26.600286 s: IPC_IN_0 : Create Done !!! [DSP1 ] 26.600439 s: ALGORITHM: Create in progress (algId = 0) !!! [DSP1 ] 26.600561 s: ALG_FRAMECOPY: DMA: Allocated CH (TCC) = 0 (0) [DSP1 ] 26.658573 s: Assertion @ Line: 420 in algorithmLink_algPluginSupport.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! [DSP1 ] 26.658756 s: Assertion @ Line: 420 in algorithmLink_algPluginSupport.c: status == SYSTEM_LINK_STATUS_SOK : failed !!!
I think it 's because the channel of framecopy doesn't match the capture.So, how do I set the channel for framecopy?