BMP - Microsoft Windows bitmap image file

Byte Order: Little-endian
Offset   Length   Contents
  0      2 bytes  "BM"
  2      4 bytes  Total size included "BM" magic (s)
  6      2 bytes  Reserved1
  8      2 bytes  Reserved2
 10      4 bytes  Offset bits
 14      4 bytes  Header size (n)
 18    n-4 bytes  Header (See bellow)
 14+n .. s-1      Image data

Header: n==12 (Old BMP image file format, Used OS/2)

Offset   Length   Contents
 18      2 bytes  Width
 20      2 bytes  Height
 22      2 bytes  Planes
 24      2 bytes  Bits per Pixel

Header: n>12 (Microsoft Windows BMP image file)

Offset   Length   Contents
 18      4 bytes  Width
 22      4 bytes  Height
 26      2 bytes  Planes
 28      2 bytes  Bits per Pixel
 30      4 bytes  Compression
 34      4 bytes  Image size
 38      4 bytes  X Pixels per meter
 42      4 bytes  Y Pixels per meter
 46      4 bytes  Number of Colors
 50      4 bytes  Colors Important
 54 (n-40) bytes  OS/2 new extentional fields??