Difference between revisions of "Mainline Hardware Decoding"

From PINE64
Jump to navigation Jump to search
Line 3: Line 3:
Onboard most SoCs there is what is referred to as a VPU (Video Processing Unit). The VPU is reponsible for efficient encoding and decoding of videos. Video decoding can be extremely useful for example if you wanted to watch or stream video from your device without a high CPU utilization (which results from software decoding). Below information can be found on the various SoCs used by PINE64 and their state of video decoding as a result of the mainline Linux drivers and software.
Onboard most SoCs there is what is referred to as a VPU (Video Processing Unit). The VPU is reponsible for efficient encoding and decoding of videos. Video decoding can be extremely useful for example if you wanted to watch or stream video from your device without a high CPU utilization (which results from software decoding). Below information can be found on the various SoCs used by PINE64 and their state of video decoding as a result of the mainline Linux drivers and software.


=Allwinner-based devices=
=Cedrus and Hantro=


In 2018 Bootlin launched a crowdfunding campaign to bring a open source Allwinner VPU driver to mainline Linux, which became called Cedrus.
In 2018 Bootlin launched a crowdfunding campaign to bring a open source Allwinner VPU driver to mainline Linux, which became called Cedrus. The Cedrus media driver (For Allwinner SOCs such as A64) supported by mainline Linux supports H.264 and H.265 video decoding as of Linux 5.10, and with 5.11 came VP8 decoding support and a H.264 stateless video decoder interface. For more information refer to the [https://linux-sunxi.org/Sunxi-Cedrus#Codec_Support Sunxi wiki].


The Cedrus media driver (For Allwinner SOCs such as A64) supported by mainline Linux supports H.264 and H.265 video decoding as of Linux 5.10, and with 5.11 came VP8 decoding support and a H.264 stateless video decoder interface. For more information refer to the [https://linux-sunxi.org/Sunxi-Cedrus#Codec_Support Sunxi wiki].
The Hantro media driver supports Rockchip and NXP SoCs including the RK3399 used in the Pinebook Pro and RockPro64. In November 2020 it [https://www.cnx-software.com/2020/11/24/hantro-h1-hardware-accelerated-video-encoding-support-in-mainline-linux/ was announced] that Bootlin was working on encoding support for the driver.


=Rockchip-based devices=
==GStreamer==
H264 video decoding is possible when using GStreamer built from source, or an application utilizing it such as [https://github.com/Rafostar/clapper Clapper] or [https://flathub.org/apps/details/org.sigxcpu.Livi µPlayer]
 
==FFmpeg==


The Hantro media driver supports Rockchip and NXP SoCs including the RK3399 used in the Pinebook Pro and RockPro64. In November 2020 it [https://www.cnx-software.com/2020/11/24/hantro-h1-hardware-accelerated-video-encoding-support-in-mainline-linux/ was announced] that Bootlin was working on encoding support for the driver.


==More Resources==
==More Resources==


https://xnux.eu/devices/feature/cedrus-pp.html
https://xnux.eu/devices/feature/cedrus-pp.html
https://briandaniels.me/2021/06/27/hardware-accelerated-video-playback-on-the-pinephone.html
https://briandaniels.me/2021/07/06/hardware-accelerated-video-playback-on-the-pinephone-with-clapper.html

Revision as of 01:00, 6 September 2021

This page is incomplete, you're welcome to improve it.

Onboard most SoCs there is what is referred to as a VPU (Video Processing Unit). The VPU is reponsible for efficient encoding and decoding of videos. Video decoding can be extremely useful for example if you wanted to watch or stream video from your device without a high CPU utilization (which results from software decoding). Below information can be found on the various SoCs used by PINE64 and their state of video decoding as a result of the mainline Linux drivers and software.

Cedrus and Hantro

In 2018 Bootlin launched a crowdfunding campaign to bring a open source Allwinner VPU driver to mainline Linux, which became called Cedrus. The Cedrus media driver (For Allwinner SOCs such as A64) supported by mainline Linux supports H.264 and H.265 video decoding as of Linux 5.10, and with 5.11 came VP8 decoding support and a H.264 stateless video decoder interface. For more information refer to the Sunxi wiki.

The Hantro media driver supports Rockchip and NXP SoCs including the RK3399 used in the Pinebook Pro and RockPro64. In November 2020 it was announced that Bootlin was working on encoding support for the driver.

GStreamer

H264 video decoding is possible when using GStreamer built from source, or an application utilizing it such as Clapper or µPlayer

FFmpeg

More Resources

https://xnux.eu/devices/feature/cedrus-pp.html https://briandaniels.me/2021/06/27/hardware-accelerated-video-playback-on-the-pinephone.html https://briandaniels.me/2021/07/06/hardware-accelerated-video-playback-on-the-pinephone-with-clapper.html