A collection of movie mode (and other) capabilities.
Columns
Sensor: Pixel count, size
S. type (sensor type): CCD / CMOS
Movie fmt.: Movie file format, video codec (Canon's AVI files always contain MJPEG compressed video)
Max. movie res.: Highest movie resolution @ fps, source dimensions, source pixel format
Other m. res.: Another "interesting" supported movie mode
Enc.: Movie video frame encoder routine
Notes:
- rc: officially remote controllable via PC (includes liveview over ptp)
- raw: official raw support (in still image mode)
Table
P-ID | Model | DIGIC | OS | Sensor | S. type |
Movie |
Max. movie |
Other m. |
Enc. | notes |
30BF | SD300 / IXUS40 | II | Vx | 4M, 1/2.5" | CCD | AVI | 640x480@30 | |||
30C0 | SD200 / IXUS30 | II | Vx | 3.2M, 1/2.5" | CCD | AVI | 640x480@30 720x480, Y411 |
|||
30F0 | S2IS | II | Vx | 5M, 1/2.5" | CCD | AVI | 640x480@30 | rc | ||
30F2 | SD500 / IXUS700 | II | Vx | 7.4M | CCD | AVI | 640x480@30 | |||
30F4 | SD30 / IXUS IZOOM | II | Vx | 5M 1/2.5" | CCD | AVI | 640x480@10 | |||
30F8 | A430 | II | Vx | 4M, 1/3" | CCD | AVI | 640x480@10 720x568, Y411 |
320x240@30 360x191, Y411 |
||
30F9 | A410 | II | Vx | 3.2M, 1/3.2" | CCD | AVI | 640x480@10 720x480, Y411 |
|||
30FA | S80 | II | Vx | 8M, 1/1.8" | CCD | AVI |
1024x768@15 |
640x480@30 | rc | |
30FC | A620 | II | Vx | 7.1M, 1/1.8" | CCD | AVI | 640x480@30 | rc | ||
30FD | A610 | II | Vx | 5M, 1/1.8" | CCD | AVI | 640x480@30 | |||
30FE | SD630 / IXUS65 | II | Vx 5.5 | 6M, 1/2.5" | CCD | AVI | 640x480@30 720x528, Y411 |
|||
30FF | SD450 / IXUS55 | II | Vx | 5M 1/2.5" | CCD | AVI | 640x480@30 | |||
3100 | TX-1 | III | Vx | 7.1M, 1/2.5" | CCD | AVI | 1280x720@30 | 320x240@60 | MJPEG, 60fps has no short time limit | |
310E | SD400 / IXUS50 | II | Vx | 5M, 1/2.5" | CCD | AVI | 640x480@30 | |||
310F | A420 | II | Vx | 4M, 1/3" | CCD | AVI | 640x480@10 720x568, Y411 |
320x240@30 360x191, Y411 |
vx1 | |
3115 | SD900 / IXUS900 Ti | III | Vx 5.5 | 10M, 1/1.8" | CCD | AVI | 1024x768@15 | 640x480@30 | ||
3116 | SD550 / IXUS750 | II | Vx | 7.1M, 1/1.8" | CCD | AVI | 640x480@30 | |||
3117 | A700 | II | Vx | 6M, 1/2.5" | CCD | AVI | 640x480@30 | |||
3119 | SD700IS / IXUS800IS | II | Vx | 6M, 1/2.5" | CCD | AVI | 640x480@30 | |||
311A | S3IS | II | Vx | 6M, 1/2.5" | CCD | AVI | 640x480@30 | rc | ||
311B | A540 | II | Vx 5.5 | 6M, 1/2.5" | CCD | AVI | 640x480@30 | |||
311C | SD600 / IXUS60 | II | Vx | 6M, 1/2.5" | CCD | AVI | 640x480@30 | |||
3125 | G7 | III | Vx 5.5 | 10M, 1/1.8" | CCD | AVI | 1024x768@15 | rc | ||
3126 | A530 | II | Vx | 5M, 1/2.5" | CCD | AVI | 640x480@10 | 320x240@20 | ||
3136 | SD800IS / IXUS850IS | III | Vx 5.5 | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | |||
3137 | SD40 / IXUS I7 | III | Vx 5.5 | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | |||
3138 | A710 | II | Vx | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | |||
3139 | A640 | II | Vx | 10M, 1/1.8" | CCD | AVI | 640x480@30 | rc | ||
313A | A630 | II | Vx | 8M, 1/1.8" | CCD | AVI | 640x480@30 | |||
3148 | S5IS | III | Dry 2.3 r20 | 8M, 1/2.5" | CCD | AVI | 640x480@30 | rc | ||
3149 | A460 | II | Vx | 5M, 1/3" | CCD | AVI | 640x480@10 | 320x240@30 | ||
314B | SD850IS / IXUS950IS | III | Vx 5.5 | 8M, 1/2.5" | CCD | AVI | 640x480@30 | 320x240@60 | ||
314C | A570IS | III | Vx 5.5 | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | 320x240@60 | ||
314D | A560 | III | Vx 5.5 | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | 320x240@60 | ||
314E | SD750 / IXUS75 | III | Vx 5.5 | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | 320x240@60 | +low frame rate 640x480 movie | |
314F | SD1000 / IXUS70 | III | Vx 5.5 | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | 320x240@60 | ||
3150 | A550 | II | Vx | 7.1M, 1/2.5" | CCD | AVI | 640x480@30 | 320x240@60 | ||
3155 | A450 | II | Vx | 5M, 1/3" | CCD | AVI | 640x480@10 | 320x240@30 | ||
315A | G9 | III | Dry 2.3, r23 | 12.1M, 1/1.7" | CCD | AVI | 1024x768@15 | 640x480@30 | raw, rc, +low frame rate 640x480 movie | |
315B | A650IS | III | Dry 2.3 | 12.1M, 1/1.7" | CCD | AVI | 640x480@30 | no 60fps mode | ||
315D | A720IS | III | Dry 2.3, r23 | 8M, 1/2.5" | CCD | AVI | 640x480@30 | |||
315E | SX100IS | III | Dry 2.3, r23 | 8M, 1/2.5" | CCD | AVI | 640x480@30 640x480, UYVY |
320x240@30 360x240, Y411 |
dry1 | rc |
315F | SD950IS / IXUS960IS | III | Dry 2.3, r23 | 12.1M, 1/1.7" | CCD | AVI | 1024x768@15 | 640x480@30 | +low frame rate 640x480 movie, no 60 fps mode | |
3160 | SD870IS / IXUS860IS | III | Dry 2.3, r23 | 8M, 1/2.5" | CCD | AVI | 640x480@30 | +low frame rate 640x480 movie, no 60 fps mode | ||
3173 | SD890IS / IXUS970IS | III | Dry 2.3, r23 | 10M, 1/2.3" | CCD | AVI | 640x480@30 | +low frame rate 640x480 movie, no 60 fps mode | ||
3174 | SD790IS / IXUS90IS | III | Dry 2.3, r23 | 10M, 1/2.3" | CCD | AVI | 640x480@30 | +low frame rate 640x480 movie, no 60 fps mode | ||
3175 | SD770IS / IXUS85IS | III | Dry 2.3, r23 | 10M, 1/2.3" | CCD | AVI | 640x480@30 | +low frame rate 640x480 movie, no 60 fps mode | ||
3176 | A590IS | III | Dry 2.3, r23 | 8M, 1/2.5" | CCD | AVI | 640x480@20 | 320x240@30 | ||
3177 | A580 | III | Dry 2.3, r23 | 8M, 1/2.5" | CCD | AVI | 640x480@20 | 320x240@30 | ||
317A | A470 | III | Dry 2.3, r23 | 7.1M, 1/2.5" | CCD | AVI | 640x480@20 640x480, UYVY |
320x240@30 360x240, Y411 |
dry1 | |
3184 | SD1100IS / IXUS80IS | III | Dry 2.3, r23 | 8M, 1/2.5" | CCD | AVI | 640x480@30 | +low frame rate 640x480 movie, no 60 fps mode | ||
318D | SX10 | 4 | Dry 2.3, r31 | 10M, 1/2.3" | CCD | MOV, H.264 | 640x480@30 | |||
318E | A1000IS | III | Dry 2.3, r31 | 10M, 1/2.3" | CCD | AVI | 640x480@30 | |||
318F | G10 | 4 | Dry 2.3, r31 | 14.7M, 1/1.7" | CCD | MOV, H.264 | 640x480@30 | raw, rc | ||
3191 | A2000IS | III | Dry | 10M, 1/2.3" | CCD | AVI | 640x480@30 | |||
3192 | SX110IS | III | Dry | 9M, 1/2.3" | CCD | AVI | 640x480@30 | rc | ||
3193 | SD990IS / IXUS980IS | 4 | Dry 2.3, r31 | 14.7M, 1/1.7" | CCD | MOV, H.264 | 640x480@30 | |||
3195 | SX1 | 4 | Dry | 10M, 1/2.3" | CMOS | MOV, H.264 | 1920x1080@30 | 640x480@30 | raw* | |
3196 | SD880IS / IXUS870IS | 4 | Dry | 10M, 1/2.3" | CCD | MOV, H.264 | 640x480@30 | |||
31BC | D10 | 4 | Dry 2.3, r31 | 12.1M (12.7M), 1/2.3" | CCD | MOV, H.264 | 640x480@30 | |||
31BD | SD960IS / IXUS 110 | 4 | Dry | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31BE | A2100IS | 4 | Dry 2.3, r31 | 12.1M (12.7M), 1/2.3" | CCD | AVI | 640x480@30 | |||
31BF | A480 | III | Dry | 10M, 1/2.3" | CCD | AVI | 640x480@30 | |||
31C0 | SX200IS | 4 | Dry | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31C1 | SD970IS / IXUS 990 | 4 | Dry | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31C2 | SD780IS / IXUS100IS | 4 | Dry 2.3, r31 | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31C3 | A1100IS | 4 | Dry 2.3, r31 | 12.1M (12.7M), 1/2.3" | CCD | AVI | 640x480@30 | |||
31C4 | SD1200IS / IXUS95IS | 4 | Dry 2.3, r31 | 10M, 1/2.3" | CCD | AVI | 640x480@30 | |||
31DF | G11 | 4 | Dry 2.3, r39 | 10M (10.4M), 1/1.7" | CCD | MOV, H.264 | 640x480@30 | raw | ||
31E0 | SX120IS | 4 | Dry 2.3, r39 | 10M (10.3M), 1/2.5" | CCD | AVI | 640x480@30 | |||
31E1 | S90 | 4 | Dry 2.3, r39 | 10M (10.4M), 1/1.7" | CCD | MOV, H.264 | 640x480@30 | |||
31E4 | SX20 | 4 | Dry 2.3, r39 | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31E5 | SD980 / IXUS200IS | 4 | Dry 2.3, r39 | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31E5 | SD940 / IXUS120IS | 4 | Dry 2.3, r39 | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31EF | A495 | III | Dry 2.3, r43 | 10M (10.3M), 1/2.3" | CCD | AVI | 640x480@30 | |||
31F0 | A490 | III | Dry 2.3, r43 | 10M (10.3M), 1/2.3" | CCD | AVI | 640x480@30 | |||
31F1 | A3100 | III | Dry 2.3, r43 | 12.1M (12.4M), 1/2.3" | CCD | AVI | 640x480@30 | |||
31F2 | A3000 | III | Dry 2.3, r43 | 10M (10.6M), 1/2.3" | CCD | AVI | 640x480@30 | |||
31F3 | SD1400IS (IXUS130) | 4 | Dry 2.3, r43 | 14.1M (14.5M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31F5 | SD3500IS (IXUS210IS) | 4 | Dry | 14.1M (14.5M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31F6 | SX210 | 4 | Dry 2.3, r43 | 14.1M (14.5M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
31F7 | SD4000IS (IXUS300HS) | 4 | Dry 2.3, r43 | 10M (10.6M), 1/2.3" | CMOS | MOV, H.264 | 1280x720@30 | 320x240@240 | ||
31F8 | SD4500IS (IXUS1000HS) | 4 | Dry 2.3, r45 | 10M, 1/2.3" | CMOS | MOV, H.264 | 1920x1080@24 | 1280x720@30 | ||
*320F | G12 | 4 | Dry 2.3, r45 | 10M (10.4M), 1/1.7" | CCD | MOV, H.264 | 1280x720@24 | 640x480@30 | raw | |
3210 | SX30 | 4 | Dry 2.3, r45 | 14.1M (14.5M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
3211 | SX130IS | 4 | Dry 2.3, r45 | 12.1M (12.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
3212 | S95 | 4 | Dry 2.3, r45 | 10M (10.4M), 1/1.7" | CCD | MOV, H.264 | 1280x720@24 | 640x480@30 | raw | |
3223 | A3300 | 4 | Dry 2.3, r47 | 16M (16.4M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
3224 | A3200 | 4 | Dry 2.3, r47 | 14.1M, 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
3226 | A800 | III | Dry 2.3, r47 | 10M (10.6M), 1/2.3" | CCD | AVI | 640x480@30 | |||
3228 | SX230HS | 4 | Dry 2.3, r47 | 12.1M (12.8M), 1/2.3" | CMOS | MOV, H.264 | 1920x1080@24 | 320x240@240 | ||
322A | A2200 | 4 | Dry 2.3, r47 | 14.1M, 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
*322B | A1200 | 4 | Dry 2.3, r47 | 12.1M (12.7M), 1/2.3" | CCD | MOV, H.264 | 1280x720@24 | 640x480@30 | ||
322C | SX220HS | 4 | Dry 2.3, r47 | 12.1M (12.8M), 1/2.3" | CMOS | MOV, H.264 | 1920x1080@24 | 320x240@240 | ||
3234 | SX150IS | 4 | Dry 2.3, r49 | 14.1M (14.5M), 1/2.3" | CCD | MOV, H.264 | 1280x720@30 | 640x480@30 | ||
3236 | S100 | 5 | Dry 2.3, r49 | 12.1M (13.3M), 1/1.7" | CMOS | MOV, H.264 | 1920x1080@24 | 320x240@240 | raw | |
3238 | SX40 | 5 | Dry 2.3, r49 | 12.1M (12.8M), 1/2.3" | CMOS |
MOV, H.264 |
1920x1080@24 | 320x240@240 |
Technical information
Video frame encoder routine
vx1) Earlier VxWorks / DIGIC II, MJPEG
A420, 100b This may not apply to models that have a 1024x768 mode... The target frame resolution is decided in the encoder routine. The source is always a 720px wide framebuffer, the source frame is always "top left". The source pixel format is always Y411. Parameters of sub_FFC80EE4 (values in 320x240 movie mode, while recording), might contain mistakes r0: address of the current framebuffer r1: 360, src frame width in pixels r2: 191, src frame height in pixels r3: destination address (compressed frame to be placed at, the co-processor can only write to 32bit aligned addresses!), useful mjpeg data begins at start+0x18 or start+0x1a with the current canon code (alignment is 2 bytes when recording a movie) //passed on caller's stack: [sp+0x00]: 0x20000, probably compressed framesize limit [sp+0x04]: 0 ... offset? [sp+0x08]: 0 ... offset? [sp+0x0c]: pointer to avi vidframe size (on caller's stack), to be filled by the encoder routine [sp+0x10]: [0x720c8] = 0xffc7bb54, looks like a pair of quantization tables [sp+0x14]: [0x720d4], compression quality (0..99?) [sp+0x18]: caller's sp+0x1c, gets set to 0 when compression was ok
dry1) Earlier DryOS / DIGIC III, MJPEG
SX100, A470 The target frame resolution is also decided in the encoder routine. The source framebuffer's dimensions vary depending on the movie mode. The routine can handle at least 2 pixel formats: Y411, UYVY There are signs of a third possible format which uses 32 bits per pixel (RGBA?). In case of the SX100, this encoder routine is also called from the "remote EVF" routine, so the remote live view also uses MJPEG compression. Parameters of sub_FFCD75D4 (SX100IS, 100c) r0: address of the current framebuffer r1: src frame width in pixels r2: src frame height in pixels r3: destination address (alignment: 2 bytes) //passed on caller's stack: [sp+0x00]: probably compressed framesize limit in bytes [sp+0x04]: 0 ... offset? [sp+0x08]: 0 ... offset? [sp+0x0c]: pointer to avi vidframe size (on caller's stack), to be filled by the encoder routine [sp+0x10]: quantization table address [sp+0x14]: compression quality (0..99?) [sp+0x18]: src pixel format (0=Y411, 1=UYVY) [sp+0x1c]: src framebuffer width in pixels [sp+0x20]: pointer to "compression OK" flag, gets set to 0 when compression was ok
Table shamelessly stolen from P-ID (Table).