Problem with etnaviv and gstreamer 1.0

Lukasz Majewski lukma at denx.de
Tue Dec 5 14:33:11 UTC 2017


Hi Luís,

Thanks for your reply.

> Hi Lukasz,
> 
> I'm not part of the mesa/etnaviv development team, but I've tried
> somethings with gstreamer, maybe I can provide some useful
> information...
> 
> Can you try xvimagesink instead of glimagesink?

It would be hard since I do support Weston/Wayland - not X11.

> 
> Etnaviv provides the driver for the 3D GPU, but I believe the video is
> normally output out through the 2D unit, the GC320 in i.MX6 via
> xf86-armada drm driver.
> 
> I think the best approach for decoding and outputting video is to
> implement the VAAPI and/or VDPAU support in mesa, right on etnaviv

I've read that etnaviv has some issues with YUV->RGB conversion and
with some shaders (as they are required by Gstreamer) [1], [2].

> making the CODA VPU unit available to all the applications that are
> already VAAPI and VDPAU aware, like vlc, kodi and others. That way
> standard desktop applications can be used without much changes or one
> can develop for both platforms with less effort. I am currently
> starting such project to bridge the gap with a prototype driver that
> could be integrated in etanviv and mesa. Mesa already implements
> VAAPI and VDPAU, I believe one just needs to implement an internal
> mesa API named VL.

Please correct me if I'm wrong - is the above proposal is for only
playing movies?

Now, I do have a problem to get very basic test working
(black rectangle is shown):
gst-launch-1.0  -v gltestsrc pattern=smpte ! glimagesink

> 
> Meanwhile, maybe you can try the following which also makes use of
> the CODA VPU unit with gstreamer:
> 
> wget
> http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi
> 
> gst-launch-1.0 filesrc
> location=/home/ubuntu/trailer_1080p_h264_mp3.avi ! \ avidemux !
> h264parse ! v4l2video1dec capture-io-mode=dmabuf ! \ xvimagesink
> device=1 sync=0

Ok (despite the xvimagesink part).

> 
> The above works both on my i.MX6Q and on my i.MX6QP under X, I haven't
> tried with wayland, but should work just the same.
> 
> I based this test on the following post by Fabio Estevam:
> https://imxdev.gitlab.io/tutorial/Decoding_video_with_a_mainline_kernel_on_i.MX6/

I've followed this tutorial - I'm not able to get the movie displayed:

The following line gives some output to file.

export XDG_RUNTIME_DIR=/run/user/0;gst-launch-1.0 filesrc
location=trailer_1080p_h264_mp3.avi ! avidemux ! h264parse !
v4l2video1dec capture-io-mode=dmabuf ! filesink location=/tmp/out
sync=false

And with the below one:

gst-launch-1.0 filesrc location=trailer_1080p_h264_mp3.avi !
 avidemux ! h264parse ! v4l2video1dec capture-io-mode=dmabuf !
 video/x-raw,format=YUY2 ! glimagesink

Error is:
---------
etna_rs_gen_clear_surface:77: etna_rs_gen_clear_surface: Unhandled
clear fmt PIPE_FORMAT_R8G8_UNORM

I'm just wondering -> x-raw,format=YUY2 explicitly asks for YUY2 format
(which shall be supported by etnaviv).... why then in the middle there
is PIPE_FORMAT_R8G8_UNORM ?


And with this one:
gst-launch-1.0 filesrc location=trailer_1080p_h264_mp3.avi ! avidemux !
h264parse ! v4l2video1dec capture-io-mode=dmabuf ! videoconvert !
fbdevsink sync=false

No errors are present, but also I do not see any output.



> 

[1] - https://bugzilla.gnome.org/show_bug.cgi?id=783521
[2] -
https://people.freedesktop.org/~cbrill/dri-log/index.php?channel=etnaviv&highlight_names=&date=2017-03-29

> 
>  Regards,
> Luís Mendes
> Hardware and Software engineer



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20171205/f7c5b3f8/attachment.sig>


More information about the gstreamer-devel mailing list