Gstreamer V4l2 Codec elements for video encoders/decoders.

Nicolas Dufresne nicolas at ndufresne.ca
Thu Aug 30 14:21:31 UTC 2018


Le jeudi 30 août 2018 à 08:56 -0500, Amit Pandya a écrit :
> Hi Nicolas,
> 
> Thanks for the response.
> 
> Can you provide inputs if decode pipeline verified to be working with
> Non-blocking (or Blocking) I/O with 'queue' in-place after decoder?
> gst-v4l2 decode element ! queue ! gst-render element 

The GStreamer CODEC implementation uses poll() in order to avoid
blocking operation in the kernel. Then input/output is seperated in the
elements using a thread. Using queues before or after the
encoder/decoder will introduce another thread, but won't increase the
allocation. It's a known limitation of the queues. There is another
limitation cause by the base class, which still need to be addressed.
It's not specific to V4L2, OMX decoders are also affected. You can
track it here:

https://bugzilla.gnome.org/show_bug.cgi?id=715192

> 
> Any issues encountered using queues in pipeline in your testing with various
> streaming I/O modes in case.

mmap and dmabuf are the well supported one. For the importation path,
usrptr and dmabuf-import, there are not widely supported by CODEC
drivers. There is also some work ongoing to make the importation path
more robust.

> 
> If possible, can you provide gst-v4l2 decoders pipelines(gst-launch-1.0)
> used in your verification test-plan just for the reference.

It's not yet fully integrated, but currently the focus has been put on
playback using playbin, and encoding using manual pipeline / RTSP,
e.g.:

  v4l2src ! v4l2h264enc ! h264parse ! rtph264pay name=pay0

> 
> Also, any inputs/guidance regarding where can procure these development
> platform (specifically Exynos) in case wish to have verified reference v4l2
> model.
>  - IMX.6/8 CODA driver 

I use devices from Boundary Device:
https://boundarydevices.com/

>  - Qualcomn Venus driver (dynamic resolution is broken) 

For that I use DragonBoards, from 96boards:

https://www.96boards.org/product/dragonboard410c/
https://www.96boards.org/product/dragonboard820c/

>  - Exynos (some stability issue, which seems to be in IOMMU driver)

For exynos, I use Hardkernel board Odroid XU4:
https://www.hardkernel.com/main/products/prdt_info.php

For all of my boards, I use a ARM or AARCH64 Fedora 28 base system,
combined with a manually built Linux Kernel, and if needed u-boot. The
DragonBoard are setup so that the Android booloader (LK) will start u-
boot, but UEFI isn't enabled in my setup.

regards,
Nicolas
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-deve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180830/f3d7324a/attachment.sig>


More information about the gstreamer-devel mailing list