PMP is an image file format used by early Sony digital cameras such as the DSC-F1 released in 1996. Photos taken with these cameras were given filenames like PSN00001.PMP, PSN00002.PMP, and so on. The PMP format is based on JPEG but includes a proprietary header that stores camera metadata.
|
The DSC-F1 was capable of generating metadata, and Sony needed a file format that could store it. Nowadays almost all digital cameras store metadata in standard JPEG files according to the DCF/EXIF standards. But DCF/EXIF weren't adopted by the industry until 1998. Sony released the DSC-F1 in 1996 and since the industry hadn't yet settled on a standard they created their own proprietary file format.
|
PMP image files store the following metadata attributes (some of which are not used by the DSC-F1):
- Original file size (in bytes)
- Original image size (in pixels)
- Lens orientation (forward/reverse)
- Image quality (JPEG quality level)
- Comment
- Date/time originally taken
- Date/time last modified
- Shutter speed
- Aperture (not used by DSC-F1)
- Exposure bias (not used by DSC-F1)
- Focal length (not used by DSC-F1)
- Flash on/off
|
Sony PMP image files are actually standard JPEG files prefixed with a proprietary 124-byte header.
Following is a list of bytes within the PMP header that encode metadata attributes. These attributes are displayed in the Sony ALBUM.EXE utility when you pull down the "Image" menu and select "Information".
You can convert a PMP file to JPEG format with no loss of quality by simply removing the first 124 bytes of the file and changing the extension to JPG.
Byte |
Attribute |
Details |
Byte 014 | JPG File Size | PMP Size = 124 + [Byte 014]*256^2 + [Byte 015]*256 + [Byte 016] |
Byte 015 | JPG File Size | see [Byte 014] |
Byte 016 | JPG File Size | see [Byte 014] |
Byte 023 | Horizontal Image Size | Horizontal Size = [Byte 023] * 256 + [Byte 024] |
Byte 024 | Horizontal Image Size | see [Byte 023] |
Byte 025 | Vertical Image Size | Vertical Size = [Byte 025] * 256 + [Byte 026] |
Byte 026 | Vertical Image Size | see [Byte 025] |
Byte 028 | Lens Orientation | 0=Forward, 2=Reverse; DSC-F1 lens swivels to face forward or backward; backward-facing shots need to be rotated by 180 degrees |
Byte 030 | Image Quality | ALBUM.EXE Version 1.0 reports as "Compression": 8="0.8", 23="1.7", 51="3.3"; these values probably correspond to JPEG Quality parameters in the range 0-4 or 1-5; ALBUM.EXE Version 1.5 reports as "Image Quality": 8="Snap shot", 23="Standard", 51="Fine" |
Byte 041 | Horizontal Image Size | Horizontal Size = [Byte 041] * 256 + [Byte 042] |
Byte 042 | Horizontal Image Size | see [Byte 041] |
Byte 043 | Vertical Image Size | Vertical Size = [Byte 043] * 256 + [Byte 044] |
Byte 044 | Vertical Image Size | see [Byte 043] |
Byte 053 | Comment | Character 01 |
Byte 054 | Comment | Character 02 |
Byte 055 | Comment | Character 03 |
Byte 056 | Comment | Character 04 |
Byte 057 | Comment | Character 05 |
Byte 058 | Comment | Character 06 |
Byte 059 | Comment | Character 07 |
Byte 060 | Comment | Character 08 |
Byte 061 | Comment | Character 09 |
Byte 062 | Comment | Character 10 |
Byte 063 | Comment | Character 11 |
Byte 064 | Comment | Character 12 |
Byte 065 | Comment | Character 13 |
Byte 066 | Comment | Character 14 |
Byte 067 | Comment | Character 15 |
Byte 068 | Comment | Character 16 |
Byte 069 | Comment | Character 17 |
Byte 070 | Comment | Character 18 |
Byte 071 | Comment | Character 19 |
Byte 077 | Recorded Year | 99 = 1999, 0 = 2000, 1 = 2001, etc. |
Byte 078 | Recorded Month | 1 - 12 |
Byte 079 | Recorded Day | 1 - 31 |
Byte 080 | Recorded Hour | 0 - 23 |
Byte 081 | Recorded Minute | 0 - 59 |
Byte 082 | Recorded Second | 0 - 59 |
Byte 085 | Edited Year | 99 = 1999, 0 = 2000, 1 = 2001, etc. |
Byte 086 | Edited Month | 1 - 12 |
Byte 087 | Edited Day | 1 - 31 |
Byte 088 | Edited Hour | 0 - 23 |
Byte 089 | Edited Minute | 0 - 59 |
Byte 090 | Edited Second | 0 - 59 |
Byte 103 | Shutter Speed | ALBUM.EXE Version 1.0 reports as "Y/100" where X = [Byte 103] * 256 + [Byte 104] and where Y = X if 0<=X<=32767 or Y = X - 65536 if 32769<=X<=65534; if X = 32768 or 65535, then ALBUM.EXE Version 1.0 reports "--"; ALBUM.EXE Version 1.5 reports as "about 1/Z second" where Z depends on X |
Byte 104 | Shutter Speed | see [Byte 103] |
Byte 107 | Aperture | Not used by DSC-F1: defaults to 32768; ALBUM.EXE Version 1.0 reports as "Y/100" where X = [Byte 107] * 256 + [Byte 108] and where Y = X if 0<=X<=32767 or Y = X - 65536 if 32769<=X<=65534; if X = 32768 or 65535, then ALBUM.EXE Version 1.0 reports "--" |
Byte 108 | Aperture | see [Byte 107] |
Byte 109 | Exposure Bias | Not used by DSC-F1: defaults to 32768; ALBUM.EXE Version 1.0 reports as "Y/100" where X = [Byte 109] * 256 + [Byte 110] and where Y = X if 0<=X<=32767 or Y = X - 65536 if 32769<=X<=65534; if X = 32768 or 65535, then ALBUM.EXE Version 1.0 reports "--" |
Byte 110 | Exposure Bias | see [Byte 109] |
Byte 113 | Focal Length | Not used by DSC-F1: defaults to 65535; ALBUM.EXE Version 1.0 reports as "Y/100" where X = [Byte 113] * 256 + [Byte 114] and where Y = X if 0<=X<=32767 or Y = X - 65536 if 32769<=X<=65534; if X = 32768 or 65535, then ALBUM.EXE Version 1.0 reports "--" |
Byte 114 | Focal Length | see [Byte 113] |
Byte 119 | Flash | 0 = Off, 1 = On |
|
You can read more about the DSC-F1 and Sony's PMP file format at:
|
|