zoukankan      html  css  js  c++  java
  • dra7xx: example for vdrm display

    example for vdrm display: this ca dispaly early boot and vdrm linux

    From vsdk0305, hlos support vdrm.

    commit b9beb57b5a2716aa2331b89784f7d613bc6c3dd5
    Author: xxx Zhang <xxx@xxx.com>
    Date:   Mon May 27 21:27:45 2019 +0800
    
        add vdrm display
    
    diff --git a/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c b/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c
    index 7e967ff..07640ac 100644
    --- a/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c
    +++ b/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c
    @@ -88,6 +88,25 @@ typedef struct {
     
     } Chains_DispDistSrcDisplayAppObj;
     
    +
    +Void chains_dispDistSrc_Display_SetGlobalAlphaPrms(Chains_DispDistSrcDisplayAppObj *appObj)
    +{
    +    DisplayCtrlLink_OvlyPipeParams pipeParams[4];
    +
    +    pipeParams[0].pipeLine = DISPLAY_LINK_INST_DSS_GFX1;
    +    pipeParams[0].globalAlpha = 0x88;
    +    pipeParams[0].preMulxxxplyAlpha = 0;
    +    pipeParams[0].zorderEnable = TRUE;
    +    pipeParams[0].zorder = SYSTEM_DSS_DISPC_ZORDER3;
    +
    +    pipeParams[1].pipeLine = DISPLAY_LINK_INST_DSS_VID3;
    +    pipeParams[1].globalAlpha = 0x88;
    +    pipeParams[1].preMulxxxplyAlpha = 0;
    +    pipeParams[1].zorderEnable = TRUE;
    +    pipeParams[1].zorder = SYSTEM_DSS_DISPC_ZORDER2;
    +
    +    ChainsCommon_dssOvlyPipeConfig(pipeParams, 2);
    +}
     /**
      *******************************************************************************
      *
    @@ -127,6 +146,7 @@ Void chains_dispDistSrc_Display_SetAppPrms(chains_dispDistSrc_DisplayObj *pUcObj
         pPrm_display->rtParams.posX             = 0;
         pPrm_display->rtParams.posY             = 0;
         pPrm_display->displayId                 = DISPLAY_LINK_INST_DSS_GFX1;
    +
     #if 0 /*controled by M4*/
         ChainsCommon_StartDisplayCtrl(
             pObj->chainsCfg->displayType,
    @@ -228,6 +248,8 @@ Void Chains_dispDistSrc_Display(Chains_Ctrl *chainsCfg)
                     break;
     
                 case 'p':
    +                chains_dispDistSrc_Display_SetGlobalAlphaPrms(&chainsObj);
    +                break;
                 case 'P':
                     ChainsCommon_PrintStaxxxsxxxcs();
                     chains_dispDistSrc_Display_printStaxxxsxxxcs(&chainsObj.ucObj);
    diff --git a/apps/src/hlos/common/chains_common.c b/apps/src/hlos/common/chains_common.c
    index ca7e065..c432da5 100644
    --- a/apps/src/hlos/common/chains_common.c
    +++ b/apps/src/hlos/common/chains_common.c
    @@ -47,10 +47,10 @@ Limited License.
     
      DISCLAIMER.
     
    - THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
    + THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
      IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
      MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
    - IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    + IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
      INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
      LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
      PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
    @@ -2051,3 +2051,28 @@ Void ChainsCommon_SetDecodePrm(     DecLink_CreateParams *pDecPrm,
             }
         }
     }
    +Int32 ChainsCommon_dssOvlyPipeConfig(
    +       DisplayCtrlLink_OvlyPipeParams *pPipeParams, UInt32 numPipes)
    +{
    +    Int32 status=0;
    +    Int32 j = 0;
    +
    +    gChains_commonObj.displayCtrlLinkId = SYSTEM_LINK_ID_DISPLAYCTRL;
    +
    +    /* There are no createxxxme Params for display controller */
    +    status = System_linkCreate(gChains_commonObj.displayCtrlLinkId,
    +                                NULL,
    +                                0);
    +
    +    for(j = 0; j < numPipes; j++)
    +    {
    +        status = System_linkControl(gChains_commonObj.displayCtrlLinkId,
    +                                DISPLAYCTRL_LINK_CMD_SET_OVLY_PIPELINE_PARAMS,
    +                                &pPipeParams[j],
    +                                sizeof(DisplayCtrlLink_OvlyPipeParams),
    +                                TRUE);
    +        OSA_assert(status == SYSTEM_LINK_STATUS_SOK);
    +    }
    +
    +    return status;
    +}
     No newline at end of file
    diff --git a/apps/src/hlos/common/chains_common.h b/apps/src/hlos/common/chains_common.h
    index 363113b..c1ff18a 100644
    --- a/apps/src/hlos/common/chains_common.h
    +++ b/apps/src/hlos/common/chains_common.h
    @@ -47,10 +47,10 @@ Limited License.
     
      DISCLAIMER.
     
    - THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
    + THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
      IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
      MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
    - IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    + IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
      INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
      LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
      PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
    @@ -204,6 +204,9 @@ extern "C" {
      *  Funcxxxon's
      *******************************************************************************
      */
    +Int32 ChainsCommon_dssOvlyPipeConfig(
    +             DisplayCtrlLink_OvlyPipeParams *pPipeParams,
    +             UInt32 numPipes);
     Void ChainsCommon_SingleCam_SetCapturePrms(
                             CaptureLink_CreateParams *pPrm,
                             UInt32 captureInWidth,
    diff --git a/apps/src/include/chains_common.h b/apps/src/include/chains_common.h
    index 8093c4b..b115076 100644
    --- a/apps/src/include/chains_common.h
    +++ b/apps/src/include/chains_common.h
    @@ -47,10 +47,10 @@ Limited License.
     
      DISCLAIMER.
     
    - THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
    + THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
      IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
      MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
    - IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    + IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
      INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
      LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
      PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
    diff --git a/apps/src/rtos/usecases/common/chains_common.c b/apps/src/rtos/usecases/common/chains_common.c
    index e4d9d4c..d4c8c0d 100644
    --- a/apps/src/rtos/usecases/common/chains_common.c
    +++ b/apps/src/rtos/usecases/common/chains_common.c
    @@ -47,10 +47,10 @@ Limited License.
     
      DISCLAIMER.
     
    - THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
    + THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
      IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
      MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
    - IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    + IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
      INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
      LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
      PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
    @@ -917,7 +917,7 @@ Void ChainsCommon_SetDisplayPrms(
     
         if(pPrm_Grpx)
         {
    -        pPrm_Grpx->displayId                  = DISPLAY_LINK_INST_DSS_GFX1;
    +        pPrm_Grpx->displayId                  = DISPLAY_LINK_INST_DSS_VID2;
     
             if((displayType == CHAINS_DISPLAY_TYPE_SDTV_NTSC) ||
               (displayType == CHAINS_DISPLAY_TYPE_SDTV_PAL))
    @@ -1404,3 +1404,4 @@ Int32 Chains_statCollectorReset()
         return SYSTEM_LINK_STATUS_SOK;
     }
     
    +
    diff --git a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c
    index 2748bcb..fc9b3c0 100644
    --- a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c
    +++ b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c
    @@ -416,13 +416,15 @@ Void chains_nullSrcDecDisplay_SetAppPrms(chains_nullSrcDecDisplayObj *pUcObj, Vo
     #if 1
         chains_nullSrcDecDisplay_SetDecodePrms(pObj, &pUcObj->DecodePrm);
     #endif
    -#if 0
    +#if 1
         ChainsCommon_SetDisplayPrms(&pUcObj->DisplayPrm,
                                     NULL,
                                     pObj->chainsCfg->displayType,
                                     pObj->displayWidth,
                                     pObj->displayHeight
                                    );
    +
    +    
     #endif
     #if 1
         chains_nullSrcDecDisplay_SetVPEPrms(
    @@ -434,7 +436,7 @@ Void chains_nullSrcDecDisplay_SetAppPrms(chains_nullSrcDecDisplayObj *pUcObj, Vo
             ENCDEC_MAX_FRAME_HEIGHT);
     #endif 
     
    -
    +// ChainsCommon_MulxxxDisplay_StartDisplayCtrl(&pObj->mDisplayPrms[0], 1);
     #if 1
         ChainsCommon_StartDisplayCtrl(
             pObj->chainsCfg->displayType,
    diff --git a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c
    index f464733..97dc7f9 100644
    --- a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c
    +++ b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c
    @@ -47,10 +47,10 @@ Limited License.
     
      DISCLAIMER.
     
    - THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS 'AS IS' AND ANY EXPRESS OR
    + THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS 'AS IS' AND ANY EXPRESS OR
      IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
      MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
    - IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    + IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
      INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
      LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
      PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
    @@ -74,7 +74,8 @@ Void chains_nullSrcDecDisplay_SetLinkId(chains_nullSrcDecDisplayObj *pObj){
            pObj->NullLinkID                     = IPU1_0_LINK (SYSTEM_LINK_ID_NULL_0);
            pObj->DecodeLinkID                   = SYSTEM_LINK_ID_VDEC_0;
            pObj->VPELinkID                      = SYSTEM_LINK_ID_VPE_0;
    -       pObj->DisplayLinkID                  = SYSTEM_LINK_ID_DISPLAY_0;
    +       /*SYSTEM LINK ID DISPLAY _0 is used by vDRM cluster.*/
    +       pObj->DisplayLinkID                  = SYSTEM_LINK_ID_DISPLAY_1;
     }
     
     Void chains_nullSrcDecDisplay_ResetLinkPrms(chains_nullSrcDecDisplayObj *pObj){
    diff --git a/links_fw/src/rtos/links_common/null/nullLink_tsk.c b/links_fw/src/rtos/links_common/null/nullLink_tsk.c
    index 0126073..3fc1f88 100644
    --- a/links_fw/src/rtos/links_common/null/nullLink_tsk.c
    +++ b/links_fw/src/rtos/links_common/null/nullLink_tsk.c
    @@ -717,7 +717,7 @@ Void NullLink_tskMain(struct Uxxxls_TskHndl_t * pTsk, Uxxxls_MsgHndl * pMsg)
                         ackMsg = (Bool)TRUE;
                         break;
                     case SYSTEM_CMD_NEW_DATA:
    -                    Vps_printf("Null link: New Data 
    ");
    +                    //Vps_printf("Null link: New Data 
    ");
                         Uxxxls_tskAckOrFreeMsg(pMsg, status);
     
                         flushCmds[0] = SYSTEM_CMD_NEW_DATA;
    diff --git a/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c b/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c
    index a91fa1b..33ce5da 100644
    --- a/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c
    +++ b/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c
    @@ -193,7 +193,7 @@ Int32 DisplayLink_tskRun(DisplayLink_Obj *pObj, Uxxxls_TskHndl *pTsk,
                     break;
     
                 case SYSTEM_CMD_NEW_DATA:
    -                Vps_printf("Display: New Data 
    ");
    +                //Vps_printf("Display: New Data 
    ");
                     Uxxxls_tskAckOrFreeMsg(pRunMsg, status);
     
                     flushCmds[0] = SYSTEM_CMD_NEW_DATA;
    (END)
    
  • 相关阅读:
    vs编译错误error C2059 由extern "C"导致的错误处理
    原生JS:响应式轮播图
    JSP用户关注取关实现
    JSP和AJAX实现登录注册
    MySQL常用命令
    offsetWidth/getBoundingRect()/scrollWidth/client用法总结
    画廊相册—原生JavaScript实现
    《JavaScript DOM 编程艺术》读书笔记
    天猫网页前端实现
    Docker安装和配置(链接集合)
  • 原文地址:https://www.cnblogs.com/widic/p/10942727.html
Copyright © 2011-2022 走看看