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.

TDA2PXEVM: Use of utility links to support switching channel in VPE

Part Number: TDA2PXEVM

Hello,

Is is possible to perform changing of channel on an arbitrary link during runtime?

The Display link has this function in itself, but is it possible to perform it on other links.
For example:

NullSource (IPU1_0) -> Gate_Idle -> Merge -> Select -> VPE -> XXXXSink

IssCapture -> IssM2mIsp -> Gate_Cam -> Merge

IssM2mIsp -> Alg_IssAewb

In the above chain, the link XXXSink only supports single channel.
But to support multiple paths, I am planning on using Select link to specify which outgoing channel will be in channel ID 0.

Unfortunately, it does not seem to work at runtime.

Sorry for the fundamental inquiry but I appreciate the help to point me in the right direction.

  • Hi,

    Please refer to any usecase where select link is used.

    By using this link you can change input channel to your custom link at run time.

    Regards,

    Anuj

  • Hello Anuj, 

    None of the usecase shows switching of channel during run-time, all of them switches the channel forwarding on create time.

    I checked the following:

    • iss_mult_capture_isp_simcop_stereo_tda3xx
    • csi2_cal_sv_standalone
    • iss_mult_capture_isp_dewarp_3dsv_rearview_tda3xx
    • iss_multi_inst_capture_display
    • lvds_vip_multi_cam_view_tda3xx

    The use case I am using is updated to :

    NullSource (IPU1_0) -> Select_Idle -> Merge -> VPE -> XXXSink
    
    IssCapture -> IssM2mIsp -> Select_Cam -> Merge
    
    IssM2mIsp -> Alg_IssAewb
    
    

    I replace the Gate Link with the Select link and remove the Select after merge.
    The switching of channel is as follows:

    static void setSelectLinkParams(SelectLink_CreateParams *pShow, SelectLink_CreateParams *pHide)
    {
            if(pShow){
                    pShow->numOutQue                  = 1U;
                    pShow->outQueChInfo[0].outQueId   = 0;
                    pShow->outQueChInfo[0].numOutCh   = 1;
                    pShow->outQueChInfo[0].inChNum[0] = 0;
            }
            if(pHide){
                    pHide->numOutQue                  = 1U;
                    pHide->outQueChInfo[0].outQueId   = 0;
                    pHide->outQueChInfo[0].numOutCh   = 0;
                    pHide->outQueChInfo[0].inChNum[0] = 0;
            }
    }
    
    

    It does perform the switch during create time.
    But after the chain is started, calling the function above to switch the channels is not working.

    What I am inquiring in this ticket is if it is possible to switch during runtime similar to what Display link is doing with DISPLAY_LINK_CMD_SWITCH_CH,
    by using Select Link or other links that are available without me modifying the XXXSink link code.

    Regards,
    Norman

  • Hi,

    If you send SELECT_LINK_CMD_SET_OUT_QUE_CH_INFO cmd to select link with proper input , then you will be able to switch channel run time.

    Please check below function for 8 cam usecase

    chains_lvdsVip8Cam_Display_SwitchDisplayChannel()

    Regards,

    Anuj

  • Thank you Anuj for the support this resolves my problem.