1The Smoke Codec
2---------------
3
4This is a very simple compression algorithm I was toying with when doing a
5Java based player. Decoding a JPEG in Java has acceptable speed so this codec
6tries to exploit that feature. The algorithm first compares the last and the
7new image and finds all 16x16 blocks that have a squared difference bigger than
8a configurable threshold. Then all these blocks are compressed into an NxM JPEG.
9The quality of the JPEG is inversely proportional to the number of blocks, this
10way, the picture quality degrades with heavy motion scenes but the bitrate stays
11more or less constant.
12Decoding decompresses the JPEG and then updates the old picture with the new
13blocks.
14
15
16TODO:
17----
18- make format extensible
19- motion vectors
20- do some real bitrate control
21