VideoCore is a low-power mobile multimedia processor architecture originally developed by Alphamosaic Ltd and now owned by Broadcom. Its two-dimensional DSP architecture makes it flexible and efficient enough to decode as well as encode a number of multimedia codecs in software, while maintaining low power usage. The semiconductor intellectual property core (SIP core) has been found so far on Broadcom SoCs.
Multimedia system constraints
Mobile multimedia devices require a lot of high-speed video processing but at low power for long battery life. The ARM processor core has a high IPS per watt figure, and thus dominates the mobile phone market, but requires video acceleration coprocessors and display controllers for a complete system. The amount of data passing between these chips at high speed results in higher power consumption. A single processing unit has to be clocked very fast for video processing, and power is proportional to clock speed, so a single-processor solution will be power hungry.
VideoCore key features
- Instruction set written with video processing in mind from the start. For example, saturation arithmetic so that the sum of two bright pixels does not 'wrap around' into dark values.
- An array of graphics processing units for parallel computing of video data at relatively low clock speed
- Very high integration puts CPU, GPUs, memory and display circuitry on a single chip, removing the power burden of driving fast off-chip buses.
The VideoCore I-based VC01 provides video and multimedia capabilities to various Samsung phones, including SCH-V540, SCH-V4200, SCH-V490
The VideoCore IV BCM2763 processor improves on the VideoCore III with support for 1080p encode and decode, along with higher resolution camera support and faster 2D and 3D graphics, all at very low power. It is used e.g. in the Nokia 808 PureView.
The VideoCore IV BCM28155 processor supports for 1080p encode and decode, improved 2D and 3D graphics with dual-core ARM Cortex-A9 CPU in BCM28155 chipset. It is used in the Samsung Galaxy S II Plus, Samsung Galaxy Grand and the Samsung Galaxy S Duos 2.
Table of SoCs adopting VideoCore SIP blocks
|VC01||VideoCore 1||none||CIF||Samsung SCH-V490, Samsung SCH-V420, Samsung SCH-V450, Samsung SCH-V4200, Samsung SCH-V540, Samsung SCH-X699,|
|BCM2702 (VC02)||VideoCore 2||none||SD PAL/NTSC||TCL D308, TCL D918, Samsung SPH-B3100, Samsung SPH-P730, Sandisk v-mate, BenQ S700, O2 X3, Nintendo Play-yan, Sagem MyMobileTV,|
|BCM2705 (VC05)||VideoCore 2||none||SD PAL/NTSC|
|BCM2722||VideoCore 2||none||SD PAL/NTSC||Apple's 5th generation iPod|
|BCM2724||VideoCore 2||none||SD PAL/NTSC|
|BCM2727||VideoCore 3||none||HD 720p||Nokia N8|
|BCM11181||VideoCore 3||None||HD 720p|
|BCM2763||VideoCore 4||none||Full HD 1080p||Nokia 600, Nokia 700, Nokia 701, Nokia 603, Nokia 808|
|BCM2820||VideoCore 4||ARM1176||Full HD 1080p|
|BCM2835||VideoCore 4||ARM1176 (700 MHz)||Full HD 1080p||Raspberry Pi, Roku 2|
|BCM11182||VideoCore 4||N/A||Full HD 1080p|
|BCM11311||VideoCore 4||Cortex-A9 Dual-core||Full HD 1080p|
|Full HD 1080p||Samsung Galaxy Fame(all variants GT-S6810/GT-S6810P/GT-S6812)|
|BCM21654G||VideoCore 4||Up to 1 GHz Cortex-A9||HD 720p|
|BCM21663||VideoCore 4||Up to 1.2 GHz Cortex-A9||HD 720p|
|BCM21664||VideoCore 4||Up to 1 GHz Cortex-A9||HD 720p|
|BCM21664T||VideoCore 4||Up to 1.2 GHz Cortex-A9||Full HD 1080p||Samsung Galaxy Ace Style|
|BCM28150||VideoCore 4||Cortex-A9 Dual-core||Full HD 1080p||Aimed at 3G baseband processing, powerful enough to run Android OS.|
|BCM21553||VideoCore 4||ARM11 Compatible ARMv6 Based on ARM Cortex-A9||Full HD 1080p||Samsung Galaxy Y Samsung Wave Y, Samsung Galaxy Mini (GT-S5570i), Samsung Galaxy Ace (models 5830i/c/m and 5839i), Vodafone Smart 2 (Alcatel TCT V860)|
|BCM28145/28155||VideoCore 4||Up to 1.2 GHz Dual-core Cortex-A9 based on ARMv7||Full HD 1080p||Samsung Galaxy SII Plus, Samsung Galaxy Grand, Samsung Galaxy Core Plus, Samsung Galaxy S Duos 2, Samsung Galaxy Trend Plus (GT-S7580)|
|BCM23550||VideoCore-based||Up to 1.2 GHz Quad-core Cortex-A7 based on ARMv7||Full HD 1080p|
VideoCore chips can run complete applications - they are not simply video DSP chips that require a separate processor to supply and collect data. In practice they are often used like this, as companies usually prefer to cautiously assimilate new technology rather than take a big risk in porting a large amount of application code from an existing ARM-based design. The Apple video iPod is a good example of this approach.
Low-power laptops use low-power processors and graphics chips, and therefore often struggle to play video at full frame rates. It isn't desirable or practical to port a full operating system onto a VideoCore chip, so only the video decoding need be offloaded onto a video accelerator board (e.g. using the BCM70015 chip).
Blu-ray players can also use it as a low-power video accelerator.
Noting that VideoCore chips were usually used with ARM-based chips, the latest chips have VideoCore and ARM processors.
On 28 February 2014, on the day of the second anniversary of the Raspberry Pi Broadcom, together with the Raspberry Pi foundation, announced the release of full documentation for the VideoCore IV graphics core, and a complete source release of the graphics stack under a 3-clause BSD license
- Official Broadcom VideoCore® IV 3D Architecture Reference Guide: http://www.broadcom.com/docs/support/videocore/VideoCoreIV-AG100-R.pdf
In June 2014 Eric Anholt left Intel to instead work for Broadcom to develop a free driver (DRM/KMS driver and Gallium3D-driver) for VC4 (VideoCore 4). After just one week, he reported a noteworthy progress.
|“||I've taken on a new role as an open source developer there. I'm going to be working on building an MIT-licensed Mesa 3D and kernel DRM driver for the 2708 (aka the 2835), the chip that's in the Raspberry Pi.||”|
—Eric Anholt, http://anholt.livejournal.com/44239.html
The free licensed 3D graphics code was committed to mesa on 2014-08-09, and first appeared on 10.3 release.
The Broadcom YouTube page has videos demonstrating the video processing capability, but their website only goes as far as providing product briefs. Detailed data and development tools are only available under NDA, and then only for manufacturers with a market for very many units. However, on 28 February 2014, on the day of the second anniversary of the Raspberry PI Broadcom, together with the Raspberry PI foundation, announced the release of full documentation for the VideoCore IV graphics core, and a complete source release of the graphics stack under a 3-clause BSD license
- Alphamosaic Ltd > Technology – VideoCore, archived on 9 February 2003.
- Ars Technica: Video iPod – Vivisection, accessed on 29 March 2008.
- Raspberry Pi - FAQ
- Engadget - Roku 2 line passes through the FCC with modest hardware updates and a reset button
- "Eric Anholt Leaves Intel's Linux Graphics Team For Broadcom". 2014-06-17.
- "VC4 Linux driver".
- "VC4 driver week 1". 2014-06-22.
- Broadcom YouTube page