CamStudio Screen Codec

From MultimediaWiki
Jump to: navigation, search

This is very simple codec. First byte is header byte, bits 7-1 are compression method, bit 0 signs if this is keyframe. Second byte is reserved. The next bytes are compressed data.

There are two possible compression methods: LZO (=0) and ZLib (=1).

Decoding algorithm:

 header = getbyte();
 method = header >> 1;
 keyframe = header & 1;
 switch (method){
   case 0:
     unpack_lzo(data, buf);
   case 1:
     unpack_zlib(data, buf);
   frame = unpacked data
   add deltas to previous frame