4CC Binary Blob Format
- Header:
- 4CC: 4 byte character code
- bytelength: 4 byte unsigned payload size in bytes
- Payload:
- data: payload data max 2^32 bytes
Constraints
- Only write whole structure
- There will be no case in which a partial 4CC binary blob will be rewritten
Example
- '_' specifies whitespace (0x20)
| Header | Payload | |
|---|---|---|
| 4CC | bytelength | data |
| 4 | 4 | n/a |
| '__ID' | 0x3 | 'DIA' |
| '_REV' | 0x1 | 0xa |
| '_SER' | 0xa | '6502400001' |
Efficiency
- Payload: 14 bytes
- Overhead: 24 bytes
- → 37%
Directory Extension
- First bit (MSB) of first byte of 4CC field is directory extension bit
- If set data field will start with another header
Example
- 4CC = '_SER' = 0x20534552
- 4CC* = 0xa0534552
- 4CC*: 4 byte character code field with directory extension bit set
| Header | Payload | |||
|---|---|---|---|---|
| Header | Payload | |||
| 4CC* | bytelength | 4CC | bytelength | data |