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.

Smooth 2x playback



Is there any support in DVRRDK for "smooth" 2x playback?  I've tried configuring the decoder for a targetFrameRate of 60 (this is a 480p H.264 source file), and feeding frames at a suitable rate, but the decode still seems to run at 30 FPS.

We're currently running DVRRDK 03.00.00.00.

Thanks.

-Cory

  • You can enable AVsync to do timescale playback.Refer multich_vdec_vdis.c for reference Avsync configuration.You should set the timestamp on the frames correctly and then using Vdis_setTimeScalePlayback API you can do 2x playback.VIdeo Decoder conifuration should not be changed if  you are using AVsync for timescale playback

  • Badri-

    Thanks for the pointers.  Our current stack makes use of just the lower level Links APIs, but I'll have a look at how they're being used in Vdis_setTimeScalePlayback().

    -Cory

  • Hmmm...so is there any way to tell the decoder to ignore the PTS and allow us to feed frames (both I & P) at our own pace?

    This seems to work fine with just I frames, but when we attempt to feed I+P frames at >1x, we see visible artifacts.

    -Cory

  • Avsync which controls playback speed happens in SwMs before display and is completely unrelated to decoding. Decoder always decodes all frames. There is no way doing timescale playback can cause artifacts. Pls provide the following info:

    1. Sequence of link control cmds,  used , their parameters and the UART console logs

    2. Any changes done at link level particularly in decLink related to reference buffer handling/dup logic

    3. Info on whether the stream has B frames.

    Note that when doing timescale playback all frames should be fed to mcfw (like normal playback) and frames should not be skipped by application at time of feeding data,