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.

Frame_Rate @ 10FPS IPNC_RDK 3.5

Other Parts Discussed in Thread: DM385

Hi All,

I'm working customized DM385 platform

If I'm passing 30fps encoded data to decoder it's displaying properly

But I'm passing 10fps encoded data to decoder, the playback is as much as faster !!!

Where to control the fps ???

Any relation between fps and decoder ?

Regards,

Rajesh Kannan.S

  • Hello,

    I will notify the IPNC team for help.

    BR
    Margarita
  • Hi,

    You have to implement the rate control at the playback source link.

    You have to provide the bitstream buffers to the IPC Bits Out link at the desired rate.

    For eg, for 10 fps playback you should provide the bistream buffers to the IPC Bits Out link at every 100 msec, you need to insert appropriate delays taking into account the file parse and read overheads.

    regards,

    Anand

  • Hi ,

    I added usleep(100) between BitsIn to BitsOut still it's playing forward...,

    /* IPC Bits In HOST Link params */
    ipcBitsInHostPrm0.baseCreateParams.inQueParams.prevLinkId =
    gVencModuleContext.ipcBitsOutRTOSId;
    ipcBitsInHostPrm0.baseCreateParams.inQueParams.prevLinkQueId = 0;
    MultiCh_ipcBitsInitCreateParams_BitsInHLOS(&ipcBitsInHostPrm0);
    usleep (100);
    OSA_printf("RAJESHKANNAN : ###Effected 100ms delay from Bits_In_Host to Bits_Out### \n");

    /********************************************************************************************************************/
    /************************************************ DECODE PATH *******************************************************/
    /********************************************************************************************************************/

    ipcBitsOutHostPrm.baseCreateParams.inputFrameRate = 10 ;
    ipcBitsOutHostPrm.baseCreateParams.outputFrameRate = 10 ;
    ipcBitsOutHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0 ;
    ipcBitsOutHostPrm.baseCreateParams.numOutQue = 1 ;
    ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink = gVdecModuleContext.ipcBitsInRTOSId ;
    ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = TRUE;
    ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink = FALSE;
    ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = FALSE;

    Regards,

    Rajesh Kannan.S
  • Hi,

    You have introduced 100 microseconds delay and not 100 milliseconds.

    Pl. change the delay to usleep(100000);

    regards,

    Anand

  • Hi,

    The delay should be between 'IpcBitsOutLink_getEmptyVideoBitStreamBufs()' and 'IpcBitsOutLink_putFullVideoBitStreamBufs()' calls in your playback thread.

    This delay will make sure you are putting full bitstream buffer at an interval of 100 msec.

    regards,

    Anand