A codec is a class that implements decoding, encoding, or decoding and encoding of a compression algorithm.
The library provides a collection of builtin codecs. More codecs may be registered through calls to the library and/or the builtin implementations may be overridden.