CamStudio Screen Codec: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
No edit summary
(Samples)
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
* Name: CamStudio Screen Codec
* Name: CamStudio Screen Codec
* Frame type: IP (conditional replenishment)
* Frame type: IP (conditional replenishment)
* Samples: http://samples.mplayerhq.hu/V-codecs/CSCD/
* Website: http://www.camstudio.org/


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.
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).
There are two possible compression methods: LZO (=0) and ZLib (=1).
Line 29: Line 30:


[[Category:Video Codecs]]
[[Category:Video Codecs]]
[[Category:Screen Capture Video Codecs]]

Latest revision as of 10:20, 6 July 2010

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
 }