Hermes is a graphics library designed to do a very limited number of things and do them very well. It is also very easy to incorporate Hermes into existing code. Hermes is intended for use either directly in an application program or inside another graphics library.
Released under the Library GNU Public License (LGPL), it is open source and under continual improvement.
The long feature list includes things like:
Clearing surfaces to a specific color
Conversion of images from one format to another
Converting to/from many common formats using special, optimized conversion routines
Automatic fallback to generic conversion routines if there is no specialized routine
Stretching images between conversion when possible
Automatic dithering if requested
All features are implemented using an internal caching system, drastically improving the performance of common operations such as table lookups. In addition, on MMX systems, Hermes can use optimized MMX assembler to further improve performance.
It's portable across many systems:
Linux/FreeBSD: Uses assembler routines on Intel/Intel-compatible architectures
Other UNIX systems: Doesn't use assembler, though it is compatible with big-endian systems
DOS and Watcom C or DJGPP: Uses assembler routines
Windows and Visual C++: Uses assembler routines