Go to content Go to navigation Go to about page Go to archive
Previous: National motives in the new MTV design | Next: NTFS to ISO9660 under Linux

VMware video codec

Yesterday I decided to give a look at the VMware video codec. Sample AVI files and a decoder DLL were available from the MPlayer samples archive.

A quick look at the bitstreams revealed that there are tags, like WMVi and WMVf in the file, preceded with a header.

After first investigations the idea was:

  • 16bit unknown
  • 16bit unknown
  • 16bit current block x position
  • 16bit current block y position
  • 16bit block width
  • 16bit block height
  • 32bit tag

Sadly nothing resembling a size field was found, thus making just parsing the bitstream hard. Then came an idea for looking at the decoder DLL.

Interesting messages gathered with running ‘’strings’’ on it:

The vnc object is not properly configured.
Invalid VNC colormap.
Received too much VNC cut text.
VNCDecodeReadServerHeader received unsupported/invalid mode!

It was time looking at the VNC protocol specification]. It revealed that the codec is just a VNC session recorded in a custom format. Read more about the technical details of the format at the Multimedia Wiki.

A question remains: why did VMware made this codec closed when operating with publicly known protocols?!

Appeared on 2 April 2006, 10:02 | Add to del.icio.us, ma.gnolia, newsvine | View blog reactions

Commenting is closed for this article.