Offer to Implement VAAPI/VDPAU support in mesa/etnaviv for the CODA VPU

Luís Mendes luis.p.mendes at gmail.com
Tue Nov 14 17:46:47 UTC 2017


Hi,

Does anyone know which mesa mailing list is appropriate for asking
about mesa VA and mesa VDPAU?

I've found there is a common generic VDPAU and VA APIs implementation
in the mesa sources and that these libraries are linked against
specific nouveau and radeonsi libraries, among others, to produce
individual driver libraries files like libvdpau_radeonsi.so.1.0 or
libvdpau_nouveau.so.1.0. I just don't know which internal API the
drivers need to implement to provide VA an VDPAU services.

Regards,
Luís

On Thu, Nov 9, 2017 at 9:42 AM, Luís Mendes <luis.p.mendes at gmail.com> wrote:
> Hi Lucas,
>
> I was able to play the video with CODA support in X windows like you said. I
> used the following command line:
>
> 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
>
> The video does play, but it is like in slow motion, I don't know why... it
> is just using a single core at 45% core utilization only.
>
> Regards,
> Luís
>
> On Wed, Nov 8, 2017 at 2:45 PM, Luís Mendes <luis.p.mendes at gmail.com> wrote:
>>
>> Hi Lucas,
>>
>> Ok, great, that's good news! I'll try it, but I still think that a
>> VDPAU/VAAPI driver would be nice to increase compatibility with standard
>> video player applications like VLC for instance.
>>
>> I could give a try at developing a VDPAU or VAAPI driver... at some point
>> I may need to ask some details about mesa or inner driver workings, but that
>> would be it.
>>
>> What is your opinion about having such a feature?
>>
>> Regards,
>> Luís
>>
>> On Wed, Nov 8, 2017 at 2:33 PM, Lucas Stach <l.stach at pengutronix.de>
>> wrote:
>>>
>>> Am Mittwoch, den 08.11.2017, 14:24 +0000 schrieb Luís Mendes:
>>> > 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?
>>>
>>> Just swap the kmssink at the end of the pipeline with a xvimagesink and
>>> be done with it. The only complication is that the armada driver
>>> exposes 2 XV adapters, one going to a KMS plane (not really functional
>>> on i.MX6) and one using the GPU accel path. You need to choose the
>>> right one by either configuring the right default in the xorg.conf or
>>> using the device parameter for the xvimagesink.
>>>
>>> Regards,
>>> Lucas
>>
>>
>


More information about the etnaviv mailing list