Most Embedded GPUs Do NOT Support Hardware Video Decoding Acceleration. The VPU Does.

Many people seem to get confused with the actual function of GPUs used in embedded (ARM / MIPS) SoC, and I can often read comments similar to “with lima drivers we should get video decoding in XBMc soon”,  and I’ve just received any email reading “My main task is to build a full hd media player based on ffmpeg with hardware decoding acceleration for Linux. Is it possible with mali400mp4?”. So I’ve decided to write a short post about it to make things a bit more clear. Contrary to GPUs in the PC world, embedded GPUs only take care of 3D, and sometimes 2D graphics, and leave video encoding and/or decoding to another block called Video Processing Unit (VPU). There’s at least one exception with Broadcom Videocore IV GPU as found in the processor used in the Raspberry Pi that apparently takes care of 2D & 3D graphics as well as hardware video decoding & encoding, but this is not […]

Practical Applications and Benchmarks of GPU Computing via RenderScript and OpenCL with ARM Mali-T6XX GPU

Since the announcement of ARM Mali-T604 in 2010, ARM has explained that GPGPU (General Purpose computing on GPU), aka GPU Compute, would be one of the key features of their new Mali graphics processor, and the company now expects GPGPU to become mainstream in embedded and mobile devices in 2014 and beyond. I’ve just come across a presentation by Roberto Mijat, technical marketing manager at ARM, entitled “Unleashing the benefits of GPU Computing with ARM Mali” which shows practical applications and use cases where the use of RenderScript, or OpenCL can make massive performance improvements, at much lower power consumption, over the same parallel tasks processed by the CPU only. Let’s have a look at some of the most interesting slides. GPU compute can be used for multiple applications in mobile, multimedia, and automotive sectors. GPU Compute for H.265 / HEVC HEVC aka H.265 is the next generation codec providing twice the bandwidth with the same quality compared to H.264. […]

Ubuntu Linaro 12.11 with 2D/3D Mali-400 GPU Acceleration on ODROID-X Development Board

A few days ago, Hardkernel released the first version of Ubuntu 12.11 (Linaro) with Mali-400 GPU support for their ODROID boards (ODROID-X/X2, ODROID-U/U2). This is still WIP (Work in Progress), but this is one of the few boards together with Pandaboard, Origen and Snowball that can support 2D/3D GPU acceleration in Ubuntu Quantal. Since I have an ODROID-X development board, I decided to give it a try. There are different ways to install it. I chose the way that is most convenient for me (LCD display instead of HDMI), and likely to yield more performance (eMMC instead of SD Card). The current installation instructions to eMMC are extremely cumbersome and you have to go through 5 main steps: Install Android (yes, seriously) in the eMMC Install Ubuntu in the SD Card Install Ubuntu to the eMMC Upgrade Ubuntu to the latest version Install the Mali drivers In this post I’m going to go through all those steps, and do some […]

Open ARM GPU Drivers FOSDEM 2013 Video and Call to ARM Management

As I previously wrote, FOSDEM organizers are slowly uploading FOSDEM 2013 videos. One of the most interesting talk “Open ARM GPU Drivers” is now available. I’ve also uploaded it to YouTube (embedded below) to give it more exposure. Luc Verhaegen has also written a recent blog post entitled “Hey ARM!” where he announces the release of the modified source for Quake 3 Arena demo, and asks ARM to join them in making an open source driver. Open ARM GPU Drivers @ FOSDEM2013 This session covers the following key points: Problem – Binary drivers are mainly designed to run in Android, and it’s very difficult to have proper GPU drivers for Linux, and companies are not interested to release open source drivers or even just documentation, as they are not convinced it will benefit them in any way. Legal – This is actually the main issue, as open sourcing existing driver is a legal nightmare, and may cost a lot of […]

AllWinner A10s Processor Overview

Between the AllWinner A10 and AllWinner A13 processors, there’s now an alternative. AllWinner A10s is based on AllWinner A13 architecture (sun5i), but adds HDMI and Ethernet MAC which makes it suitable for mini PCs and set-top boxes. The first time I heard about this processor was in August with IP878 mini PC, and in October, one reader (Alex) informed me AllWinner had posted more details about his new processor. Here are the key features of this (relatively) new SoC: CPU/GPU – ARM Cortex-A8 Core with 32KB D-Cache/ 32KB I-Cache / 256KB L2 Cache, and Mali-400 VPU HD Video Decoding [email protected] of VP8/6, H.264/H.263, WMV9/VC-1, WMV7/8, MPEG-4/2/1, Xvid codecs HD Video Encoding [email protected] with H.264 codec Video Out – HDMI 1.4 (1080p), Memory Up to 1GB DDR2/DDR3 up to 533MHz (16/32 bits Data Bus) MLC/TLC/SLC/EF-NAND ECC 64-bit Peripherals: USB2.0 OTG, USB2.0 HOST (OHCI/EHCI) SD Card V.3.0, eMMC V.4.2 SPI, TWI and UART TS Port EMAC CSI I2S IR interface, GPIOs, etc… […]

ARM Announces 3 New Midgard GPUs – Mali-T624, Mali-T628 and Mali-T678

ARM announced the second generation of the Mali-T600 Series GPUs targeting tablets, smartphones and smart TVs. Those new GPUs provide up to 50% performance increase over the first generation Midgard GPUs (T-604 & T-658) and include  support for Adaptive Scalable Texture Compression (ASTC), a texture compression technique. The company explains that ASTC significantly optimizes GPU performance and increases battery life in devices. Those 3 new GPUs based on Mali Midgard architecture are named as follows: Mali-T624 – 1 to 4 cores – Market: Smartphones and smart-Tvs Mali-T628 – 5 to 8 cores – Market: Smartphones and smart-Tvs Mali-T678 – Up to 8 cores, 4x the GPU compute performance of Mali-T628 – Market: Tablets As with previous Midgard GPUs, the new GPUs support GPU compute with improves performance and energy-efficiency for math intensive activities, such as: Computational photography – computational methods of enhancing or extending digital photography Multi perspective views – the ability to have multiple views from different positions Real-time […]