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.

regarding omx h264 decoder delay in live video stream on omap4(pandaboard)

Hi all,
I am using Pandaboard with Ubuntu 10.10 for developing a videoconferencing system. I read through the "Ducati for Dummies" document and understood the architecture. Also, based on the previous mail, I understood that the code that runs on the Ducati system (Cortex-M3) are available only as binaries and those are integrated into the Ubuntu to be loaded/run on boot on the Cortex-A9. Hope my understandings are correct till this. 

A little background, I have worked with DM368 dvsdk4 to build a videoconferencing system (h264 based). We used gstreamer to do the encode/decode. The decode would usually start after 4 to 5 seconds of starting to receive media data. This was because of the dmaibuffer that was buffering data (as the decoder should be feed with only >= 1 frame worth of data) in gstreamer, after optimizing the buffer size, I was able to get realtime decode. Now with that as background, I now see a similar effect with Pandaboard(Ducati system). So I was wondering if there is a similar buffering, if so is there some way to tune the buffers to reduce the latency or any alternatives? One more test that makes me think of possibility of buffering is that when I send stream @800Kbps the delay to start decode is more (5-7secs) and when I send 2Mbps stream the decode starts in 3-4 secs. 

Also, the "Ducati for Dummies" page reports that codecs are available for various formats H264, H263, etc. but I see that in the Ubuntu 10.10, GStreamer only the h264 decoder is available. Is it that the other codes are NOT available or they are not integrated in Gstreamer? 

Thanks,
Bujji

  • In DM368 dvsdk4 there are separate components to support dmaibuffer mechanism. In OMAP4430 releases these components are not present. Instead the standard GStreamer components are patched to support strided NV12 buffer support.

     I suggest that have a look into the tuning parameters of the different components used in the pipe line. For example as mentioned below:

     1. rtph264depay – check queue-delay

    2. udpsrc – check buffer-size

    3. rtspsrc – check buffer-mode, udp-buffer-size

     Here is the list of decoders supported on the OMAP4 platform. All of this decoders generates strided NV12 decoded output.

     omx_mpeg4dec: OpenMAX IL MPEG-4 video decoder

    omx_mpeg2dec: OpenMAX IL MPEG-2 video decoder

    omx_h264dec: OpenMAX IL H.264/AVC video decoder

    omx_h263dec: OpenMAX IL H.263 video decoder

    omx_vp6dec: OpenMAX IL VP6 video decoder

    omx_vp7dec: OpenMAX IL VP7 video decoder

    Regards,

    Chintan