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.

MCFW supports change in resolution (widthxheight) of encoder at run time in dvrrdk3.50

Hi,

Does MCFW of DVR-RDK3.50 support change in resolution (width x height ) of encoder during run time ? If yes then using which structure and API ?

Seeking quick response.

Thanks in advance,

Shabbir Limdiwala

  • Yes encoder supports dynamic resolution change. You should create the encoder channel with the max resolution. Resolution can dynamically change to any resolution below this create time resolution . Resolution is associated with a frame and when previous link changes resolution, encoder automatically detects. There are no APIs. However you have to configure the previous link to output the desired resolution and the linkControl cmd to use depends on your use case. see /dvr_rdk/mcfw/src_linux/mcfw_api/ti_vcap.c Vcap_setDynamicParamChn VCAP_RESOLUTION  for reference

  • Hi Badri,

    Thanks very much for your reply.

    My use case is something like this,

    I have three channels to encode. All the three channels are coming from scalar. At the run time, i want to change the resolution of one of the three channels without affecting other two channels. Is this possible ? what should be my tear down sequence for this ?

    Thanks,

    Shabbir Limdiwala

  • Yes its possible to change resolution of one channel without affecting other channels.

    Refer following API:

    /dvr_rdk/mcfw/interfaces/link_api/sclrLink.h

    SCLR_LINK_CMD_SET_OUTPUTRESOLUTION

    Takes following structure as param:

    /**
    \brief SCLR link set ouput resolution
    */
    typedef struct
    {
    UInt32 chId;
    /**< output channel Id */

    UInt32 width;
    /**< ouput width */

    UInt32 height;
    /**< ouput height */

    UInt32 pitch[VIDFRAME_MAX_PLANES];
    /**< ouput pitch */
    } SclrLink_chDynamicSetOutRes;

    You can do SCLR_LINK_CMD_GET_OUTPUTRESOLUTION followed by SET if you are not sure of some param.

    Invocation : 

    status = System_linkControl(
    gVcapModuleContext.sclrId[0],
    SCLR_LINK_CMD_SET_OUTPUTRESOLUTION,
    &(prms),
    sizeof(prms),
    TRUE
    );

  • Hi Badri,

    Great. that makes my life easier. Thanks very much for the answer.

    Thanks,

    Shabbir Limdiwala