Palm Database ImageViewer

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Format details)
Line 20: Line 20:
 
''This section is based on guesswork, and source code whose correctness is unverified. It is incomplete, and may be incorrect.''
 
''This section is based on guesswork, and source code whose correctness is unverified. It is incomplete, and may be incorrect.''
  
The file is a [[PDB|Palm OS Database]] file with certain characteristics. In the Palm database header, the type code is "vIMG", and the creator code is creator "View". There are 1 or 2 records: an "image" record, optionally followed by a "comment" record. The image record has its uniqueID field in the record list set to 0x6f8000. The comment record has uniqueID 0x6f8001.
+
The file is a [[Palm OS Database|PDB]] file with certain characteristics. In the Palm database header, the type code is "vIMG", and the creator code is creator "View". There are 1 or 2 records: an "image" record, optionally followed by a "comment" record. The image record has its uniqueID field in the record list set to 0x6f8000. The comment record has uniqueID 0x6f8001.
  
 
=== Image record data segment ===
 
=== Image record data segment ===

Revision as of 15:07, 14 October 2017

File Format
Name Palm Database ImageViewer
Ontology
Extension(s) .pdb

Palm Database ImageViewer format is a type of Palm OS Database file. It contains a bitmap image, and is associated with the Image Viewer III application.

It is also known as FireViewer format, and maybe also TinyViewer format.

It supports at least grayscale images with 2, 4, or 16 gray shades. Images may be uncompressed, or use RLE compression.

Contents

Discussion

The ImageViewer format has been decoded fairly completely, but as far as we can tell, no one has ever bothered to write any documentation about it – only source code. Note that it is not a wrapper for Palm bitmap format.

The imgvtopnm software (also called imgvtopgm, apparently) by Eric Howe, released around 1997, is significant. See the README file in that software for information about its origins.

Netpbm's code was derived from Howe's software. ImageMagick also has source code for reading and writing this format.

Format details

This section is based on guesswork, and source code whose correctness is unverified. It is incomplete, and may be incorrect.

The file is a PDB file with certain characteristics. In the Palm database header, the type code is "vIMG", and the creator code is creator "View". There are 1 or 2 records: an "image" record, optionally followed by a "comment" record. The image record has its uniqueID field in the record list set to 0x6f8000. The comment record has uniqueID 0x6f8001.

Image record data segment

The image record's data segment consists of a 58-byte header, followed by the pixel data.

Offset Type Field Observed values Remarks
N+0 char[32] name A name for the image. Same format as the main "database name" field at the beginning of the file, and usually a copy of that field.
N+32 byte version_etc cmpr_meth := (version_etc & 0x07)
cmpr_meth = 0 → Uncompressed
cmpr_meth = 1 → RLE compression
N+33 byte type 0 → 2 bits/pixel grayscale
2 → 4 bits/pixel grayscale
other (typically 0xff) → 1 bit/pixel grayscale
N+34 byte[4] reserved 0
N+38 byte[4] note 0
N+42 uint16 last_x 0
N+44 uint16 last_y 0
N+46 byte[4] reserved 0
N+50 uint16 anchor_x 0xffff
N+52 uint16 anchor_y 0xffff
N+54 uint16 width The pixel dimensions of the image.
N+56 uint16 height
N+58 bytes pixel data After decompression if necessary (see below), pixels are left-to-right, top-to-bottom. Rows are padded to the next byte boundary. A pixel value of 0 is white.

RLE compression

[TODO]

Identification

ASCII characters vIMGView appear at file offset 60.

Software

Sample files

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox