ThinkMeta LogoDeutsch
FLAC: Algorithm

The scalable FLAC compression algorithm for a QuadCore processor is shown below:

FLAC compression algorithm

In the first stage, single frames are created from input memory that are inserted into a ring buffer. The buffer size is a multiple of the number of worker threads in the Fiber Pool.

In the second stage, the created frames are processed in parallel by several tasks.

Inside the second stage, each channel (Left, Right, Mid, Side) of a frame is also processed in parallel.

Finally, the encoded frames are written in the correct order into output memory.