vl42codecs and sunxi cedrus driver

Nicolas Dufresne nicolas at ndufresne.ca
Thu Sep 16 00:02:37 UTC 2021


Hello,

Answering on top, as it would be complex inline. Gstreamer 1.18 codec
support is based on unstable kernel API found in 5.9 and less. 5.10, 5.11
and 5.12 all broke the API, 5.12+ have a stable h264 API which is only
supported by our development tree (upcoming 1.20).

Other then that, you have error indicating a broken installation of
GStreamer, make sure type finders are installed. For the VA driver, this is
broken and adandonned at the moment. It is fixable, but not in direction
that was taken (modifying the VA API instead of parsing again inside the VA
driver).

Regards,
Nicolas

Le mer. 15 sept. 2021 17 h 15, Belisko Marek via gstreamer-devel <
gstreamer-devel at lists.freedesktop.org> a écrit :

> Hello,
>
> I'm trying to make gstreamer working with sunxi cedrus driver (I have
> seen this merge request
>
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268
> )
>
> And try to start pipeline as described here
> (
> https://forum.armbian.com/topic/17187-understanding-hardware-accelerated-video-decoding/?do=findComment&comment=120703
> )
>
> gst-play-1.0 --use-playbin3 --videosink="kmssink
> plane-properties=s,zpos=3" video.file
>
> but this reports:
>
> GST_DEBUG="*:3" gst-play-1.0 --use-playbin3 --videosink="kmssink
> plane-properties=s,zpos=3" /data/bunny.mp4
> Press 'k' to see a list of keyboard shortcuts.
> Now playing /data/bunny.mp4
> 0:00:00.356565681  1987 0xaaaadb9fa700 WARN                 basesrc
> gstbasesrc.c:3688:gst_base_src_start_complete:<source> pad not
> activated yet
> 0:00:00.357717770  1987 0xaaaadb9fa700 WARN                 basesrc
> gstbasesrc.c:3688:gst_base_src_start_complete:<source> pad not
> activated yet
> 0:00:00.359439985  1987 0xaaaadba1c320 WARN                typefind
> gsttypefindelement.c:1232:gst_type_find_element_loop:<typefindelement0>
> error: Internal data stream error.
> 0:00:00.359552944  1987 0xaaaadba1c320 WARN                typefind
> gsttypefindelement.c:1232:gst_type_find_element_loop:<typefindelement0>
> error: streaming stopped, reason error (-5)
> ERROR Could not determine type of stream. for file:///data/bunny.mp4
> ERROR debug information:
> ../gstreamer-1.18.4/plugins/elements/gsttypefindelement.c(1161):
> gst_type_find_element_loop ():
>
> /GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelemen0
> Reached end of play list.
>

This is general GStreamer installation issue. It could not find a type
finder for ISOMP4 format.


> Then I tried other approach by using vaapi and lib-v4l2-request but
> hitting other issue with buffers not available by running:
>
> export LIBVA_DRIVERS_PATH=/usr/lib/dri
> export LIBVA_DRIVER_NAME=v4l2_request
> export DISPLAY=:0
> export GST_VAAPI_ALL_DRIVERS=1
>
> gst-launch-1.0 filesrc location=[FILENAME] ! qtdemux ! vaapih264dec !
> fakesink
>
> it reports:
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> Got context from element 'vaapidecode_h264-0':
> gst.gl.GLDisplay=context,
> gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";
> Got context from element 'vaapidecode_h264-0':
> gst.vaapi.Display=context,
> gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayDRM\)\
> vaapidisplaydrm1";
> v4l2-request: Unable to enable stream: Invalid argument
> v4l2-request: Unable to create buffer for type 1: No buffer space available
> v4l2-request: Unable to create buffer for type 1: No buffer space available
> v4l2-request: Unable to create buffer for type 1: No buffer space available
> v4l2-request: Unable to create buffer for type 1: No buffer space available
> v4l2-request: Unable to create buffer for type 1: No buffer space available
>
> I traced it down to the kernel that it's trying to allocate more v4l2
> buffers like max (set to 32).
>
> Does anybody have a clue how to test cedrus accelerated video decoding.
>
> I'm using 5.14 kernel and 1.18.4 gstreamer version.
>
> Thank and BR,
>
> marek
>
>
>
> --
> as simple and primitive as possible
> -------------------------------------------------
> Marek Belisko - OPEN-NANDRA
> Freelance Developer
>
> Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
> Tel: +421 915 052 184
> skype: marekwhite
> twitter: #opennandra
> web: http://open-nandra.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210915/6f508130/attachment.htm>


More information about the gstreamer-devel mailing list