Concurrency Kit provides a plethora of concurrency primitives and lock-less and lock-free data structures designed to aid in the design and implementation of high performance scalable concurrent systems. It was designed to minimize dependencies on operating system-specific interfaces, and most of the interface relies only on a strict subset of the standard library and more popular compiler extensions.
The Objeck computer language is an object-oriented computing language with functional features that has ties with Java, C#, and Pascal. In this language, all data types are treated as objects. The language consists of a compiler and VM with an accompanying memory management and JIT compiler.
Bandwidth is primarily a memory bandwidth benchmark, but it can also measure network bandwidth. It measures the maximum memory bandwidth of each part of the memory system, including main memory, L1, L2, and L3 caches, framebuffer memory, and register-to-register. For many tests, it performs both sequential memory accesses as well as random memory accesses to provide a more real-world performance estimate. The tests support Linux (Intel), Windows/Cygwin, and Mac OS X. Its core routines are in assembly for x86 and x86-64 architectures with both SSE4 and AVX support. Bandwidth also includes automatic graphing of the results, stored to a BMP image file. The network bandwidth tests support Linux, Mac OS X, and Windows/Cygwin.
Botan is a crypto library written in C++. It provides a variety of cryptographic algorithms, including common ones such as AES, MD5, SHA, HMAC, RSA, Diffie-Hellman, DSA, and ECDSA, as well as many others that are more obscure or specialized. It also offers SSL/TLS (client and server), X.509v3 certificates and CRLs, and PKCS #10 certificate requests. A message processing system that uses a filter/pipeline metaphor allows for many common cryptographic tasks to be completed with just a few lines of code. Assembly and SIMD optimizations for common CPUs offers speedups for critical algorithms like AES and SHA-1.
smake is a highly portable 'make' program that makes commands up to date based on rules in Makefiles and on the timestamps of the related files. It implements a complete superset of the features of the classical POSIX/Unix make program. It warns about typical misuse of dynamic macros that prevent portability of makefiles. Its automake features allow you to run scripts to automatically create rules for unknown platforms.
VLC media player is a multimedia player, framework, streamer, and encoder. It can play inputs like files, network streams, DVDs, audio CDs, Blu-Rays, capture devices, and screens. It can play most audio and video codecs and formats (MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC, MKV, etc.), but can also be used to convert to different formats and/or send streams through the network.
FastFlow is a pattern-based programming framework targeting streaming applications. It implements pipeline, farm, divide and conquer, and their composition, as well as generic streaming networks. It is specifically designed to support the development and the seamless porting of existing applications on multi-core. The layered template-based C++ design ensures flexibility and extendibility. Its lock-free/fence-free run-time support minimizes cache invalidation traffic and enforces the development of high-performance (high-throughput, low-latency) scalable applications. It has been proven faster than TBB, OpenMP, and Cilk on several micro-benchmarcks and real-world applications, especially when dealing with fine-grained parallelism and high-throughput applications.
libCVD is a very portable and high performance C++ library for computer vision, image, and video processing. The emphasis is on providing simple and efficient image and video handling and high quality implementations of common low-level image processing function. The library is designed in a loosely-coupled manner, so that parts can be used easily in isolation if the whole library is not required. The video grabbing module provides a simple, uniform interface for videos from a variety of sources (live and recorded) and allows easy access to the raw pixel data. Likewise, the image loading/saving module provides simple, uniform interfaces for loading and saving images from bitmaps to 64 bit per channel RGBA images. The image processing routines can be applied easily to images and video, and accelerated versions exist for platforms supporting SSE.