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.

[参考译文] TDA4VH-Q1:在尝试初始化 DSS_DISPLAY 和 DSS_COL颜色 转换时、DSS 初始化挂起

Guru**** 2455360 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1488276/tda4vh-q1-dss-init-hangs-when-try-to-initialize-dss_display-and-dss_colorconversion

器件型号:TDA4VH-Q1

工具与软件:

对于 DISPLAY_TYPE_EDP 的显示设置驱动程序:

DSS_initParamsInit (&dssInitParams);

dssInitParams.socParams.rmInfo.isCommRegAvailable[0U]= true;
dssInitParams.socParams.rmInfo.isCommRegAvailable[1U]= false;
dssInitParams.socParams.rmInfo.isCommRegAvailable[2U]= false;
dssInitParams.socParams.rmInfo.isCommRegAvailable[3U]= false;

dssInitParams.socParams.rmInfo.isPipeAvailable[0U]= true;
dssInitParams.socParams.rmInfo.isPipeAvailable[1U]= true;
dssInitParams.socParams.rmInfo.isPipeAvailable[2U]= true;
dssInitParams.socParams.rmInfo.isPipeAvailable[3U]= false;

dssInitParams.socParams.rmInfo.isOverlayAvailable[0U]= false;
dssInitParams.socParams.rmInfo.isOverlayAvailable[1U]= false;
dssInitParams.socParams.rmInfo.isOverlayAvailable[2U]= false;
dssInitParams.socParams.rmInfo.isOverlayAvailable[3U]= false;

dssInitParams.socParams.rmInfo.isPortAvailable[0U]= false;
dssInitParams.socParams.rmInfo.isPortAvailable[1U]= false;
dssInitParams.socParams.rmInfo.isPortAvailable[2U]= false;
dssInitParams.socParams.rmInfo.isPortAvailable[3U]= false;

dssInitParams.socParams.dpInitParams.isavailable = false;
dssInitParams.socParams.dpInitParams.isHpdSupported = false;
dssInitParams.socParams.dsiInitParams.isavailable = false;

dssInitParams.socParams.rmInfo.isOverlayAvailable[0U]= true;
dssInitParams.socParams.rmInfo.isPortAvailable[0U]= true;
dssInitParams.socParams.dpInitParams.isavailable = true;
dssInitParams.socParams.dpInitParams.isHpdSupported = false;// DSS 在示例应用中将其设置为 false

retVal = dss_init (&dsInsInitParams);

================================================================================================

对于 DSS 颜色转换驱动程序设置:

DSS_initParamsInit (&appObj->initParams);

appObj->initParams.socParams.irqParams.dssCommonRegionId = CSL_dss_COMM_REG_ID_1;
appObj->initParams.socParams.irqParams.numValidIrq = DSS_EVT_MGR_INST_ID_MAX;
appObj->initParams.socParams.irqParams.irqNum[DSS_EVT_MGR_INST_ID_FUNC]= 53u;
appObj->initParams.socParams.irqParams.irqNum[DSS_EVT_MGR_INST_ID_SAFETY]= 55u;
appObj->initParams.socParams.irqParams.irqNum[DSS_EVT_MGR_INST_ID_SECURITY]= 57u;
appObj->initParams.socParams.dpInitParams.isHpdSupported = UFALSE;

appObj->initParams.socParams.dpInitParams.isavailable = false;//已添加
appObj->initParams.socParams.dsiInitParams.isavailable = false;//已添加

DSS_init (&appObj->initParams);
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


如果我们为显示或 DSS 颜色转换使用单独的设置、则它可以正常工作。


但是,如果我们尝试同时使用这两个设置来运行显示和颜色转换,那么 DSS_init ()将永远挂起。
如下所示:

DSS_initParamsInit (&dssInitParams);
MON_PRINT_STR (DSS_initParamsInit ##\r\n"之后的"[DSS]);

dssInitParams.socParams.rmInfo.isCommRegAvailable[0U]= true;
dssInitParams.socParams.rmInfo.isCommRegAvailable[1U]= false;
dssInitParams.socParams.rmInfo.isCommRegAvailable[2U]= false;
dssInitParams.socParams.rmInfo.isCommRegAvailable[3U]= false;

dssInitParams.socParams.rmInfo.isPipeAvailable[0U]= true;
dssInitParams.socParams.rmInfo.isPipeAvailable[1U]= true;
dssInitParams.socParams.rmInfo.isPipeAvailable[2U]= true;
dssInitParams.socParams.rmInfo.isPipeAvailable[3U]= false;

dssInitParams.socParams.rmInfo.isOverlayAvailable[0U]= false;
dssInitParams.socParams.rmInfo.isOverlayAvailable[1U]= false;
dssInitParams.socParams.rmInfo.isOverlayAvailable[2U]= false;
dssInitParams.socParams.rmInfo.isOverlayAvailable[3U]= false;

dssInitParams.socParams.rmInfo.isPortAvailable[0U]= false;
dssInitParams.socParams.rmInfo.isPortAvailable[1U]= false;
dssInitParams.socParams.rmInfo.isPortAvailable[2U]= false;
dssInitParams.socParams.rmInfo.isPortAvailable[3U]= false;

dssInitParams.socParams.dpInitParams.isavailable = false;
dssInitParams.socParams.dpInitParams.isHpdSupported = false;
dssInitParams.socParams.dsiInitParams.isavailable = false;

//////// 用于 DSS 颜色转换的参数////
dssInitParams.socParams.irqParams.dssCommonRegionId = CSL_dss_COMM_REG_ID_1;
dssInitParams.socParams.irqParams.numValidIrq = DSS_EVT_MGR_INST_ID_MAX;
dssInitParams.socParams.irqParams.irqNum[DSS_EVT_MGR_INST_ID_FUNC]= 53u;
dssInitParams.socParams.irqParams.irqNum[DSS_EVT_MGR_INST_ID_SAFETY]= 55u;
dssInitParams.socParams.irqParams.irqNum[DSS_EVT_MGR_INST_ID_SECURITY]= 57u;
dssInitParams.socParams.dpInitParams.isHpdSupported = UFALSE;
dssInitParams.socParams.dpInitParams.isavailable = false;//添加了
dssInitParams.socParams.dsiInitParams.isavailable = false;//添加了
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

dssInitParams.socParams.rmInfo.isOverlayAvailable[0U]= true;
dssInitParams.socParams.rmInfo.isPortAvailable[0U]= true;
dssInitParams.socParams.dpInitParams.isavailable = true;
dssInitParams.socParams.dpInitParams.isHpdSupported = false;// DSS 在示例应用中将其设置为 false


retVal = dss_init (&dsInsInitParams); //进程在此处挂起

请指导我们如何同时运行这两个配置

要求是我们需要并行运行2个视频流水线

1. 捕获(NV12)→DSS ->显示器(显示器)

2. 捕获(NV12) →OpenGL (NV12到 RGB565)-> DDR →DSS 颜色转换(RGB565到 NV12)-> DDR ->编码器..........  

注意:不希望在 Display Monitor 上显示 DSS 颜色转换输出  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否在 vision apps (vision_apps\utils\dss\app_dss_defaults.c src)中检查我们的显示控制器实现?  我们能够在视觉应用中运行显示和 DSS M2M 代码。  

    此致、

    Brijesh