CamStudio Screen Codec

From MultimediaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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;
 getbyte();
 switch (method){
   case 0:
     unpack_lzo(data, buf);
     break;
   case 1:
     unpack_zlib(data, buf);
     break;
 }
 if(keyframe){
   frame = unpacked data
 }else{
   add deltas to previous frame
 }