Revision as of 15:58, 24 August 2023 by Tim Bird (talk | contribs) (File:Robot64x64.png ELC2013 Tech Zone Contest)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



Here are some miscellaneous resources related to audio, video and graphics systems under Linux:

Also see the section on User Interfaces.

CELF 2.0 Specification for AVG

(more like a set of recommendations rather than a specification)

Audio Video Working Group

Please see the CELF wiki for more information: Audio Video Graphics Working Group

Some AVWG related Outdated pages

DirectFB study

What is DirectFB, How Does DirectFB Work


Sample Implementation of DirectFB on an embedded Linux platform

Porting DirectFB

Some DirectFB benchmark on embedded Linux platform

Benchmark DirectFB

Related Projects

Graphics/Video out


Stores the frame information in the videos ....





OpenGL (OpenML)


  • immediate renderer library with very bare bones primitives like rectangle fill and blit. Since it exposes just framebuffer and few primitives, it's easy to port to different platforms, actually it was born as a way to port Windows games to Linux.


  • is an immediate renderer library that can do complex vector graphics, including matrix transforms. It runs on top of DirectFB, X11, memory buffers and more. It is the base of some toolkits like GTK and applications like Firefox.


  • is an object-oriented 3d canvas on top of OpenGL (or OpenGL-ES) with scene management. It is based on GLib/GObject and matches nicely GNOME platform. Many powerful Linux mobile devices will ship with Clutter-based intefaces in near future, like Intel's Moblin, Ubuntu Mobile and Maemo.

Enlightenment Foundation Libraries (EFL)

The Enlightenment Foundation Libraries contains Evas, an object-oriented 2d canvs on top of OpenGL/X11, XRender/X11, X11, FB, DirectFB, DirectDraw and more. It includes scene management and integrates with Ecore, matches nicely other EFL components like Edje. It's used by some media centers and the OpenMoko phone. See Gustavo Barbieri conference at Embedded Linux Conference Europe 2008, slides and video. Gustavo's company, ProFUSION, offers services around EFL.


  • Qt is a crossplatform graphics toolkit with support for framebuffer and X. Has advanced animation capabilities using Graphics View framework.

Storyboard Suite (Storyboard Designer/Engine from Crank Software)

  • The Storyboard Suite from Crank Software provides a complete environment to design, develop and deploy embedded user interfaces across multiple rendering technologies (DirectFB, FBDev, SDL, OpenGL, OpenVG, ...), multiple operating systems (Linux, QNX, VxWorks, WinCE/Win32, ...) and multiple architectures (x86, ARM, PPC, SH, ...). The Storyboard approach is unique in that it has been developed to incorporate content directly from graphic designers and deploy data bundles that are specifically optimized for each OS/CPU/Rendering technology set.


  • is a open-source multimedia framework allowing the creation of multimedia applications by assembling processing nodes (called elements) in a graph (called pipeline). The range of plugins available allow easy creation of playback applications, recorders, audio/video editors, streaming servers, visioconference system. The variety of plugins range from decoders, encoders, muxer, demuxers, network sources for a variety of protocols, hardware accelerated features (decoding, display, capture,..), video filters. Its low-level flexibility also makes it sometimes complex to use, but is assisted by several convenience plugins linke playbin, decodebin, camerabin making simple use-cases easy to use. It is built on top of GLib/GObject, making it easily portable to any new platform. It is being used in more and more in embedded devices due to the availability of quality LGPL plugins for various format support, support for lip-sync, support for network streaming, standard linux API, and easy wrapability of hardware devices like DSP-accelerated codecs.


  • is a playback media engine that handles most of the complexity for you. It's based on threads, so clock and synchronization are handled automatically. Note that this library is GPL licensed so your application must be GPL compatible to use it.


  • it's not a library but an application, however it's controllable from other applications and it's used as media framework for some systems. It's GPL as well as xine, but since it's externally controlled you don't need to make your application GPL to use it.


Video in

V4L2 ELC Presentations

Shifting Media App Development Into High Gear.

Presenter:Helen Kolke, Collabora Ltd.
Summary: These slides cover the Classic V4L2 API which includes vivid driver
and Media API (extension) which includes Vimc Driver.

2017 is the Year of the Linux Video Codec Drivers.

Presenter:Laurent Pinchart, Ideas on Board
Summary: This presentation explains the reasons behind delayed support for video codecs
and the ways they can be implemented and used with free software and open APIs.

V4L2 & CEC Status Report.

Presenter:Hans Verkuil, Cisco Systems Norway
Summary: This presentation provides all the information about the new drivers
in v4L2 Drivers and Upcoming V4L2 Drivers.

V4L2 on Steroids: The Request API

Presenter:Laurent Pinchart
Summary: This presentations explains the design of the Request API and how to use
it in both applications and drivers. The focus will be put on two major use
cases, 2D hardware composers and Android camera HAL v3 implementation.

HDMI CEC: What? Why? How?

Presenter:Hans Verkuil, Cisco Systems Norway
Summary: This Presentation includes a short introduction of the upcoming CEC
framework and the utilities that use it.

Maximize the Performance of HTML5 Video in RPi2

Presenter:Gwang Yoon Hwang, Igalia
Summary: This presentation talks about lessons learnt while executing rendering
and composing pipeline of WebKitGTK+, WebKitForWayland, and GStreamerGL
using OpenMAX and OpenGL in RPi2 device.

Testing Video4Linux Applications and Drivers

Presenter:Hans Verkuil
Summary: This presentation covers the V4L2 compliance driver testing,
Qt test application and Test Drivers Cropping

Hardware Accelerated Video Streaming with V4L2.

Presenter:Hardware Accelerated Video Streaming with V4L2.
Summary: This presentation gives introduction of Simple V4L2 applications and V4L2 application
using OpenGL as well vendor specific features.

An Introduction to the Video4Linux Framework.

Presenter:: Hans Verkuil, Cisco Systems Norway
Summary: These slides cover the V4L2 Framework, V4L2 PCI Skeleton Driver Control
Framework and Features of the Skeleton Driver.

Optimizing GStreamer Video Plugins: A Case Study with Renesas SoC Platform.

Presenter:Katsuya Matsubara, IGEL Co.Ltd
Summary: These slides cover the case study with Remesas SoC Platform for Optimizing GStreamer
Video Plugins and also contains the optimizing the video monitoring.

Video4linux: Progress, New videobuf2 Framework and the Future.

Presenter:Hans Verkuil (Cisco)
Summary: This presentation provides information about external video and audio
codecs are linked to Stagefright through OpenMAX IL.

Bringing up HDMI Display for OMAP4 Panda Board - Design, Challenges and Lessons Learned.

Presenter:Mythri pk
Summary: This Presentation Provide information about the high level software,
audio data path, video data path,OMAP4 HDMI hardware and Use case of HDMI Hot-plug Enable.

Recent Developments in Open Video Technology.

Presenter:David Schleef
Summary: This presentation provides the information of Recent Developments in
open video technology and use of Open Video Technology.

A Linux multimedia framework for SH-Mobile processors.

Presenter:Conrad Parker
Summary: These slides cover the working of VPU: Video Processing Unit and VOU: Video Output,
Sound I/O I USB and related Linux Kernel interfaces required for inter-operation.

Video4Linux: What about Output?

Presenter:Matthew Porter
Summary: These slides cover the video capture drives under a unified interface and usually
considered as a video capture framework- Cameras, TV tuners and radio.

Basic video editing on embedded devices using GStreamer.

Presenter:Christian F.K. Schaller
Summary: This presentation provides the overview of gstreaer,
whats new since last year and multimedia framework.

Framework for digital camera in Linux.

Presenter:: Dongsoo Kim, HeungJun Kim
Summary: This presentation provides information of the new V4L2 APIs for digital camera
lens control, object recognition and abstract work flow of switching camera

Adding Framebuffer support for Freescale SoCs.

Presenter:York Sun
Summary: This presentation introduces the Key Features of MPC8610 like Display
Interface Unit (DIU), DIU Modes of Operations, DIU: Pixel Structure,
Area Descriptors, Software Components used on MPC8610 HPCD.

Video Clip Player – Philips Nexperia™ PNX0106 and Linux based platform.

Presenter:Armin Gerritsen
Summary: This presentation covers the introduction of Video Clip Player,
followed by System Overview and Use Cases. in addition to vide
software architecture in Linux. It also covers Framebuffer
Implementation ,VoIP application and its prototyping on Linux




Audio in/out





Users of AVG

Video Lan








ARIB architecture

Boot Splash

Digital Home Working Group

Disko Framework

Free Type


TV Anytime

TV Linux Alliance

Note (1) - KD26 refers to the Linux 2.6.X kernel tree, which has a "Documentation" sub-directory.