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.

Timing the channels

Hi,

We're trying to figure out the timing mechanism in the mcfw framework.

 In the vdec_disp demo which component is responsible for the channels timing (pacing the each channels to 30 fps)?

Is it the Mosaic? does it wait for a frame from each channel involved, with some kind of buffer mechanism? or is it the display which poll a frame from it's in queue at the fps desired, and by that fill this queue and pace the system? 

Thanks

  • If avsync is enabled then SwMosaic will select frame for composition if its presentation timestamp matches the current system time.

    If avsync is disabled the swms will select any new frame in its input queue every time it has to compose. The composition  rate is determined by swms layout output fps parameter.

    In both cases if no new frame is available it will use the previous frame for composition.

    In vdec_vdis usecase avsync is enabled .

    The swms output fps limits the rate of consumption of frames even if avsync is enabled. i.e. Frames will be consumed at max swms output fps rate.

  • Thank you for your answer

    We seem to have a sync issue in the following conditions:

    We took the multich fw vdec vdis example and added a dsp link

    Then we set the mosaic to display only ch 0 (DEMO_LAYOUT_MODE_1CH)  but after this we see that the decoded frames from the other channels arrive at the dsp more often than channel 0 --- for example for every frame of ch 0 we will see 3 or 4 of ch 1 (they seem to arrive much faster than ch 0)

    we need them to stay in sync because we want to use their data in the DSP Alg between coresponding frame numbers across different channels (for example compare frame 3 of channel 0 and frame 3 of channel 1).

    Do you have any suggestions for the best strategy to solve this issue? 

    Thanks,

    Amit

  • Where is the dsp link connected ? Psl share the link connections.

  • Try modifying as below to ensure even channels that are not displayed are synched and consumed.

    /dvr_rdk/mcfw/src_bios6/links_m3vpss/swMs/swMsLink_drv.c

    Int32 SwMsLink_drvUpdateChCurrentInFrame(SwMsLink_Obj * pObj)

        for (chCount = 0;
             chCount < pObj->inQueInfo.numCh;
             chCount++)
        {
            winId = pObj->layoutParams.ch2WinMap[chIdx];

             syncMasterCh = chIdx;//ADD THIS LINE

  • We will try it, Thanks

  • In the file sent the Select link moved backward but we actually work according to the diagram 

  • It worked...

    Thanks a lot