2.2.9.2.1.1 Extended Bitmap Data (TS_BITMAP_DATA_EX)

The TS_BITMAP_DATA_EX structure is used to encapsulate encoded bitmap data.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

bpp

flags

reserved

codecID

width

height

bitmapDataLength

exBitmapDataHeader (variable)

...

bitmapData (variable)

...

bpp (1 byte): An 8-bit, unsigned integer. The color depth of the bitmap data in bits-per-pixel.

flags (1 byte): An 8-bit, unsigned integer that contains flags.

Flag

Meaning

EX_COMPRESSED_BITMAP_HEADER_PRESENT

0x01

Indicates that the optional exBitmapDataHeader field is present.

reserved (1 byte): An 8-bit, unsigned integer. This field is reserved for future use. It MUST be set to zero.

codecID (1 byte): An 8-bit, unsigned integer. The client-assigned ID that identifies the bitmap codec that was used to encode the bitmap data. Bitmap codec parameters are exchanged in the Bitmap Codecs Capability Set (section 2.2.7.2.10). If this field is 0, then the bitmap data is not encoded and can be used without performing any decoding transformation.

width (2 bytes): A 16-bit, unsigned integer. The width of the decoded bitmap image in pixels.

height (2 bytes): A 16-bit, unsigned integer. The height of the decoded bitmap image in pixels.

bitmapDataLength (4 bytes): A 32-bit, unsigned integer. The size in bytes of the bitmapData field.

exBitmapDataHeader (variable): An optional Extended Compressed Bitmap Header (section 2.2.9.2.1.1.1) structure that contains nonessential information associated with bitmap data in the bitmapData field. This field MUST be present if the EX_COMPRESSED_BITMAP_HEADER_PRESENT (0x01) flag is present.

bitmapData (variable): A variable-length array of bytes containing bitmap data encoded using the codec identified by the ID in the codecID field.