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.

Lower Framerate with ticapturesrc

Hi all,

I want to lower my framerate with the ticapturesrc. If a 1080p30 signal enter, i want to choose the output framerate by dropping some frame before transmit buffer like 1080p25,p15 etc...

Someone has already done something like that ?

Many thanks in advance !

  • hi all,

     

    I created my own "videorate" element which permits me to adjust my framerate !

     

    ++

  • Hi Mike,

    Is it possible to implement zero-copy videorate gstreamer plug-in ? I have similar problem like yours (with fps limiting).
    Ticaptiresrc is unstable, I cannot get perfect stream.
    Standard videorate elements copies buffer using slow memcopy (I get 8-9 fps on dm368 platform).
    Was your plug-in based on original videorate? Is it stable for long recording periods?
    Could you please advise what I should do?

    Thanks in advance!

  • Hi,

    My plugin is really simply and is not inspired from videorate plugin.

    In chain function i just check if it's a dmaitransportbuffer and allow or unref_buf to match to the rate reached. Use the N parameters to divide your framerate.

    I don't remember if in this version i adjust the timestamp but i can send you an update...

    You can find it here :  https://gforge.ti.com/gf/project/gstreamer_ti/forum/?_forum_action=ForumMessageBrowse&thread_id=4707&action=ForumBrowse&forum_id=187

    3rd post.

    May need some custom from your side because i use it in some custom way but could be a good starting point for you.

    Give some feed back.

    Hope it help !

    Mika

  • Hi Mika,

    Thanks for quick reply, I will check that.

    Marek

  • Hi Mika,

    I checked your code and it fine, but could you please provide code of Framecopy_execute2 function? I am not sure what is done in this method, because it is not standard library function of dmai for DM368 processor.

    Thanks in advance!

    Best regards,

    Marek

  • Hi Marek,

    Thanks for your feed back.

    It's a non-standard use of hardware framecopy for a non-standard use of hardware capture buffer. So you may not use it. Take off the deinterleaved function from code ( so the framecopy2 function). It is used to split the input buffer in 2 buffers because i have 2 frames in 1 buffer.

    Input buffer representation my case depending of "mode" parameters:

    yyyyyyyyy

    uvuvuvuv

    yyyyyyyyy

    uvuvuvuv

    To explain he mechanism of the tivideorate plugin :

    unref_buffer (to lost it) or push (to keep it)

    Mika

  • Hi Mika,

    Thank you for your explanations.

    Best regards,

    Marek