top | item 16294397

Allwinner VPU support for the Linux kernel

80 points| throwaway000002 | 8 years ago |kickstarter.com

24 comments

order

jagger27|8 years ago

Allwinner would be pretty foolish not to fully fund this endeavour (including stretch goals). They couldn't do it themselves this cheap. They'd make up the costs in new sales faster from FOSS-minded devs in no time flat and they'll have minimal recurring dev costs in the long run.

To me this is a no-brainer.

ZenoArrow|8 years ago

> "Allwinner would be pretty foolish not to fully fund this endeavour"

Why would they fund it? If they saw the potential benefits, they could probably open source their own closed source drivers and avoid this Kickstarter being needed, or at the very least provide documentation to speed this work along.

WhitneyLand|8 years ago

Why do more work on mpeg-2?

Couldn’t that path just be left without acceleration, being it’s a less complex codec to begin with, usage is not growing, and the data sources are likely smaller to begin with (no 4k for example)?

bonyt|8 years ago

It's still useful for some applications. ATSC digital broadcasts in the U.S., for example, are in MPEG-2, as are the signals provided by many cable companies. I have an HDHomeRun Prime, and purchased the MPEG-2 HW Decoder license[1] for my Raspberry Pi 3 to make things a bit smoother.

[1]: http://www.raspberrypi.com/mpeg-2-license-key/

pedrocr|8 years ago

What kind of hardware is this that makes it usable for encoding/decoding mpeg2/h264/h265? Is this something that should be exposed as a general programming target instead of a set of video specific APIs?

bri3d|8 years ago

As you can see from the documented reverse-engineering of the hardware here:

http://linux-sunxi.org/VE_Register_guide

the device is generally single-function for each codec, with the decoding pipeline implemented in actual hardware. Unless you were able to express your kernel as a data transform used in a common video codec and express your I/O data as pixels, you're unlikely to accelerate a general purpose task this way.

revelation|8 years ago

It's a DSP firmware turned into silicon. If you look at for example the VP8 decoder registers for a Rockchip VPU here:

https://patchwork.kernel.org/patch/8118991/

You can see it's quite specific to the primitives the codec needs. If you want general purpose, we now have Vulkan for that.

(And this one is reasonably low-level. On some like the Raspberry Pi, you throw bitstream over the wall to a coprocessor which gives you YUV back)