Context adaptive binary arithmetic coding, often abbreviated as CABAC, is an essential part of modern video compression. It performs lossless compression of a binary data stream without any prior knowledge of the particular characteristics of the data. These features make it an attractive algorithm for video compression because it is simple, effective and requires no prior (or side band) communication between a client and server.
This project is a simple implementation of an adaptive binary arithmetic coder that supports block and stream based coding.
For more information, check out 'Context Adaptive Binary Arithmetic Coding' on my blog at http://www.bertolami.com.