CamStudio Screen Codec: Difference between revisions
Jump to navigation
Jump to search
(not sure if that's the right same link) |
No edit summary |
||
Line 1: | Line 1: | ||
* FourCC: | * FourCC: CSCD | ||
* Name: | * Name: CamStudio Screen Codec | ||
* Frame type: IP (conditional replenishment) | * Frame type: IP (conditional replenishment) | ||
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 | |||
} | |||
[[Category:Video Codecs]] | [[Category:Video Codecs]] |
Revision as of 19:52, 5 June 2006
- FourCC: CSCD
- Name: CamStudio Screen Codec
- Frame type: IP (conditional replenishment)
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 }