This is the fast and Free (LGPL license) real time MPEG Audio Layer 1, 2 and 3 decoding library and console player. It uses floating point or integer math, along with several special optimizations (3DNow, SSE, ARM, ...) to make it most efficient.
SIMD-accelerated libjpeg-compatible JPEG codec library
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.
Dlib is a C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.
A cross-platform library that gives apps easy access to USB devices
Library to enable user space application programs to communicate with USB devices
FSP - File Service Protocol. FSP is lightweight UDP based protocol for transferring files. It is designed for anonymous transfers over unreliable networks.
A multi-format module player and library
xmp is a module player for Unix-like systems that plays over 90 mainstream and obscure module formats from Amiga, Atari, Acorn, Apple IIgs and PC, including Protracker (MOD), Scream Tracker 3 (S3M), Fast Tracker II (XM) and Impulse Tracker (IT) files.
PHIGS (Programmer's Hierarchical Interactive Graphics System)
PHIGS is an API standard for rendering 3D computer graphics. During the 1990's OpenGL became a more popular 3D API for professionals, and it still is today. PHIGS remains to be widely used in the film industry. Open PHIGS uses OpenGL for rendering graphics rather than implementing it's own abstraction layer to the graphics hardware, or using the PHIGS Extension to X (PEX). The reason for doing so is that today every graphics card manufacturer provides their own OpenGL implementation, which takes full advantage of the accelerated drawing capabilities in the hardware. PHIGS is a higher level API than OpenGL that works with a hierarchical scene graph. Models are built up in a Centralized Structure Store (CSS), a database containing the drawing primitives and their attributes (color, line style, etc.). CSSes cand be shared among a number of views, known under PHIGS as a workstation. PHIGS is defined by the ISO standards ISO/IEC 9592 & 9593. Open PHIGS provides a library for C.
Calculation with Clifford algebras: C++ library and Python module
GluCat is a generic library of C++ templates that implement universal Clifford algebras over the field of real numbers. The PyClical extension module for Python gives users an easy Python scripting interface for calculations in Clifford algebras. The name PyClical is an homage to Pertti Lounesto's CLICAL.
Tables indexed by strings
This library provides an implementation of tables indexed by strings. The binary search is used for names of known length. It is also possible to search a table for names of unknown length, i.e. to parse a string using some table. Table elements can be of any private type. Key- insensitive tables are supported.
String editing and formatting library for Ada
Strings edit is a library that provides I/O facilities for integers, floating-point numbers, Roman numerals, and strings. Both input and output subroutines support string pointers for consequent stream processing. The output can be aligned in a fixed size field with padding. Numeric input can be checked against expected values range to be either saturated or to raise an exception. For floating-point output either relative or absolute output precision can be specified. UTF-8 encoded strings are supported, including wildcard pattern matching, sets and maps of code points, upper/lowercase, and other Unicode categorizations.
Handling dimensioned values in Ada
The library provides an implementation of dimensioned values for Ada. Unit checks are made at run-time, if not optimized out by the compiler. SI and irregular measurement units are supported. Shifted units like degrees Celsius are supported too. Conversions from and back to strings are provided for all various irregular units. An extensive set of GTK widgets for dealing with dimensioned values is included, though use of GTK is not mandatory for the rest of the library.
An implementation of interval arithmetic
The library provides an implementation of intervals for Ada. It includes arithmetic and relational operations. The library supports intervals with integer and floating-point bounds. Dimensioned intervals are also supported
A software components library
The Simple components for Ada library provides implementations of smart pointers for automatically collected objects (using reference counting), object persistence, unbounded and bounded arrays of smart pointers, generic unbounded arrays of private objects and plain pointers, generic sets, maps, B-trees, directed graphs, directed weighted graphs, stacks, and storage pools. It also includes table management, string editing, IEEE 754 support, and infix expression parsing tools. Implementations of some lock-free shared data structures are provided.
A GUI library for designing gauges, meters, oscilloscopes, plotters
A library that is intended for designing high-quality industrial control widgets for Ada applications. The widgets are composed of transparent layers drawn by cairo. The widgets are fully scalable graphics. A time controlled refresh policy is supported for real-time and heavy-duty applications. The library supports caching graphical operations and stream I/O for serialization and deserialization. Ready-to-use gauge, meter, oscilloscope widgets are provided as samples as well as an editor widget for WYSIWYG design of complex dashboards. The software is based on GtkAda and cairoada, the Ada bindings to GTK+ and cairo.
Fuzzy sets, logic, numbers; intuitionistic fuzzy sets, fuzzy linguis
Fuzzy sets for Ada is a library providing implementations of confidence factors with the operations not, and, or, xor, +, and *, classical fuzzy sets with the set-theoretic operations and the operations of the possibility theory, intuitionistic fuzzy sets with the operations on them, fuzzy logic based on the intuitionistic fuzzy sets and the possibility theory; fuzzy numbers, both integer and floating-point with conventional arithmetical operations, and linguistic variables and sets of linguistic variables with operations on them. String-oriented I/O is supported. A rich set of GTK+ GUI widgets is provided.
a CLI generator and and SW library
CLIck allows you to create flat or hierarchical CLI (command line interfaces) in an extremely easy and quick way, supporting very popular features like history with command recalling, context-based auto-completion, tab-based command list, automatic command-line help, special characters, automatic structure builder, and much more. CLIck is written in ANSI C and tested on C and C++ applications on several architectures. It doesn't depend on any external library and uses only a very small subset of POSIX APIs. Despite the project name, you won't need your mouse at all!
Unified Test and Logging layer for multiple programming languages
Modern software systems and application are commonly written in multiple languages, include scripting engines, and are frequently build on multiple specialized frameworks and middleware for a considerable diversity of runtime environments. The latest influencing update in development paradigm is the application of multicore processors. This projects is aimed to unify the required trace and logging output and integrate into debugging environments. The target is to provide general development, test, and production support of software environments based on multiple programming languages for distributed multicore environments.
C++ library for OpenCL, parsers etc.
This project contains various C++ classes I wrote. Actually it starts with OpenCL support classes, later on I will add parser, storage i/o and network classes. The focus lies on clean interfaces and good documentation and the deliberate use of C++11.
OpenGL 3D Mesh generating library
GLOB allows OpenGL programmers to create a variety of 3D meshes ranging from spheres, cubes and cyliders to NURBS and extrusions. GLOB compiles under Windows, Linux-based OSs and MAC. The library is compatible with OpenGL 4.0+ and doesn't use any deprecated features. 4 attrributes: 4D color, 3D normal, 3D position and 2D texture coordinate are stored per vertex in VAO (Vertex Array Objects). GLOB doesn't do any rendering to the screen and only builds the attributes for the mesh. Thus, the user must provide his own shader programs. However, if there is no current shader program registered, a default one is used which will depict the mesh under simple lighting and texture map. The GLOB API is very simple and intuitive to use, providing opportunities for customization, including that of normal and texture mapping.
Extended C Library
Why Is libxc needed? There doesn't exist a library for ANSI C99 for common data containers, such as vectors, trees, etc. There also also doesn't exist a library for common functionality, such as error reporting/logging, string functions, configuration management (reading config files), etc... The programmer working in C doesn't have anything analogous to the Boost C++ library. The extended C library is intended to make some headway into providing this functionality. To ensure unrestricted usage the libxc project is provided under the very permissive BSD license. If you need a different license then please send me a request (lelanthran at gmail) and I'll do my best to satisfy your request. What's completed? As of writing, the following libraries have been written and tested: 1. Memory accounting/tracking 2. String operations 3. Vectors 4. Trees 5. Dictionary arrays 6. Configuration management See the wiki page for more information
Heterogeneous cluster for acceleration of linear algebra computations
This project deals with a new concept of the heterogeneous grid for acceleration of the numerical linear algebra computing. We design this grid with respect to maximal ratio between cost and computational power. It allows a parallelization of scientific codes with minimal programming effort. We also optimize grid concept to be less sensitive to network parameters.
The open-source C++ implementation of the Open Mobile Alliance (OMA) specification - Mobile Location Protocol (MLP).
Property/configuration mechanism for high-performance C++ applications. Similar to but more flexible than Java properties. Property settings provide type safety, expressive error messages and full-featured expressions. Based on the Lua language.
NOTE: This is a sf.net/subversion clone from https://github.com/wipu/iwant A java-based declarative, multi-threaded and incremental build system that provides a fluent java API for writing build programs. Can use ant tasks and ant and shell scripts as backend.
Header-only cross platform libraries