requesttype=0x24
I think this replaces the Get Camera Photo Abilities command. The response block for this command is longer, but contains a similar list of image type names, resolutions, and compression types.
Command: 0x50 bytes
00000000 10 00 00 00 01 02 00 00 00 00 00 00 00 00 00 00 ................ 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000040 02 00 00 00 24 00 10 12 10 00 00 00 f0 df e4 00 ....$...........
Camera response: 0x474 bytes (EOS 20D)
00000000 34 04 00 00 01 03 00 00 00 00 00 00 00 00 00 00 4............... 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000040 02 00 00 00 24 00 10 22 34 04 00 00 f0 df e4 00 ....$.."4....... 00000050 00 00 00 00 20 04 75 01 00 80 43 61 6e 6f 6e 20 .... .u...Canon 00000060 45 4f 53 20 32 30 44 00 00 00 00 00 00 00 00 00 EOS 20D......... 00000070 00 00 00 00 00 00 00 00 00 00 07 00 00 00 4c 61 ..............La 00000080 72 67 65 3a 46 69 6e 65 00 00 00 00 00 00 00 00 rge:Fine........ 00000090 00 00 20 09 00 00 b0 0d 00 00 02 00 00 00 4c 61 .. ...........La 000000a0 72 67 65 3a 4e 6f 72 6d 61 6c 00 00 00 00 00 00 rge:Normal...... 000000b0 00 00 20 09 00 00 b0 0d 00 00 03 00 00 00 4d 69 .. ...........Mi 000000c0 64 64 6c 65 3a 46 69 6e 65 00 00 00 00 00 00 00 ddle:Fine....... 000000d0 00 00 a0 06 00 00 f0 09 00 00 02 00 00 00 4d 69 ..............Mi 000000e0 64 64 6c 65 3a 4e 6f 72 6d 61 6c 00 00 00 00 00 ddle:Normal..... 000000f0 00 00 a0 06 00 00 f0 09 00 00 03 00 00 00 53 6d ..............Sm 00000100 61 6c 6c 3a 46 69 6e 65 00 00 00 00 00 00 00 00 all:Fine........ 00000110 00 00 80 04 00 00 c0 06 00 00 02 00 00 00 53 6d ..............Sm 00000120 61 6c 6c 3a 4e 6f 72 6d 61 6c 00 00 00 00 00 00 all:Normal...... 00000130 00 00 80 04 00 00 c0 06 00 00 03 00 00 00 43 52 ..............CR 00000140 57 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 W............... 00000150 00 00 20 09 00 00 b0 0d 00 00 04 00 00 00 00 00 .. ............. 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70 00 ..............p. 00000280 00 00 00 00 00 00 9f 00 00 00 07 00 00 00 0f 00 ................ 00000290 00 00 00 80 00 00 00 80 00 00 00 80 00 00 00 80 ................ 000002a0 00 00 00 80 0f 00 00 80 00 00 00 80 00 00 00 80 ................ 000002b0 00 00 00 80 03 00 00 80 21 00 00 80 00 00 00 80 ........!....... 000002c0 00 00 00 00 00 00 00 80 00 00 00 80 00 00 00 00 ................ 000002d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000002e0 50 00 00 00 01 c0 00 00 01 80 00 00 00 80 0b 00 P............... 000002f0 00 80 00 00 00 80 00 00 00 80 00 00 00 80 00 00 ................ 00000300 00 80 00 00 00 a0 00 00 00 80 00 00 00 80 00 00 ................ 00000310 00 00 00 00 00 80 00 00 00 80 00 00 00 80 00 00 ................ 00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000330 00 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 ................ 00000340 00 80 00 00 00 80 00 00 00 90 00 00 25 a0 00 00 ............%... 00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000360 00 00 00 00 00 00 00 00 00 fc 00 00 00 00 00 00 ................ 00000370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000380 00 80 00 00 00 00 00 00 00 a0 00 00 00 80 00 00 ................ 00000390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000003a0 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 ................ 000003b0 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000003c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000003d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000003e0 00 80 00 00 00 80 00 00 00 00 00 00 00 00 13 00 ................ 000003f0 00 80 13 00 00 80 00 00 00 00 00 00 00 00 00 00 ................ 00000400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000470 00 00 00 00 ....
Table 4.4. Fields in photo abilities response
offset | bytes | value |
---|---|---|
0x50: | 4 | status code |
0x54: | 2? | Length of structure (here 0x420=1056) |
0x56: | 2? | unknown (here 0x175=373, 2236/6 rounded to nearest integer) |
0x58: | 2 | unknown (here 0x8000=32,768) |
0x5a: | 32 | camera identification (ASCII) |
0x7a: | 4 | Count n-1 where n is the number of entries in image-quality table |
0x7e: | n*32 | Table of image quality levels allowed |
Each entry in the table seems to be
struct { char imageType[20]; /* ASCII name of this image type */ long imageHeight, imageWidth; long compressionType; /* 2:Fine 3:Normal 4:RAW */ } tableEntry;
So we can see that the EOS 20D can produce the following image types:
Table 4.5. EOS 20D image formats reported
Height | Width | Compression | Name |
---|---|---|---|
2236 | 3504 | JPEG fine | Large:Fine |
2236 | 3504 | JPEG normal | Large:Normal |
1696 | 2544 | JPEG fine | Middle:Fine |
1696 | 2544 | JPEG normal | Middle:Normal |
1152 | 1728 | JPEG fine | Small:Fine |
1152 | 1728 | JPEG normal | Small:Normal |
2236 | 3504 | Raw | CRW |
I suspect that the remaining bytes after 0x15d are garbage.