Allwinner VPU gets open-source Linux driver for its H.264 hardware video encoder

Allwinner V3s open source Linux video encoding driver

Long-time readers of CNX Software may remember Bootlin’s crowdfunding campaign launched in 2018 to bring open-source Allwinner VPU drivers to take care of hardware video encoding and decoding in mainline Linux. They managed to raise enough funds (over 30,000 Euros) from small donors and several companies (Olimex, Pine64, Libre Computer, FriendlyELEC, and Orange Pi) to work on open-source VPU drivers for mainline Linux, but only for MPEG2, H264, and H265 decoding for in a range of Allwinner SoCs such as the A20 and H5, but not quite enough to cover the cost of H264 video encoding. Five years later, Bootlin took it upon themselves to complete the work without backing or support from Allwinner and have now released an open-source Linux-kernel based V4L2 driver to support the H.264 video encoder found in Allwinner V3, V3s, and S3 camera SoCs. The new driver builds upon earlier work by the company to […]

AMD Alveo MA35D media accelerator transcodes up to 32 1080p60 AV1 streams in real-time

AMD ALVEO MA350 AV1 real-time encoding card

AMD Alveo MA35D media accelerator PCIe card is based on a 5nm ASIC capable of transcoding up to 32 Full HD (1080p60) AV1 streams in real-time and designed for low-latency, high-volume interactive streaming applications such as watch parties, live shopping, online auctions, and social streaming. AMD says the Alveo MA35D utilizes a purpose-built VPU to accelerate the entire video pipeline, and the ASIC can also handle up to 8x 4Kp60, or 4x 8Kp30 AV1 streams per card. H.264 and H.265 codecs are also supported, and the company claims its “next-generation AV1 transcoder engines” deliver up to a 52% reduction in bitrate at the same video quality against “an open source x264 veryfast SW model”. AMD Alveo MA350 highlights: Auxiliary CPU – 2x 64-bit quad-core RISC-V to perform control and board management tasks AI Processor – 22 TOPS per card for AI-enabled “smart streaming” for video quality optimization Memory – 16GB […]

Linux hardware video encoding on Amlogic A311D2 processor

amlogic a311d2 h265 hardware video encoding sample

I’ve spent a bit more time with Ubuntu 22.04 on Khadas VIM4 Amogic A311D2 SBC, and while the performance is generally good features like 3D graphics acceleration and hardware video decoding are missing. But I was pleased to see a Linux hardware video encoding section in the Wiki, as it’s not something we often see supported early on. So I’ve given it a try… First, we need to make a video in NV12 pixel format that’s commonly outputted from cameras. I downloaded a 45-second 1080p H.264 sample video from Linaro, and converted it with ffmpeg:

I did this on my laptop. As a raw video, it’s pretty big with 3.3GB of storage used for a 45-second video:

Now let’s try to encode the video to H.264 on Khadas VIM4 board using aml_enc_test hardware video encoding sample:

The output explains the parameters used. There are some error messages, […]

Software-based neural video decoder leverages AI accelerator on Snapdragon 888

Software video decoding ai accelerator

Sometimes hardware blocks got to work on tasks they were not initially designed to handle. For example, AI inference used to be mostly offloaded to the GPU before neural network accelerators became more common in SoC’s. Qualcomm AI Research has now showcased a software-based neural video decoder that leverages both the CPU and AI engine in Snapdragon 888 processor to decode a 1280×704 HD video at over 30 fps without any help from the video decoding unit. The neural video decoder is still a work in progress as it only supports intra frame decoding, and inter frame decoding is being worked on. That means each frame is currently decoded independently without taking into account small changes between frames as all other video codecs do. The CPU handles parallel entropy decoding while the decoder network is accelerated on the 6th generation Qualcomm AI Engine found in Snapdragon 888 mobile platform. This […]

Hantro H1 hardware accelerated video encoding support in mainline Linux

Hantro H1 Block diagram

With the increasing need for video encoding, there are some breakthrough developments in hardware-accelerated video encoding for Linux. Bootlin has been working on the implementation of Hantro H1 hardware accelerated video encoding to support H.264 encoding on Linux which follows the company’s work on the previously-released open-source VPU driver for Allwinner processors. Hantro H1 Hardware Hantro H1 is a common hardware H.264 encoder, it can also do VP8 and JPEG. It is found in a few ARM SoCs including a lot of Rockchip (RK3288, RK3328, RK3399, PX30, RK1808) and NXP (i.MX 8M Mini). Depending on the version, it can support up to 1080p at 30 or 60 fps. Here we can see different blocks used for encoding. Hantro H1 is a stateless hardware implementation which means it has no microcontroller or firmware running. As can be seen in the diagram, it has a pre-processor that can do things like cropping, […]

Wondershare Repairit Online, a free online video repair tool (Sponsored)

Online Video Repair Tool

Videos may get corrupted due to issues during download, transfer to PC, or corrupted storage. But if that happens to you, don’t despair as there are tools to repair videos such as Wondershare Repairit Online. The free online video repair tool allows you to simply upload one of your damaged videos to the website, no signup required, and after processing, you’ll be able to download the repaired video directly from the website. The screenshot below shows a video uploaded anonymously from the latest Firefox browser in Ubuntu 20.04, so it really works with any browser and OS, and I did not need to provide any information like email or name. Repairit Online can repair damage to the video containers (metadata, index, header, parameters, etc.), quality issues (black screen, stuttering, out of sync audio), and various Windows video error codes (0xc00d36c, 0xc1010103, 0xc10100aa, etc..). Beyond videos stored on your computer, Repairit […]

How to develop Gstreamer-based video conferencing apps for RDK & Linux set-top boxes

gstreamer zoom video conference

CNXSoft: This is a guest post by Promwad that explains the basic steps to develop a video conferencing app with Gstreamer on TV boxes running Linux. The COVID-19 pandemic has become a catalyst for new online services. For example, Zoom became so successful that it overtook IBM in terms of capitalization this month. The software engineers at Promwad were inspired by this success and decided to go even further: what about implementing video conferencing on Smart TV and STBs? Then the users of such an application will have an opportunity to communicate not only at work but also to enjoy remote meetings with friends, cheer for a soccer team, watch a movie together, or do sports with a coach. For some reason, most digital TV operators do not have such a service, although, from an engineering point of view, all these features can be implemented on set-top boxes based on […]

Sponsored: Wondershare UniConverter is an All-in-One Video Converter, Recorder and Editor

Uniconverter Video Editor

You may have multiple programs or plugins to manage your videos, one to download videos from the web, one to edit your own videos, a separate video converter, etc… and they may have incompatibilities, leading to some painful headaches. Available for both Windows and Mac OS, Wondershare UniConverter should make handling videos much easier as an all-in-all video suite that allows you to convert, edit, and download videos, as well as burn video DVDs and transfer videos to mobile phones and other devices. Key features of Wondershare UniConverter include: Video conversion of 1000 formats at up to 30x faster speed without quality loss, and with the ability to greatly reduce video size. Video Editing with support for Cropping & trimming Saturation, brightness & contrast adjustment Special effects such as BW filter, Raindrop, and many other filters Watermarks, either text or images Adding external subtitles from local files (.srt, .ass, or […]