|
First goal is to actually have mainline HDMI driver, but yes, having better support for all functionality, including passtrough audio and all resolution support. That should not be hard to implement now that I understand the hardware and most important parts are already mainlined.
You are mixing multiple peripherals. Video playback requires many peripherals to work properly. It all begins when VPU (video processing unit, named Video Engine, better known by driver names - Cedrus, CedarX) decodes video frame. This frame is handed over to compositor (DE2), which crops, resizes and compose final image. This image is then feed to timing controller (TCON) which serializes image and feeds it into HDMI controller. Here is packetized according to HDMI standard and spit out to a cable through HDMI PHY (physical output). Ok, I'm not completely sure if everything here is correct or I missed something, but you get the picture. 10 bit HEVC support depends on VPU capabilities. Unfortunatelly, there is no proof that any Allwinner chip has VPU which can decode 10 bit HEVC. In some Allwinner materials 10 bit HEVC support is mentioned, but that could easily mean that CPU is fast enough for software decoding. Such deception already happened with A80 and HEVC support (8 bit) according to some people on #linux-sunxi IRC.
Currently, community works on DE2 and HDMI parts of this chain. TCON and TV out parts are mostly done. When this is done, mainline kernel will be fully capable of playing software decoded videos. Actually, with some tricks, present in Armbian dev version, it is already possible to watch videos, but not efficiently and with analog audio output only. Somebody already started working on VPU driver, but unfortunatelly, he abandoned the effort. Lets hope someone will pick it up soon. |
|