Void MultiCh_createStreamCaptureDisplay() { printf( "#### [host] (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); #if 0 CameraLink_CreateParams cameraPrm; CameraLink_VipInstParams *pCameraInstPrm; CameraLink_OutParams *pCameraOutPrm; #else CaptureLink_CreateParams capturePrm; CaptureLink_VipInstParams *pCaptureInstPrm; CaptureLink_OutParams *pCaptureOutPrm; #endif NullLink_CreateParams hdNullPrm; NullLink_CreateParams sdNullPrm; DisplayLink_CreateParams displayPrm; DisplayLink_CreateParams displayPrm_SD; UInt32 hdNullId; UInt32 sdNullId; UInt32 dupId[NUM_DUP_LINK]; DupLink_CreateParams dupPrm[NUM_DUP_LINK]; /* mark by Vic_Lin */ #if 0 #ifdef YUV_FRAMES_TO_A8 System_LinkInfo framesProducerLinkInfo; IpcFramesOutLinkRTOS_CreateParams ipcFramesOutVpssToHostPrm; IpcFramesInLinkHLOS_CreateParams ipcFramesInHostPrm; IpcFramesOutLinkHLOS_CreateParams ipcFramesOutHostPrm; IpcFramesInLinkRTOS_CreateParams ipcFramesInVpssFromHostPrm; MULTICH_INIT_STRUCT(IpcFramesOutLinkRTOS_CreateParams ,ipcFramesOutVpssToHostPrm); MULTICH_INIT_STRUCT(IpcFramesInLinkHLOS_CreateParams ,ipcFramesInHostPrm); MULTICH_INIT_STRUCT(IpcFramesOutLinkHLOS_CreateParams ,ipcFramesOutHostPrm); MULTICH_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams ,ipcFramesInVpssFromHostPrm); gVcamModuleContext.ipcFramesOutVpssToHostId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1; gVcamModuleContext.ipcFramesInHostId = SYSTEM_HOST_LINK_ID_IPC_FRAMES_IN_0; gVdisModuleContext.ipcFramesOutHostId = SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0; gVdisModuleContext.ipcFramesInVpssFromHostId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_IN_0; #endif #ifdef RAW_FRAMES_TO_A8 IspLink_CreateParams ispPrm; UInt32 ispId; IpcFramesOutLinkRTOS_CreateParams ipcFramesOutVpssToHostPrm; IpcFramesInLinkHLOS_CreateParams ipcFramesInHostPrm; MULTICH_INIT_STRUCT(IpcFramesOutLinkRTOS_CreateParams ,ipcFramesOutVpssToHostPrm); MULTICH_INIT_STRUCT(IpcFramesInLinkHLOS_CreateParams ,ipcFramesInHostPrm); gVcamModuleContext.ipcFramesOutVpssToHostId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1; gVcamModuleContext.ipcFramesInHostId = SYSTEM_HOST_LINK_ID_IPC_FRAMES_IN_0; dupId[RAW_DUP_IDX] = SYSTEM_VPSS_LINK_ID_DUP_2; ispId = SYSTEM_LINK_ID_ISP_0; #endif #endif /* System init */ // System_init(); printf( "#### [host] Capture + Display -> SDTV (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); // OSA_printf("********* Entered Capture + Display usecase - H264 1080p @60 fps, H264 D1 @30fps ********\n\n"); gVcapModuleContext.vcapConfig.enableConfigExtVideoDecoder = TRUE; MultiCh_detectBoard(); System_linkControl(SYSTEM_LINK_ID_M3VPSS, SYSTEM_M3VPSS_CMD_RESET_VIDEO_DEVICES, NULL, 0, TRUE); #if 0 gVcamModuleContext.cameraId = SYSTEM_LINK_ID_CAMERA; #else gVcapModuleContext.captureId = SYSTEM_LINK_ID_CAPTURE; #endif /* dup Link IDs*/ dupId[HDMIDIS_DUP_IDX] = SYSTEM_VPSS_LINK_ID_DUP_0; dupId[TVOUT_DUP_IDX] = SYSTEM_VPSS_LINK_ID_DUP_1; /* display IDs */ gVdisModuleContext.displayId[0] = SYSTEM_LINK_ID_DISPLAY_0; /* ON AND OFF * CHIP HDMI */ gVdisModuleContext.displayId[VDIS_DEV_SD] = SYSTEM_LINK_ID_DISPLAY_2; /* null link IDs*/ hdNullId = SYSTEM_VPSS_LINK_ID_NULL_0; sdNullId = SYSTEM_VPSS_LINK_ID_NULL_1; #ifdef RAW_FRAMES_TO_A8 printf( "#### [host] !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); /* Camera Link params */ CameraLink_CreateParams_Init(&cameraPrm); cameraPrm.captureMode = CAMERA_LINK_CAPMODE_DDR; cameraPrm.outQueParams[0].nextLink = dupId[RAW_DUP_IDX]; cameraPrm.ispLinkId = ispId; /* This is for TVP5158 Audio Channels - Change it to 16 if there are 16 * audio channels connected in cascade */ cameraPrm.numAudioChannels = 0; cameraPrm.numVipInst = 1; cameraPrm.tilerEnable = FALSE; pCameraInstPrm = &cameraPrm.vipInst[0]; pCameraInstPrm->vipInstId = SYSTEM_CAMERA_INST_VP_CSI2; pCameraInstPrm->videoDecoderId = MultiCh_getSensorId(gUI_mcfw_config.sensorId); pCameraInstPrm->inDataFormat = SYSTEM_DF_YUV420SP_UV; pCameraInstPrm->sensorOutWidth = 1920; pCameraInstPrm->sensorOutHeight = 1080; pCameraInstPrm->standard = SYSTEM_STD_1080P_30; pCameraInstPrm->numOutput = 1; pCameraOutPrm = &pCameraInstPrm->outParams[0]; pCameraOutPrm->dataFormat = SYSTEM_DF_BAYER_RAW; pCameraOutPrm->scEnable = FALSE; pCameraOutPrm->scOutWidth = 1920; pCameraOutPrm->scOutHeight = 1080; pCameraOutPrm->outQueId = 0; /* 2A config */ cameraPrm.t2aConfig.n2A_vendor = gUI_mcfw_config.n2A_vendor; cameraPrm.t2aConfig.n2A_mode = gUI_mcfw_config.n2A_mode; dupPrm[RAW_DUP_IDX].inQueParams.prevLinkId = gVcamModuleContext.cameraId; dupPrm[RAW_DUP_IDX].inQueParams.prevLinkQueId = 0; dupPrm[RAW_DUP_IDX].numOutQue = 2; dupPrm[RAW_DUP_IDX].outQueParams[0].nextLink = ispId; dupPrm[RAW_DUP_IDX].outQueParams[1].nextLink = gVcamModuleContext.ipcFramesOutVpssToHostId; dupPrm[RAW_DUP_IDX].notifyNextLink = TRUE; #else #if 0 /* Camera Link params */ CameraLink_CreateParams_Init(&cameraPrm); cameraPrm.captureMode = CAMERA_LINK_CAPMODE_ISIF; cameraPrm.outQueParams[0].nextLink = dupId[HDMIDIS_DUP_IDX] ; cameraPrm.outQueParams[1].nextLink = dupId[TVOUT_DUP_IDX]; /* This is for TVP5158 Audio Channels - Change it to 16 if there are 16 audio channels connected in cascade */ cameraPrm.numAudioChannels = 0; cameraPrm.numVipInst = 1; cameraPrm.tilerEnable = FALSE; cameraPrm.vsEnable = 0; pCameraInstPrm = &cameraPrm.vipInst[0]; pCameraInstPrm->vipInstId = SYSTEM_CAMERA_INST_VP_CSI2; pCameraInstPrm->videoDecoderId = MultiCh_getSensorId(gUI_mcfw_config.sensorId); pCameraInstPrm->inDataFormat = SYSTEM_DF_YUV420SP_UV; pCameraInstPrm->sensorOutWidth = 1920; pCameraInstPrm->sensorOutHeight = 1080; #ifdef YUV_FRAMES_TO_A8 pCameraInstPrm->standard = SYSTEM_STD_1080P_30; #else pCameraInstPrm->standard = SYSTEM_STD_1080P_60; #endif pCameraInstPrm->numOutput = 2; /* First stream */ pCameraOutPrm = &pCameraInstPrm->outParams[0]; pCameraOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; //SYSTEM_DF_YUV420SP_VU;//SYSTEM_DF_YUV422I_VYUY; pCameraOutPrm->scEnable = FALSE; pCameraOutPrm->scOutWidth = 1920; pCameraOutPrm->scOutHeight = 1080; pCameraOutPrm->outQueId = 0; /* Second stream */ pCameraOutPrm = &pCameraInstPrm->outParams[1]; pCameraOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; pCameraOutPrm->scEnable = FALSE; pCameraOutPrm->scOutWidth = 720; pCameraOutPrm->scOutHeight = 480; pCameraOutPrm->standard = SYSTEM_STD_NTSC;//SYSTEM_STD_PAL; pCameraOutPrm->outQueId = 1; /* 2A config */ cameraPrm.t2aConfig.n2A_vendor = gUI_mcfw_config.n2A_vendor; cameraPrm.t2aConfig.n2A_mode = gUI_mcfw_config.n2A_mode; #else //---------------------------- CaptureLink_CreateParams_Init(&capturePrm); capturePrm.outQueParams[0].nextLink = dupId[HDMIDIS_DUP_IDX] ; capturePrm.outQueParams[1].nextLink = dupId[TVOUT_DUP_IDX]; capturePrm.numAudioChannels = 0; capturePrm.numVipInst = 1; capturePrm.tilerEnable = FALSE; // capturePrm.vsEnable = 0; pCaptureInstPrm = &capturePrm.vipInst[0]; pCaptureInstPrm->vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA; pCaptureInstPrm->videoDecoderId = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV; pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV420SP_UV; /* TODO check format */ // pCaptureInstPrm->sensorOutWidth = 1920; /* TODO out width & height */ // pCaptureInstPrm->sensorOutHeight = 1080; pCaptureInstPrm->standard = SYSTEM_STD_NTSC; /* TODO check standard */ pCaptureInstPrm->numOutput = 2; /* First stream */ pCaptureOutPrm = &pCaptureInstPrm->outParams[0]; pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; //SYSTEM_DF_YUV420SP_VU;//SYSTEM_DF_YUV422I_VYUY; pCaptureOutPrm->scEnable = FALSE; pCaptureOutPrm->scOutWidth = 1920; pCaptureOutPrm->scOutHeight = 1080; pCaptureOutPrm->outQueId = 0; /* Second stream */ pCaptureOutPrm = &pCaptureInstPrm->outParams[1]; pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; pCaptureOutPrm->scEnable = FALSE; pCaptureOutPrm->scOutWidth = 720; pCaptureOutPrm->scOutHeight = 480; // pCaptureOutPrm->standard = SYSTEM_STD_NTSC;//SYSTEM_STD_PAL; pCaptureOutPrm->outQueId = 1; // cameraPrm.t2aConfig.n2A_vendor = gUI_mcfw_config.n2A_vendor; // cameraPrm.t2aConfig.n2A_mode = gUI_mcfw_config.n2A_mode; //---------------------------- #endif #endif #ifdef RAW_FRAMES_TO_A8 printf( "#### [host] ERR: RAW_FRAMES_TO_A8 !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); /* isp link params */ ispPrm.inQueParams.prevLinkId = dupId[RAW_DUP_IDX]; ispPrm.inQueParams.prevLinkQueId = 0; ispPrm.numOutQueue = 2; ispPrm.outQueInfo[0].nextLink = dupId[HDMIDIS_DUP_IDX]; ispPrm.outQueInfo[1].nextLink = dupId[TVOUT_DUP_IDX]; ispPrm.clkDivM = 10; ispPrm.clkDivN = 20; ispPrm.vsEnable = FALSE; ispPrm.outQueuePrm[0].dataFormat = SYSTEM_DF_YUV422I_VYUY; ispPrm.outQueuePrm[0].width = 1920; ispPrm.outQueuePrm[0].height = 1080; ispPrm.outQueuePrm[1].dataFormat = SYSTEM_DF_YUV420SP_VU; ispPrm.outQueuePrm[1].width = 720; ispPrm.outQueuePrm[1].height = 480; ispPrm.outQueuePrm[1].standard = SYSTEM_STD_NTSC;//SYSTEM_STD_PAL;//SYSTEM_STD_NTSC; #endif /* dup link parameters*/ #ifdef RAW_FRAMES_TO_A8 printf( "#### [host] ERR: RAW_FRAMES_TO_A8 !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); dupPrm[HDMIDIS_DUP_IDX].inQueParams.prevLinkId = ispId; #else dupPrm[HDMIDIS_DUP_IDX].inQueParams.prevLinkId = gVcapModuleContext.captureId; //gVcamModuleContext.cameraId; #endif dupPrm[HDMIDIS_DUP_IDX].inQueParams.prevLinkQueId = 0; dupPrm[HDMIDIS_DUP_IDX].numOutQue = 2; dupPrm[HDMIDIS_DUP_IDX].outQueParams[0].nextLink = gVdisModuleContext.displayId[0]; dupPrm[HDMIDIS_DUP_IDX].outQueParams[1].nextLink = hdNullId; dupPrm[HDMIDIS_DUP_IDX].notifyNextLink = TRUE; #ifdef RAW_FRAMES_TO_A8 printf( "#### [host] ERR: RAW_FRAMES_TO_A8 !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); dupPrm[TVOUT_DUP_IDX].inQueParams.prevLinkId = ispId; #else dupPrm[TVOUT_DUP_IDX].inQueParams.prevLinkId = gVcapModuleContext.captureId; //gVcamModuleContext.cameraId; #endif dupPrm[TVOUT_DUP_IDX].inQueParams.prevLinkQueId = 1; dupPrm[TVOUT_DUP_IDX].numOutQue = 2; #ifdef YUV_FRAMES_TO_A8 printf( "#### [host] !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); dupPrm[TVOUT_DUP_IDX].outQueParams[0].nextLink = gVcapModuleContext.ipcFramesOutVpssToHostId; //gVcamModuleContext.ipcFramesOutVpssToHostId; /* Set ipcFramesOutVpss link info */ ipcFramesOutVpssToHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesOutVpssToHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesOutVpssToHostPrm.baseCreateParams.notifyPrevLink = TRUE; ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkId = dupId[TVOUT_DUP_IDX]; ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesOutVpssToHostPrm.baseCreateParams.outQueParams[0].nextLink = gVcapModuleContext.ipcFramesInHostId; //gVcamModuleContext.ipcFramesInHostId; ipcFramesInHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesInHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesInHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesInHostPrm.baseCreateParams.inQueParams.prevLinkId = gVcapModuleContext.ipcFramesOutVpssToHostId; //gVcamModuleContext.ipcFramesOutVpssToHostId; ipcFramesInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; ipcFramesInHostPrm.exportOnlyPhyAddr = TRUE; ipcFramesInHostPrm.cbCtx = &gVcapModuleContext; //&gVcamModuleContext; ipcFramesInHostPrm.cbFxn = Vcap_ipcFramesInCbFxn; //Vcam_ipcFramesInCbFxn; ipcFramesOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkId = SYSTEM_LINK_ID_INVALID; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesOutHostPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.ipcFramesInVpssFromHostId; ipcFramesInVpssFromHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyNextLink = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkId = gVdisModuleContext.ipcFramesOutHostId; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesInVpssFromHostPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.displayId[VDIS_DEV_SD]; #else dupPrm[TVOUT_DUP_IDX].outQueParams[0].nextLink = gVdisModuleContext.displayId[VDIS_DEV_SD]; #endif #ifdef RAW_FRAMES_TO_A8 printf( "#### [host] !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); /* Set ipcFramesOutVpss link info */ ipcFramesOutVpssToHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesOutVpssToHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesOutVpssToHostPrm.baseCreateParams.notifyPrevLink = TRUE; ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkId = dupId[RAW_DUP_IDX]; ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 1; ipcFramesOutVpssToHostPrm.baseCreateParams.outQueParams[0].nextLink = gVcapModuleContext.ipcFramesInHostId; //gVcamModuleContext.ipcFramesInHostId; ipcFramesInHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesInHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesInHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesInHostPrm.baseCreateParams.inQueParams.prevLinkId = gVcapModuleContext.ipcFramesOutVpssToHostId; //gVcamModuleContext.ipcFramesOutVpssToHostId; ipcFramesInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; ipcFramesInHostPrm.exportOnlyPhyAddr = TRUE; ipcFramesInHostPrm.cbCtx = &gVcapModuleContext; //&gVcamModuleContext; ipcFramesInHostPrm.cbFxn = Vcap_ipcFramesInCbFxn; //Vcam_ipcFramesInCbFxn; #endif dupPrm[TVOUT_DUP_IDX].outQueParams[1].nextLink = sdNullId; dupPrm[TVOUT_DUP_IDX].notifyNextLink = TRUE; /* display link params */ MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm); displayPrm.inQueParams[0].prevLinkId = dupId[HDMIDIS_DUP_IDX] ; displayPrm.inQueParams[0].prevLinkQueId = 0; displayPrm.displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_HDMI].resolution; displayPrm.displayId = DISPLAY_LINK_DISPLAY_SC2; MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm_SD); #ifdef YUV_FRAMES_TO_A8 displayPrm_SD.inQueParams[0].prevLinkId = gVcapModuleContext.ipcFramesInHostId; //gVcamModuleContext.ipcFramesInHostId; #else displayPrm_SD.inQueParams[0].prevLinkId = dupId[TVOUT_DUP_IDX]; #endif displayPrm_SD.inQueParams[0].prevLinkQueId = 0; displayPrm_SD.displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; displayPrm_SD.displayId = DISPLAY_LINK_DISPLAY_SD; // MultiCh_displayCtrlInit(&gVdisModuleContext.vdisConfig); /* null Link Params */ hdNullPrm.numInQue = 1; hdNullPrm.inQueParams[0].prevLinkId = dupId[HDMIDIS_DUP_IDX]; hdNullPrm.inQueParams[0].prevLinkQueId = 1; sdNullPrm.numInQue = 1; sdNullPrm.inQueParams[0].prevLinkId = dupId[TVOUT_DUP_IDX]; sdNullPrm.inQueParams[0].prevLinkQueId = 1; /* Links Creation */ #if 0 /* Camera Link */ System_linkCreate(gVcamModuleContext.cameraId, &cameraPrm, sizeof(cameraPrm)); System_linkControl(gVcamModuleContext.cameraId, CAMERA_LINK_CMD_DETECT_VIDEO, NULL, 0, TRUE); #else /* Capture Link */ System_linkCreate(gVcapModuleContext.captureId, &capturePrm, sizeof(capturePrm)); System_linkControl(gVcapModuleContext.captureId, CAMERA_LINK_CMD_DETECT_VIDEO, NULL, 0, TRUE); #endif #ifdef RAW_FRAMES_TO_A8 printf( "#### [host] !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); System_linkCreate(dupId[RAW_DUP_IDX], &dupPrm[RAW_DUP_IDX], sizeof(dupPrm[RAW_DUP_IDX])); /* cam pp link create */ System_linkCreate(ispId, &ispPrm,sizeof(ispPrm)); #if 0 System_linkCreate(gVcamModuleContext.ipcFramesOutVpssToHostId, &ipcFramesOutVpssToHostPrm, sizeof(ipcFramesOutVpssToHostPrm)); System_linkCreate(gVcamModuleContext.ipcFramesInHostId, &ipcFramesInHostPrm, sizeof(ipcFramesInHostPrm)); #else System_linkCreate(gVcapModuleContext.ipcFramesOutVpssToHostId, &ipcFramesOutVpssToHostPrm, sizeof(ipcFramesOutVpssToHostPrm)); System_linkCreate(gVcapModuleContext.ipcFramesInHostId, &ipcFramesInHostPrm, sizeof(ipcFramesInHostPrm)); #endif #endif /*dup link*/ System_linkCreate(dupId[HDMIDIS_DUP_IDX], &dupPrm[HDMIDIS_DUP_IDX], sizeof(dupPrm[HDMIDIS_DUP_IDX])); System_linkCreate(dupId[TVOUT_DUP_IDX], &dupPrm[TVOUT_DUP_IDX], sizeof(dupPrm[TVOUT_DUP_IDX])); /* null Link */ System_linkCreate(hdNullId, &hdNullPrm, sizeof(hdNullPrm)); System_linkCreate(sdNullId,&sdNullPrm, sizeof(sdNullPrm)); #ifdef YUV_FRAMES_TO_A8 printf( "#### [host] !!!! (%s:%s:%d)\n", __FILE__, __FUNCTION__, __LINE__ ); #if 0 System_linkCreate(gVcamModuleContext.ipcFramesOutVpssToHostId, &ipcFramesOutVpssToHostPrm, sizeof(ipcFramesOutVpssToHostPrm)); System_linkCreate(gVcamModuleContext.ipcFramesInHostId, &ipcFramesInHostPrm, sizeof(ipcFramesInHostPrm)); System_linkGetInfo(gVcamModuleContext.ipcFramesInHostId,&framesProducerLinkInfo); #else System_linkCreate(gVcapModuleContext.ipcFramesOutVpssToHostId, &ipcFramesOutVpssToHostPrm, sizeof(ipcFramesOutVpssToHostPrm)); System_linkCreate(gVcapModuleContext.ipcFramesInHostId, &ipcFramesInHostPrm, sizeof(ipcFramesInHostPrm)); System_linkGetInfo(gVcapModuleContext.ipcFramesInHostId,&framesProducerLinkInfo); #endif OSA_assert(framesProducerLinkInfo.numQue == 1); ipcFramesOutHostPrm.inQueInfo = framesProducerLinkInfo.queInfo[0]; System_linkCreate(gVdisModuleContext.ipcFramesOutHostId, &ipcFramesOutHostPrm, sizeof(ipcFramesOutHostPrm)); System_linkCreate(gVdisModuleContext.ipcFramesInVpssFromHostId, &ipcFramesInVpssFromHostPrm, sizeof(ipcFramesInVpssFromHostPrm)); #endif /* display link */ System_linkCreate(gVdisModuleContext.displayId[0], &displayPrm, sizeof(displayPrm)); System_linkCreate(gVdisModuleContext.displayId[VDIS_DEV_SD], &displayPrm_SD, sizeof(displayPrm_SD)); MultiCh_memPrintHeapStatus(); OSA_printf("USECASE SETUP DONE\n"); }