Vinetto documentation page

This typology constitutes an attempt to classify thumbnails according to the way Microsoft OSes store them in Thumbs.db files.

Thumbnailsformatinto theThumbs.dbfile

Observations & comments

Thumbnailseen fromWindows(R)TM (screen capture)

Thumbnailrecovered byvinetto

Type 2

a) These Type 2 thumbnails are stored as JFIF-standard file: they have
header(1), Huffman table and quantization table.
b) One can find them on XP (Home and Pro) and 2003 Server systems.
c) These thumbnails are associated to simple filenames (no full path with drive letter as in Type 1a)

Here, it's an easy job for vinetto: it's only matter of writing related stream to a file with .jpg
extension.

Here vinetto uses Python Imaging Library to split the image into its R, G, B and A components,
and to merge these R, G and B components. "A" component doesn't seem to be very useful (... some verifications to do).

Type 1a

a) These Type 1a thumbnails mainly consist of a raw RGBA JPEG data stream: they do not have
standard header, Huffman table or quantization table. However, Types 1a and 1b are not identical.
b) One can find them on 9x, ME and 2000 systems (in the latter case Thumbs.db files are only created on FAT filesystems).
c) These thumbnails are associated to full pathnames including drive letter.

Vinetto processing is currently the same for types 1a and 1b ...
Here, it seems "A" component should be useful :)

Note : (1) A JFIF-standard file will start with the four bytes (hex) FF D8 FF E0,
followed by two variable bytes (often hex 00 10), followed by 'JFIF'. (source : JPEG faq)