Offer to Implement VAAPI/VDPAU support in mesa/etnaviv for the CODA VPU
Luís Mendes
luis.p.mendes at gmail.com
Thu Nov 9 09:34:12 UTC 2017
Hi Wladimir,
Replies follow in between.
Luís
On Thu, Nov 9, 2017 at 8:15 AM, Wladimir J. van der Laan <laanwj at gmail.com>
wrote:
> On Wed, Nov 08, 2017 at 02:24:24PM +0000, Luís Mendes wrote:
> > Yesterday I tried Fabio's tutorial for enabling the VPU with gstreamer in
> > console mode (https://imxdev.gitlab.io/tutorial/Decoding_video_with_a_
> > mainline_kernel_on_i.MX6/). It was beautiful to see the i.MX6 playing a
> > H.264 video smoothly in high definition.
> > Then I tried to achieve the same under X, but it wasn't possible because
> > drm is in use by X.
> >
> > That gave me the idea that implementing a functional VDPAU/VAAPI may not
> be
> > so far away and that I may be able to implement such functionality in my
> > spare time even if at a not so fast pace.
> >
> > What do you etnaviv guys say? Does it looks feasible?
>
> I know very little about video APIs so I can't comment on CODA and VDPAU
> being
> a good match or not.
>
> But IIRC the only thing the Vivante 3D GPU could provide (which isn't
> implemented in etnaviv at the moment) is planar YUV import, which means
> internally HW tiling a buffer to a tiled UYVY or YUY2 texture that can be
> rendered from.
>
> The rest is i.MX6 board specific. For example the i.MX8 will have
> a completely different video codec (Hantro G2).
>
Such situation also happens with amdgpu mesa driver and others, where there
is a common mesa driver for multiple GPUs, but then there are multiple
VDPAU/VAAPI drivers for each VPU.
I can try to create a proof of concept driver for the CODA VPU unit, a
VDPAU driver supporting a single codec, but with integration with
Mesa/Etnaviv, and then we can decide better.
>
> Wladimir
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/etnaviv/attachments/20171109/471ecdb4/attachment-0001.html>
More information about the etnaviv
mailing list