uboot/include/bmp_layout.h
<<
>>
Prefs
   1/* (C) Copyright 2002
   2 * Detlev Zundel, DENX Software Engineering, dzu@denx.de.
   3 *
   4 * SPDX-License-Identifier:     GPL-2.0+
   5 */
   6
   7/************************************************************************/
   8/* ** Layout of a bmp file                                              */
   9/************************************************************************/
  10
  11#ifndef _BMP_H_
  12#define _BMP_H_
  13
  14struct __packed bmp_color_table_entry {
  15        __u8    blue;
  16        __u8    green;
  17        __u8    red;
  18        __u8    reserved;
  19};
  20
  21/* When accessing these fields, remember that they are stored in little
  22   endian format, so use linux macros, e.g. le32_to_cpu(width)          */
  23
  24struct __packed bmp_header {
  25        /* Header */
  26        char signature[2];
  27        __u32   file_size;
  28        __u32   reserved;
  29        __u32   data_offset;
  30        /* InfoHeader */
  31        __u32   size;
  32        __u32   width;
  33        __u32   height;
  34        __u16   planes;
  35        __u16   bit_count;
  36        __u32   compression;
  37        __u32   image_size;
  38        __u32   x_pixels_per_m;
  39        __u32   y_pixels_per_m;
  40        __u32   colors_used;
  41        __u32   colors_important;
  42        /* ColorTable */
  43};
  44
  45struct bmp_image {
  46        struct bmp_header header;
  47        /* We use a zero sized array just as a placeholder for variable
  48           sized array */
  49        struct bmp_color_table_entry color_table[0];
  50};
  51
  52/* Data in the bmp_image is aligned to this length */
  53#define BMP_DATA_ALIGN  4
  54
  55/* Constants for the compression field */
  56#define BMP_BI_RGB      0
  57#define BMP_BI_RLE8     1
  58#define BMP_BI_RLE4     2
  59
  60#endif                                                  /* _BMP_H_ */
  61