Q about fastest display methode

Glynn Clements glynn at gclements.plus.com
Mon Sep 15 22:57:11 PDT 2008

Aleksandar Lazic wrote:

> I want to display some different Image- and Videoformats on different x
> windows provided Linux distributions (Redhat Linux, SuSe Linux, gentoo
> Linux, ...)
> There are soooooo much libraries out there which provide some display
> possibilities but I'am not sure which one fulfill the requirements.
> I have thought about qt, gtk, wxwidgets, sdl and a lot of some others,
> but I'am not sure which one is the 'best'.
> I know this is not easy to answer and could be a reason for a flamewar
> but please don't use my mail for such a useless discussion start ;-)
> Please try to answer from objective point of view ;-)
> 1.) Does I only need the xorg libs or are this libs only for some basic
>      routines and I need more high level libs to fulfill my requirements?

You should use a higher-level toolkit (e.g. GTK, Qt, Xt/Motif,
wxWidgets) for the GUI. Implementing GUI components using Xlib is a
lot of work.

If you're program is Unix-specific, the choice is really between GTK
and Qt.

Use wxWidgets if you need portability to other platforms. If you don't
need portability, using Gtk/Qt directly will be easier and offer more
features (wxWidgets typically only exposes a subset of the native
toolkit's functionality).

> 2.) Use the 'fastest' possible way to display n*streams similar on one
>      or n monitors.
> 3.) Use as less resouces as possible
> 4.) Provide http://en.wikipedia.org/wiki/Hardware_overlay or similar
>      fast technique

Xvideo (Xv) extension covers 2, 3 and 4. This allows the use of a
video overlay if the hardware supports it, or the use of the GPU for
scaling and/or colour-space conversion as a fallback.

This provides a substantial performance gain over converting to RGB
and rescaling in software. It may also provide better quality (cards
which provide a video overlay often have a rescaling filter which is
much better than anything that would be feasible in software).

> 5.) I plan to use http://en.wikipedia.org/wiki/AMD_Performance_Library
>      => http://framewave.sourceforge.net/ for decoding. Does anybody have
>      used this lib or the ipp
>      http://www.intel.com/cd/software/products/asmo-na/eng/perflib/302910.htm

No idea.

> 6.) I think I don't need the 3D functions of the cards.

Video players often provide the option to use OpenGL for video
display, in cases where the X server supports GLX but not Xv (or in
case Xv support is broken).

> I'am relatively new to the X-Window environment and happy for any
> help

You might want to look at existing video players for clues. E.g. VLC
(modular video player with various UIs, including wxWidgets GUI),
gxine (Gtk GUI for xine), kaffeine (Qt GUI for xine), mplayer (various
GUI frontends exist as separate projects).

Glynn Clements <glynn at gclements.plus.com>

More information about the xorg mailing list