1
1
mirror of https://github.com/wader/fq.git synced 2024-11-27 14:14:58 +03:00
fq/format/gif/testdata/4x4.fqtest
Mattias Wadman 051a70bd4b interp: Change bit ranges to use exclusive end
All other ranges and slicing uses exclusive end so i think it make sense
to make it consistent.

Update docs and add additional example for non-byte-aligned field.

Also fixes issue showing zero bit ranges as start-NA.
2023-10-20 15:37:26 +02:00

94 lines
9.5 KiB
Plaintext

# gm convert -size 4x4 'xc:#000' 'xc:#fff' 4x4.gif
$ fq -d gif dv 4x4.gif
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: 4x4.gif (gif) 0x0-0x5f (95)
0x00|47 49 46 38 39 61 |GIF89a | header: "GIF89a" (valid) 0x0-0x6 (6)
0x00| 04 00 | .. | width: 4 0x6-0x8 (2)
0x00| 04 00 | .. | height: 4 0x8-0xa (2)
0x00| f0 | . | gcp_follows: true 0xa-0xa.1 (0.1)
0x00| f0 | . | color_resolution: 8 0xa.1-0xa.4 (0.3)
0x00| f0 | . | zero: 0 0xa.4-0xa.5 (0.1)
0x00| f0 | . | bit_depth: 1 0xa.5-0xb (0.3)
0x00| 00 | . | black_color: 0 0xb-0xc (1)
0x00| 00 | . | pixel_aspect_ratio: 0 0xc-0xd (1)
| | | global_color_map[0:2]: 0xd-0x13 (6)
| | | [0][0:3]: color 0xd-0x10 (3)
0x00| 00 | . | [0]: 0 r 0xd-0xe (1)
0x00| 00 | . | [1]: 0 g 0xe-0xf (1)
0x00| 00| .| [2]: 0 b 0xf-0x10 (1)
| | | [1][0:3]: color 0x10-0x13 (3)
0x10|00 |. | [0]: 0 r 0x10-0x11 (1)
0x10| 00 | . | [1]: 0 g 0x11-0x12 (1)
0x10| 00 | . | [2]: 0 b 0x12-0x13 (1)
| | | blocks[0:5]: 0x13-0x5e (75)
| | | [0]{}: extension_block 0x13-0x1b (8)
0x10| 21 | ! | introducer: 33 0x13-0x14 (1)
0x10| f9 | . | function_code: "GraphicalControl" (0xf9) 0x14-0x15 (1)
| | | func_data_bytes[0:1]: 0x15-0x1b (6)
| | | [0]{}: func_data_byte 0x15-0x1b (6)
0x10| 04 | . | byte_count: 4 0x15-0x16 (1)
0x10| 00 00 00 00 | .... | data: raw bits 0x16-0x1a (4)
0x10| 00 | . | terminator: 0 0x1a-0x1b (1)
| | | [1]{}: extension_block 0x1b-0x2e (19)
0x10| 21 | ! | introducer: 33 0x1b-0x1c (1)
0x10| ff | . | function_code: "Application" (0xff) 0x1c-0x1d (1)
| | | func_data_bytes[0:2]: 0x1d-0x2e (17)
| | | [0]{}: func_data_byte 0x1d-0x29 (12)
0x10| 0b | . | byte_count: 11 0x1d-0x1e (1)
0x10| 4e 45| NE| data: raw bits 0x1e-0x29 (11)
0x20|54 53 43 41 50 45 32 2e 30 |TSCAPE2.0 |
| | | [1]{}: func_data_byte 0x29-0x2e (5)
0x20| 03 | . | byte_count: 3 0x29-0x2a (1)
0x20| 01 00 00 | ... | data: raw bits 0x2a-0x2d (3)
0x20| 00 | . | terminator: 0 0x2d-0x2e (1)
| | | [2]{}: image 0x2e-0x3f (17)
0x20| 2c | , | separator_character: 44 0x2e-0x2f (1)
0x20| 00| .| left: 0 0x2f-0x31 (2)
0x30|00 |. |
0x30| 00 00 | .. | top: 0 0x31-0x33 (2)
0x30| 04 00 | .. | width: 4 0x33-0x35 (2)
0x30| 04 00 | .. | height: 4 0x35-0x37 (2)
0x30| 00 | . | local_color_map_follows: false 0x37-0x37.1 (0.1)
0x30| 00 | . | image_interlaced: false 0x37.1-0x37.2 (0.1)
0x30| 00 | . | zero: 0 0x37.2-0x37.5 (0.3)
0x30| 00 | . | bit_depth: 1 0x37.5-0x38 (0.3)
0x30| 02 | . | code_size: 2 0x38-0x39 (1)
| | | image_bytes[0:1]: 0x39-0x3f (6)
| | | [0]{}: func_data_byte 0x39-0x3f (6)
0x30| 04 | . | byte_count: 4 0x39-0x3a (1)
0x30| 84 8f 09 05 | .... | data: raw bits 0x3a-0x3e (4)
0x30| 00 | . | terminator: 0 0x3e-0x3f (1)
| | | [3]{}: extension_block 0x3f-0x47 (8)
0x30| 21| !| introducer: 33 0x3f-0x40 (1)
0x40|f9 |. | function_code: "GraphicalControl" (0xf9) 0x40-0x41 (1)
| | | func_data_bytes[0:1]: 0x41-0x47 (6)
| | | [0]{}: func_data_byte 0x41-0x47 (6)
0x40| 04 | . | byte_count: 4 0x41-0x42 (1)
0x40| 00 00 00 00 | .... | data: raw bits 0x42-0x46 (4)
0x40| 00 | . | terminator: 0 0x46-0x47 (1)
| | | [4]{}: image 0x47-0x5e (23)
0x40| 2c | , | separator_character: 44 0x47-0x48 (1)
0x40| 00 00 | .. | left: 0 0x48-0x4a (2)
0x40| 00 00 | .. | top: 0 0x4a-0x4c (2)
0x40| 04 00 | .. | width: 4 0x4c-0x4e (2)
0x40| 04 00| ..| height: 4 0x4e-0x50 (2)
0x50|80 |. | local_color_map_follows: true 0x50-0x50.1 (0.1)
0x50|80 |. | image_interlaced: false 0x50.1-0x50.2 (0.1)
0x50|80 |. | zero: 0 0x50.2-0x50.5 (0.3)
0x50|80 |. | bit_depth: 1 0x50.5-0x51 (0.3)
0x50| ff | . | code_size: 255 0x51-0x52 (1)
| | | local_color_map[0:2]: 0x52-0x58 (6)
| | | [0][0:3]: color 0x52-0x55 (3)
0x50| ff | . | [0]: 255 r 0x52-0x53 (1)
0x50| ff | . | [1]: 255 g 0x53-0x54 (1)
0x50| 00 | . | [2]: 0 b 0x54-0x55 (1)
| | | [1][0:3]: color 0x55-0x58 (3)
0x50| 00 | . | [0]: 0 r 0x55-0x56 (1)
0x50| 00 | . | [1]: 0 g 0x56-0x57 (1)
0x50| 02 | . | [2]: 2 b 0x57-0x58 (1)
| | | image_bytes[0:1]: 0x58-0x5e (6)
| | | [0]{}: func_data_byte 0x58-0x5e (6)
0x50| 04 | . | byte_count: 4 0x58-0x59 (1)
0x50| 84 8f 09 05 | .... | data: raw bits 0x59-0x5d (4)
0x50| 00 | . | terminator: 0 0x5d-0x5e (1)
0x50| 3b| | ;|| terminator: 59 0x5e-0x5f (1)