Hacker News new | ask | show | jobs
by pedrocr 3053 days 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?
2 comments

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.

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)

On Raspberry Pi it's not clear who is coprocessor, actually.