From: eLinux.org
Contents
Introduction
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
DirectFB
Porting DirectFB
Benchmark DirectFB
Graphics/Video out
Framebuffer
Stores the frame information in the videos ....
DirectFB
V4L2
X11
NanoX
OpenGL (OpenML)
SDL
- http://www.libsdl.org/ 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.
Cairo
- http://www.cairographics.org/ 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.
Clutter
- http://clutter-project.org/ 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.
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
- 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)
- http://www.cranksoftware.com/storyboard
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.
GStreamer
- http://www.gstreamer.net/ 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.
Xine
- http://xinehq.de/ 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.
MPlayer
- http://mplayerhq.hu/ 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.
Documentation
Video in
V4L[2]
OpenML
LinuxTV (DVB API)
Audio in/out
OSS
ALSA
OpenAL
PulseAudio
Users of AVG
Video Lan
Freevo
LinuxTV
MythTV
DVR
OpenPVR
Morphine.TV
Other
ARIB architecture
Boot Splash
Digital Home Working Group
Disko Framework
Free Type
UPnP
TV Anytime
TV Linux Alliance
Note (1) - KD26 refers to the Linux 2.6.X
kernel tree, which has a
"Documentation" sub-directory.
Categories: