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.

2 device display OSD

hi all .now i want to construct my own link like following:

cap ->enc->dec->swms->osd->dis

but i want to display the OSD through 2 display device, so i have to put the OSD LINK after the swms[0] and swms[1]

so how can i construct to link?

i fount that 

 ipcFramesInDspPrm[0].baseCreateParams.inQueParams

just have only one inQue,so how can i do?


tks

  • You can have

    cap ->enc->dec->swms0                                           -->dis0

                                              -> merge -> osd->select

                              -> swms1                                         --> dis1

  • tks for your help .i want to how to set the two parameters about the numOutCh and inChNum?

    selectPrm.outQueChInfo[0].outQueId = 0;
    selectPrm.outQueChInfo[0].numOutCh = NUM_DEI_CHAN;

    selectPrm.outQueChInfo[1].outQueId = 1;
    selectPrm.outQueChInfo[1].numOutCh = NUM_DEI_CHAN;

    for(chId=0; chId<NUM_DEI_CHAN; chId++)
    {
    selectPrm.outQueChInfo[0].inChNum[chId] =chId;
    selectPrm.outQueChInfo[1].inChNum[chId] = NUM_DEI_CHAN + chId;
    }

  • i mean that  i want to link the select to display link,rather than dei link.

    so whether like following

    selectPrm.outQueChInfo[0].outQueId = 0;
    selectPrm.outQueChInfo[0].numOutCh = 0;

    selectPrm.outQueChInfo[1].outQueId = 1;
    selectPrm.outQueChInfo[1].numOutCh = 1;

    //for(chId=0; chId<NUM_DEI_CHAN; chId++)
    {
    selectPrm.outQueChInfo[0].inChNum[0] =0;
    selectPrm.outQueChInfo[1].inChNum[0] = 1;
    }

  • You can link select link to any other link by setting correct nextLink. The above code doesn't connect selectLink to dei link.

    If you have 2 input channels to selectLink and you want to output channel 0 on que 0 and channel 1 on que 1, configuration should be:

     

    selectPrm.outQueChInfo[0].outQueId = 0;

    selectPrm.outQueChInfo[0].numOutCh = 1;

    selectPrm.outQueChInfo[1].outQueId = 1;

    selectPrm.outQueChInfo[1].numOutCh = 1;

     selectPrm.outQueChInfo[0].inChNum[0] =0;

    selectPrm.outQueChInfo[1].inChNum[0] = 1;

     

     

     

  • hi Badri,i set the parameters like above you say .but it is not display the osd from the device 1

    just the display0 has the osd,so why? 

  • Share your usecase file and the OSD configuration.The DVR demos already support independent OSD for different channels and if it not working in your case it must be issue with configuration

  • yes .the demo osd is independent for different channels.but if construct the link like following, the osd link after the swms ,that osd will be just for channel0.so i want to do not use the swms1,just link the dup to merge.but it will have 

    the link create errors:

     [m3vpss ]  8456: Assertion @ Line: 1134 in links_m3vpss/display/displayLink_drv.c: pObj->displayHndl != NULL : failed !!!

    cap ->enc->dec->dup    ->swms0                                           -->dis0

                                                               -> merge -> osd->select

                                                ->swms1                                         --> dis1

    and my display[1] set parameter is like following:

    displayPrm[1].numInputQueues = 1;
    displayPrm[1].activeQueue = 0;

    displayPrm[1].inQueParams[0].prevLinkId = dupId1;
    displayPrm[1].inQueParams[0].prevLinkQueId = 1;
    displayPrm[1].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution;