vl42codecs and sunxi cedrus driver

Belisko Marek marek.belisko at gmail.com
Thu Sep 16 13:22:48 UTC 2021


Hi Nicolas,

On Thu, Sep 16, 2021 at 2:02 AM Nicolas Dufresne <nicolas at ndufresne.ca> wrote:
>
> 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).
Thanks a lot. I've updated to latest master and video is playing smoothly.
>
> 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

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


More information about the gstreamer-devel mailing list