Hello:
SDK:
VisionSDK 3.05
Display data flow :
QT-APP -->weston(RGB)-->VDRM -->dispaly_m4-->lvds(yuv422)
- displaytype
gChains_usecaseCfg.displayType = CHAINS_DISPLAY_TYPE_LCD_10_INCH;
else if(displayType == CHAINS_DISPLAY_TYPE_LCD_10_INCH) { pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD; pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD1; pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI1_OUTPUT; pVInfo->vencOutputInfo.vsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; pVInfo->vencOutputInfo.hsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; /* Below are of dont care for EVM LCD */ pVInfo->vencOutputInfo.fidPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH; pVInfo->vencOutputInfo.actVidPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH; pVInfo->mInfo.standard = SYSTEM_STD_CUSTOM; pVInfo->mInfo.width = displayWidth; pVInfo->mInfo.height = displayHeight; pVInfo->mInfo.scanFormat = SYSTEM_SF_PROGRESSIVE; pVInfo->mInfo.pixelClock = 74500U; pVInfo->mInfo.fps = 60U; pVInfo->mInfo.hBackPorch = 80U; pVInfo->mInfo.hSyncLen = 62U; pVInfo->mInfo.hFrontPorch = 48U; pVInfo->mInfo.vBackPorch = 12U; pVInfo->mInfo.vSyncLen = 35U; pVInfo->mInfo.vFrontPorch = 6U; pVInfo->vencDivisorInfo.divisorLCD = 1; pVInfo->vencDivisorInfo.divisorPCD = 1; pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_RGB24_888; pVInfo->vencOutputInfo.dvoFormat = SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC; pVInfo->vencOutputInfo.videoIfWidth = SYSTEM_VIFW_24BIT; pVInfo->vencOutputInfo.pixelClkPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; pVInfo->vencOutputInfo.aFmt = SYSTEM_DCTRL_A_OUTPUT_MAX; /* Configure overlay params */ ovlyPrms->vencId = SYSTEM_DCTRL_DSS_VENC_LCD1;
- vdrm in dts
vdrm0: vdrm@0 { compatible = "ti,dra7-vdrm"; vdrm0_crtc0: crtc@0 { compatible = "ti,dra7-vdrm-crtc"; x-res = <1280>; y-res = <720>; refresh = <60>; supported-formats = <DT_DRM_FORMAT_XRGB8888 DT_DRM_FORMAT_ARGB8888>; }; };
sprintf((char *)pUcObj->DispDistSrc_westonPrm.vDrmControllerName, V_CONTROLLER_NAME); pUcObj->DispDistSrc_westonPrm.vDrmControllerObjectId = VDRM_CRTC; pUcObj->DispDistSrc_westonPrm.vDrmControllerObjectType = DISP_DIST_SRC_LINK_DRM_OBJECT_TYPE_CRTC; pUcObj->DispDistSrc_westonPrm.width = displayWidth; pUcObj->DispDistSrc_westonPrm.height = displayHeight; pUcObj->DispDistSrc_westonPrm.format = SYSTEM_DF_BGRX24_8888; DisplayLink_CreateParams *pPrm_display; pPrm_display = &pUcObj->Display_m4Prm; pPrm_display->rtParams.tarWidth = displayWidth; pPrm_display->rtParams.tarHeight = displayHeight; pPrm_display->rtParams.posX = 0; pPrm_display->rtParams.posY = 0; pPrm_display->displayId = DISPLAY_LINK_INST_DSS_VID1; ChainsCommon_SetDisplayPrms(&pUcObj->Display_m4Prm, NULL, pObj->chainsCfg->displayType, displayWidth, displayHeight);
and the document(PROCESSOR_SDK_VISION_03_07_00_00_Docs_Only/docs/TrainingSlides/Video_Drivers_Overview.pdf) say for video pipeline it can do color space conversion.
Question
- in this case, how we can directly output the RGB to yuv over LVDS
- or configure the weston output to yuv422
- Can we set pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_YUV422I_YUYV
Thanks.