4 4
Xalius

Kickstarter: Allwinner VPU support in the official Linux kernel

Recommended Posts

3 hours ago, Tido said:

Is it ready for production of MPEG2 and h264 on the A20 and H3 platform or is it still proof-of-concept?

MPEG2 is with latest version definitely production quality while H264 is not. You must understand that MPEG2 is very simple codec. It seems that focus shifted to H265 because Paul has a contract only until end of August. Fortunately, H264 and H265 share some common features, so work on H265 will definitely help with H264.

 

However, it turns out that ffmpeg + vaapi doesn't work well for some not so well formed MPEG2 files (same issues with Intel vaapi + ffmpeg), while purely SW ffmpeg decoding works well. I kinda started working on direct ffmpeg integration, but I'm not sure if I have enough motivation to actually finish it.

Share this post


Link to post
Share on other sites

Thank you Jernej for your detailed explanation, this does confirm what I expected back in June

On 6/11/2018 at 10:35 AM, Tido said:

Looking at the tables, reading their campaign and stretch goals (by Dec 2018) it looks to me A10, A20, A33 are not yet there with supporting widely used software like: VLC, GStreamer and MPV, while working already on their stretch goal with KODI and H3 SoC according to the latest blog entry.

 

So, I am wondering what can be expected at the end of June as Estimated Delivery on their Kickstarter Campaign for A10, A20, A33 ?

 

Following their blog, Maxime knows quite a bit about h264 - could be one of the reason Paul is focusing on h265, but 

--  business is business and to their customers on kickstarter they offered to fix h264 until June  --

Really sad to see as it is their statement: Implementing H264 video decoding, since H264 is by far one of the most popular video codec.

 


 

On 8/18/2018 at 11:47 AM, jernej said:

kinda started working on direct ffmpeg integration

does this mean to leave away Video Acceleration API (VA API) and direct access to the VPU ?

 

Share this post


Link to post
Share on other sites
48 minutes ago, Tido said:

does this mean to leave away Video Acceleration API (VA API) and direct access to the VPU ?

Direct access is a bit strong word. Technically, it means that VAAPI layer would be dropped and same interface as in https://github.com/bootlin/libva-v4l2-request would be used (V4L2 interface with new additions).

 

48 minutes ago, Tido said:

--  business is business and to their customers on kickstarter they offered to fix h264 until June  --

Really sad to see as it is their statement: Implementing H264 video decoding, since H264 is by far one of the most popular video codec.

 

If I understand correctly, "untiling" research took a bit more time than anticipated. Please also note that request API patches (base for AW VPU driver) are at v18 (!) written by multiple people outside Bootlin. But now that V4L2 base (request API) and VPU driver base are more or less finished, it should be much easier to add support for other codecs.

 

BTW, you can actually watch movies with current H264 driver. It just doesn't cover all possible variants and from time to time you can see artifacts. Bigger problem is ffmpeg + VAAPI combination for H264, since you often run out of memory (note that VPU can address only 128 MB of memory and currently DT allocate even less). This problem is know and noted on cedrus wiki page. I hope that using more direct approach in ffmpeg this could be solved.

 

Contrary to you, I'm not disappointed, since the work needed to make stable base is enormous. Framework which support such driver (request API) is evolving along AW VPU driver and AW VPU driver will be it's first user.

Share this post


Link to post
Share on other sites
5 hours ago, Tido said:

Really sad to see as it is their statement: 

It is not, that I do not honor what they have done by now, but I was expecting that (with some delay of course) h264 could be built in in such projects like armbian and used with some well known Media-Player. So that people can just use it and watch their movies on their favorite SBC from Allwinner.

 

4 hours ago, jernej said:

would be used (V4L2 interface with new additions)

What tickles you to get that going  versus  doing nothing ?

 

Share this post


Link to post
Share on other sites
17 minutes ago, Tido said:

What tickles you to get that going  versus  doing nothing ?

Cons: I never worked on ffmpeg source or V4L2, so there is large amount of code and documentation to research.

Pros: It is the best way to go on for Kodi. It wouldn't even need any change, while for current approach, it needs a patch, which has to be cared for (I''m not sure if approach taken in that patch would be acceptable for upstream Kodi). I think that other problems could also be avoided like excessive buffering...

 

Please don't take that for granted, I don't know ffmpeg well.

Share this post


Link to post
Share on other sites
2 hours ago, jernej said:

It is the best way to go on for Kodi.

before you spend a lot of time reading code and documentation, did you come across this posting?

https://bootlin.com/blog/allwinner-vpu-main-goals-delivery/   21. July

After several months of hard work by Bootlin engineer Maxime Ripard and intern Paul Kocialkowski, we now have a working demo of Kodi running with our VPU driver on top of a mainline 4.18-rc kernel. Both MPEG2 and H264 are supported, with a fully-optimized pipeline between the VPU and the display side that does not involve any buffer copy or extra transformation that the hardware cannot offload.

 

On 8/18/2018 at 11:47 AM, jernej said:

MPEG2 is with latest version definitely production quality

up until now this is not part of armbian, right ?

 

Share this post


Link to post
Share on other sites
1 minute ago, Tido said:

before you spend a lot of time reading code and documentation, did you come across this posting?

Of course, I'm using Paul's Kodi hack for the moment, but it is proof-of-concept quality.

 

2 minutes ago, Tido said:

up until now this is not part of armbian, right ?

Nope, but it shouldn't be hard to do. I'm maintaining patches for 4.18 for LibreELEC. But truthfully, I didn't test it on anything else than LibreELEC + Kodi on H3. If there won't be any surprises, driver will be merged in 4.20 kernel.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
4 4