Kodi 21.0 “Omega” has just been released with the latest version of the open-source media center adding 3,750 commits since the release of Kodi 20.0 “Nexus” on January 15th, 2023 that notably added AV1 hardware decoding in Android and x86. The new Kodi 21.0 version updates FFmpeg to version 6, adds native support for LG webOS televisions after some reverse-engineering, and implements new features such as Dolby Vision on-the-fly profile conversion in Android, native windowing in macOS that does not rely on the SDL library, and an in-game player viewer to view which game port each player’s controller is currently connected to. Most of the changes were not user-facing and instead, were under-the-hood improvements to the stability, performance, and security of Kodi. You’ll find more changes in the Kodi 21.0 Alpha/Beta/RC pre-release announcements and the complete list of changes on GitHub. That also means Kodi v22 “P*” development has started. […]
JellyFin adds support for Rockchip RK3588 MPP hardware acceleration
Jellyfin open-source media server has recently added support for Rockchip RK3588 MPP hardware acceleration, which means the software supports video hardware decoding and encoding, hardware scalers, and other features. The GitHub request lists the following changes: Add full HWA transcoding pipeline for Rockchip RKMPP HW decoder (MPEG1, MPEG2, MPEG4, H264, HEVC, VP8, VP9, AV1) HW encoder (H264, HEVC) up to 1080p @ 480fps / 4k @ 120fps on RK3588 HW scaler, format conversion, and subtitle burn-in HW HDR-to-SDR tone-mapping (requires OpenCL, RK3588 only) The OpenCL runtime can be downloaded and installed from libmali-valhall-g610-g13p0-x11-wayland-gbm_1.9-1_arm64.deb Support lossless AFBC (Arm frame buffer compression) to save memory bandwidth and improve FPS Support async RGA filter and MPP encoder If indeed decoding and encoding can be performed simultaneously, that would mean video transcoding can be offloaded to the Rockchip RK3588’s VPU. The changes has been tested with Linux 5.10 and Linux 6.1, but do not […]
Firefly AIO-1684XQ motherboard features BM1684X AI SoC with up to 32 TOPS for video analytics, computer vision
Firefly AIO-1684XQ is a motherboard based on SOPHGO SOPHON BM1684X octa-core Cortex-A53 AI SoC delivering up to 32TOPS for AI inference, and designed for computer vision applications and video analytics. The headless machine vision board is equipped with 16GB RAM, 64GB eMMC flash, and 128MB SPI flash, and comes with a SATA 3.0 port, dual Gigabit Ethernet, optional 4G LTE or 5G modules, four USB 3.0 ports, and a terminal block with two RS485 interface, two relay outputs, and a few GPIOs. Firefly AIO-1684XQ specifications: SoC – SOPHGO SOPHON BM1684X CPU – Octa-core Arm Cortex-A53 processor @ up to 2.3 GHz TPU – Up to 32TOPS (INT8), 16 TFLOPS (FP16/BF16), 2 TFLOPS (FP32) VPU Up to 32-channel H.265/H.264 1080p25 video decoding Up to 32-channel 1080p25 HD video processing (decoding + AI analysis) Up to 12-channel H.265/H.264 1080p25fps video encoding System Memory – 16GB LPDDR4x Storage 64GB eMMC flash 128MB SPI […]
AMD Alveo MA35D media accelerator transcodes up to 32 1080p60 AV1 streams in real-time
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 […]
FOSDEM 2023 schedule – Open-source Embedded, Mobile, IoT, Arm, RISC-V, etc… projects
After two years of taking place exclusively online, FOSDEM 2023 is back in Brussels, Belgium with thousands expected to attend the 2023 version of the “Free and Open Source Developers’ European Meeting” both onsite and online. FOSDEM 2023 will take place on February 4-5 with 776 speakers, 762 events, and 63 tracks. As usual, I’ve made my own little virtual schedule below mostly with sessions from the Embedded, Mobile and Automotive devroom, but also other devrooms including “Open Media”, “FOSS Educational Programming Languages devroom”, “RISC-V”, and others. FOSDEM Day 1 – Saturday February 4, 2023 10:30 – 10:55 – GStreamer State of the Union 2023 by Olivier Crête GStreamer is a popular multimedia framework making it possible to create a large variety of applications dealing with audio and video. Since the last FOSDEM, it has received a lot of new features: its RTP & WebRTC stack has greatly improved, Rust […]
Kodi 20 “Nexus” Alpha 1 gets AV1 hardware decoding, DietPi 8.5 released
I’ll combine two unrelated short news about software releases for TV boxes, Raspberry Pi, and other SBCs: Kodi 20 “Nexus” Alpha 1 media center, and DietPi 8.5 lightweight Debian-based image for SBC’s. Kodi 20 “Nexus” Alpha 1 The first alpha release of Kodi 20 “Nexus” is out with one highlight being support for AV1 hardware video decoding in Android and x86 (VAAPI) platforms with AV1-capable GPU or VPU. Other notable changes include: FFMPEG upgraded to version 4.4 Plenty of subtitle related changes: Added Steam Deck built-in controller support Initial support for M1 native including native windowing/input handling Pipewire support in Linux Various PVR improvements including in terms of performance when a large number of channels is displayed You’ll find more details in the announcement. The RetroPlayer project based on Kodi, but adding some game-related features, has also released some test images based on Kodi 20. Note that since it’s an […]
Linux hardware video encoding on Amlogic A311D2 processor
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:
1 |
ffmpeg -i big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4 -pix_fmt nv12 big_buck_bunny_1080p_H264_AAC_25fps_7200K-nv12.yuv |
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:
1 2 3 4 |
ls -lh total 3.3G -rw-rw-r-- 1 jaufranc jaufranc 40M Aug 5 2011 big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4 -rw-rw-r-- 1 jaufranc jaufranc 3.3G May 21 15:03 big_buck_bunny_1080p_H264_AAC_25fps_7200K-nv12.yuv |
Now let’s try to encode the video to H.264 on Khadas VIM4 board using aml_enc_test hardware video encoding sample:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
khadas@Khadas:~$ time aml_enc_test 1080p.nv12 dump.h264 1920 1080 30 25 6000000 1125 1 0 2 4 src_url is : 1080p.nv12 ; out_url is : dump.h264 ; width is : 1920 ; height is : 1080 ; gop is : 30 ; frmrate is : 25 ; bitrate is : 6000000 ; frm_num is : 1125 ; fmt is : 1 ; buf_type is : 0 ; num_planes is : 2 ; codec is : 4 ; codec is H264 Set log level to 4 [initEncParams:177] enc_feature_opts is 0x0 , GopPresetis 0x0 [SetupEncoderOpenParam:513] GopPreset GOP format (2) period 30 LongTermRef 0 [vdi_sys_sync_inst_param:618] [VDI] fail to deliver sync instance param inst_idx=0 [AML_MultiEncInitialize:1378] VPU instance param sync with open param failed [SetSequenceInfo:979] Required buffer fb_num=3, src_num=1, actual src=3 1920x1080 Encode End!width:1920 real 0m26.074s user 0m1.832s sys 0m4.883s |
The output explains the parameters used. There are some error messages, […]
DirectFB2 project brings back DirectFB graphics library for Linux embedded systems
DirectFB2 is a new open-source project that brings back DirectFB, a graphics library optimized for Linux-based embedded systems that was popular several years ago for 2D user interfaces but has since mostly faded away. DirectFB2 attempts to preserve the original DirectFB backend while adding new features such as modern 3D APIs like Vulkan and OpenGL ES. I personally used it in 2008-2009 while working with Sigma Designs media processors that relied on the DirectFB library to render the user interfaces for IPTV boxes, karaoke machines, and so on. I remember this forced me to switch from a MicroWindows + Framebuffer solution, but the DirectFB API was easy enough to use and allowed us to develop a nicer user interface. I found out about the new project while checking out the FOSDEM 2022 schedule and a talk entitled “Back to DirectFB! The revival of DirectFB with DirectFB2” which will be presented […]