Raspberry Pi Codecs and Graphics/Video APIs

The Raspberry Pi Foundation has announced which codecs and API would be supported in the Raspberry Pi.

The Raspberry Pi board will support the following Graphics and Video API via a set of closed source libraries that give access to the GPU acceleration features:

  • OpenGL ES 2.0 –  OpenGL is a 3D Graphics API defined by the Khronos Group.
  • OpenVG – OpenVG is a 2D vector drawing API also defined by the Khronos Group.
  • EGL – EGL is the interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.
  • OpenMAX IL – OpenMAX supplies a set of API’s that provides abstractions for routines used during audio, video, and still images processing. OpenMAX defines 3 layers, Raspberry Pi library will provide an interface to the IL layer, which provides an interface between media framework such as Gstreamer and a set of multimedia components.

The first three libraries are standard in Linux, so porting existing applications using those standard API should be straightforward. OpenMAX does not have standard implementation in Linux, so Broadcom (via R-Pi) will provide a custom implementation.

You can see Raspberry Pi hardware-accelerated “Multimedia” software architecture in the diagram below. It also shows which part is open source and which one is closed source.

Raspberry Pi Video & Graphics Hardware Acceleration

Broadcom BCM2835 Videocore GPU can hardware decode H264, MPEG1/2/4, VC1 (used in WMV), AVS and MJPG at 1080p30. It can also decode VP6, VP7, VP8, RV, Theora, WMV9 at DVD resolutions with vector acceleration.

However, since Raspberry Pi board model B must not exceed 35 USD, and licensed codecs can be expensive, the Raspberry Pi will only support the following (licensed) codecs:

  • MPEG4
  • h.264

That’s it. I suppose MPEG4 means DivX and Xvid codec will be supported as they are simply MPEG4 implementations.

License free codecs such as VP8, MJPG and Theora may be supported, but the Raspberry Pi Foundation did confirm it.

That means WMV, MPEG2, MPEG1, AVS, VP6, VP7 and RealVideo won’t be supported.

I’ve asked them if users could purchase codec licenses separately (as It is (was?) done with Archos tablets), they  said they could consider it by it is time consuming and may not be of much benefit to the Foundation.

Leave a Reply

Notify of