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