Framewave
# Framewave

Framewave (formerly AMD Performance Library (APL)) is computer software, a high-performance optimized programming library, consisting of low level application programming interfaces (APIs) for image processing, signal processing, JPEG, and video functions. These APIs are programmed with task level parallelization (multi-threading) and instruction-level parallelism single instruction, multiple data (SIMD) for maximum performance on multi-core processors from Advanced Micro Devices (AMD).

Framewave is free and open-source software released under the Apache License version 2.0, which is compatible with the GNU General Public License 3.0.

## Overview

The AMD Performance Library was developed by Advanced Micro Devices (AMD) as a collection of popular software routines designed to accelerate application development, debugging, and optimization on x86 class processors. It includes simple arithmetic routines, and more complex functions for applications such as image and signal processing. APL is available as a static library for 32- or 64-bit versions of GNU Compiler Collection (GCC) 4.1 and Microsoft Visual Studio 2005, and as a 32- or 64-bit dynamic library for the operating systems Linux, Solaris, and Windows.

In 2008, AMD deprecated the APL library in favor of an open-source derivative named Framewave.

Framewave is available as 32- and 64-bit static libraries for GCC 4.3 and Microsoft Visual Studio 2008, and as 32- and 64-bit dynamic libraries for the operating systems Linux, macOS, Solaris, and Windows. Relative to Framewave 1.0, noticeable performance gains occurred in several APIs, including JPEG.

## Features

Framewave consists of the following main components:

* Simple interface to take advantage of latest hardware innovations
   * MMX
   * Streaming SIMD Extensions (SSE), SSE2
   * Multi-core processors
* Faster development of multimedia projects
   * Media players
   * Codecs – including MPEG-1 and MPEG-2 decoders
   * Image editors
   * Audio applications
* Easy path to multi-threading

### APL 1.1

Released on 2007-09-19, APL 1.1 added these feature enhancements:

* Video Decoding (H.264) support
* JPEG support
* AMD "Barcelona" quad-core processor optimizations
* Support for Sun Studio compilers for Solaris
