CHDK Wiki
Register
Advertisement

A collection of movie mode (and other) capabilities.[]


The purpose of this table is to give an overview of all CHDK-capable cameras. It's concentrating on image capture capabilities, not on optical or usability ones.
The sensor's raw resolution and physical dimensions may indicate that

  • camera models, whose sensors share the same size, technology and raw resolution may have been built with the same sensor. A certain sensor model always has the same capabilities, even if the camera doesn't use them (this applies to movie modes - frame rate and/or resolution).


Columns[]


P-ID: P(roduct) ID of the model, hexadecimal only

Model: Camera's market name(s), link to its wikia page

DIGIC: DIGIC processor generation

OS: Operating system on camera (Vx - VxWorks, Dry - DryOS), including revision

Sensor: Effective pixel count (total pixel count), size, based on the official specification

RAW res.: Sensor raw resolution, as found in firmware

S. type (sensor type): CCD / CMOS, make (Sony, Panasonic, etc.)

Mvi. fmt.: Movie file format (AVI - video always MJPEG, MOV - video always h.264)

Max. movie res.: Highest movie resolution @ fps, source dimensions, source pixel format

Other m. res.: Another (more or less interesting) supported movie mode

Enc.: Movie video frame encoder routine (programming info for future use, has to be rev. engineered)

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 RAW
res.
S.
type
Mvi.
fmt.
Max. movie
res.
Other m.
res.
Enc. notes
309C S1IS I Vx 3.2M, 1/2.7" 2144 x 1560 CCD AVI 640x480@30 640x480, Y411 320x240@30 rc
30BF SD300 / IXUS40 II Vx 4.0M, 1/2.5" 2400 x 1766 CCD AVI 640x480@30
30C0 SD200 / IXUS30 II Vx 3.2M (3.3M), 1/2.5" 2144 x 1564 CCD AVI 640x480@30
720x480, Y411
320x240@60 360x240, Y411
30F0 S2IS II Vx 5M (5.3M), 1/2.5" 2672 x 1968 CCD AVI 640x480@30 rc
30F2 SD500 / IXUS700 II Vx 7.1M (7.4M), 1/1.8" 3152 x 2340 CCD AVI 640x480@30 320x240@60
30F4 SD30 / IXUS IZOOM II Vx 5M (5.3M) 1/2.5" 2672 x 1968 CCD AVI 640x480@10 320x240@20
30F8 A430 II Vx 4M, 1/3" 2392 x 1752 CCD AVI 640x480@10
720x568, Y411
320x240@30
360x191, Y411
30F9 A410 II Vx 3.2M, 1/3.2" 2144 x 1560 CCD, Pana. AVI 640x480@10
720x480, Y411
320x240@20 no video out, CCD probably MN39400
30FA S80 II Vx 8M, 1/1.8" 3344 x 2484 CCD AVI 1024x768@15
1024x768, Y411 (separate, double buffered)
640x480@30
720x408, Y411 (triple buffered)
rc
30FC A620 II Vx 7.1M (7.4M), 1/1.8" 3152 x 2340 CCD AVI 640x480@30 320x240@60 rc
30FD A610 II Vx 5M (5.3M), 1/1.8" 2672 x 1968 CCD AVI 640x480@30 320x240@60
30FE SD630 / IXUS65 II Vx 5.5 6M (6.2M), 1/2.5" 2888 x 2136 CCD, Sony AVI 640x480@30
720x528, Y411
320x240@60 sensor ICX624?
30FF SD450 / IXUS55 II Vx 5M (5.3M) 1/2.5" 2672 x 1968 CCD AVI 640x480@30 320x240@60
3100 TX-1 III Vx 7.1M, 1/2.5" 3152 x 2340 CCD AVI 1280x720@30 320x240@60 MJPEG, unlimited 60fps rec.
310E SD400 / IXUS50 II Vx 5M (5.3M), 1/2.5" 2672 x 1968 CCD AVI 640x480@30 320x240@60
310F A420 II Vx 4M, 1/3" 2392 x 1752 CCD AVI 640x480@10
720x568, Y411
320x240@30
360x191, Y411
vx1 no video out
3115 SD900 / IXUS900 Ti III Vx 5.5 10M, 1/1.8" 3672 x 2760 CCD AVI 1024x768@15 640x480@30
3116 SD550 / IXUS750 II Vx 7.1M (7.4M), 1/1.8" 3152 x 2340 CCD AVI 640x480@30 320x240@60
3117 A700 II Vx 6M (6.2M), 1/2.5" 2888 x 2136 CCD AVI 640x480@30 320x240@60
3119 SD700IS / IXUS800IS II Vx 6M (6.2M), 1/2.5" 2888 x 2136 CCD AVI 640x480@30 320x240@60
311A S3IS II Vx 6M (6.2M), 1/2.5" 2888 x 2136 CCD AVI 640x480@30 320x240@60 rc
311B A540 II Vx 5.5 6M (6.2M), 1/2.5" 2888 x 2136 CCD AVI 640x480@30 320x240@60
311C SD600 / IXUS60 II Vx 6M (6.2M), 1/2.5" 2888 x 2136 CCD AVI 640x480@30 320x240@60
3125 G7 III Vx 5.5 10M, 1/1.8" 3736 x 2772 CCD AVI 1024x768@15 640x480@30 rc
3126 A530 II Vx 5M, 1/2.5" 2672 x 1968 / 1992 CCD AVI 640x480@10 320x240@20
3136 SD800IS / IXUS850IS III Vx 5.5 7.1M, 1/2.5" 3152 x 2340 CCD AVI 640x480@30 320x240@60
3137 SD40 / IXUS I7 III Vx 5.5 7.1M, 1/2.5" 3072 x 2304* CCD AVI 640x480@30 320x240@60
3138 A710 II Vx 7.1M, 1/2.5" 3152 x 2340 CCD AVI 640x480@30 320x240@60
3139 A640 II Vx 10M, 1/1.8" 3736 x 2772 CCD AVI 640x480@30 rc
313A A630 II Vx 8M, 1/1.8" 3344 x 2484 CCD AVI 640x480@30
3148 S5IS III Dry 2.3 r20 8M (8.3M), 1/2.5" 3336 x 2480 CCD AVI 640x480@30 320x240@60 rc
3149 A460 II Vx 5M, 1/3" 2664 x 1968 CCD AVI 640x480@10 320x240@30
314B SD850IS / IXUS950IS III Vx 5.5 8M (8.3M), 1/2.5" 3336 x 2480 CCD AVI 640x480@30 320x240@60
314C A570IS III Vx 5.5 7.1M (7.4M), 1/2.5" 3152 x 2340 CCD AVI 640x480@30 320x240@60
314D A560 III Vx 5.5 7.1M (7.4M), 1/2.5" 3152 x 2340 CCD AVI 640x480@30 320x240@60
314E SD750 / IXUS75 III Vx 5.5 7.1M, 1/2.5" 3152 x 2340 CCD AVI 640x480@30 320x240@60 +low frame rate 640x480 movie
314F SD1000 / IXUS70 III Vx 5.5 7.1M, 1/2.5" 3152 x 2340 CCD AVI 640x480@30 320x240@60
3150 A550 II Vx 7.1M (7.4M), 1/2.5" 3152 x 2340 CCD AVI 640x480@30 320x240@60
3155 A450 II Vx 5M, 1/3" 2664 x 1968 CCD AVI 640x480@10 320x240@30
315A G9 III Dry 2.3, r23 12.1M, 1/1.7" 4104 x 3048 CCD AVI 1024x768@15 640x480@30 raw, rc, +low frame rate 640x480 movie
315B A650IS III Dry 2.3 12.1M, 1/1.7" 4104 x 3048 CCD AVI 640x480@30 no 60fps mode
315D A720IS III Dry 2.3, r23 8M (8.3M), 1/2.5" 3336 x 2480 CCD AVI 640x480@30
315E SX100IS III Dry 2.3, r23 8M (8.3M), 1/2.5" 3336 x 2480 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" 4104 x 3048 CCD AVI 1024x768@15 640x480@30 +low frame rate 640x480 movie, no 60 fps mode
3160 SD870IS / IXUS860IS III Dry 2.3, r23 8M (8.3M), 1/2.5" 3336 x 2480 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" 3720 x 2772 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" 3720 x 2772 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" 3720 x 2772 CCD AVI 640x480@30 +low frame rate 640x480 movie, no 60 fps mode
3176 A590IS III Dry 2.3, r23 8M (8.3M), 1/2.5" 3336 x 2480 CCD AVI 640x480@20 320x240@30
3177 A580 III Dry 2.3, r23 8M (8.3M), 1/2.5" 3336 x 2490 CCD AVI 640x480@20 320x240@30
317A A470 III Dry 2.3, r23 7.1M (7.4M), 1/2.5" 3152 x 2346 CCD, Pana? AVI 640x480@20
640x480, UYVY
320x240@30
360x240, Y411
dry1 sensor MN39600?
3184 SD1100IS / IXUS80IS III Dry 2.3, r23 8M (8.3M), 1/2.5" 3336 x 2480 CCD AVI 640x480@30 +low frame rate 640x480 movie, no 60 fps mode
318D SX10 4 Dry 2.3, r31 10M, 1/2.3" 3720 x 2772 CCD MOV 640x480@30
318E A1000IS III Dry 2.3, r31 10M, 1/2.3" 3720 x 2772 CCD AVI 640x480@30
318F G10 4 Dry 2.3, r31 14.7M, 1/1.7" 4480 x 3348 CCD MOV 640x480@30 raw, rc
3191 A2000IS III Dry 10M, 1/2.3" 3720 x 2772 CCD AVI 640x480@30
3192 SX110IS III Dry 9M, 1/2.3" 3720 x 2772 CCD AVI 640x480@30 rc
3193 SD990IS / IXUS980IS 4 Dry 2.3, r31 14.7M, 1/1.7" 4480 x 3348 CCD MOV 640x480@30
3195 SX1 4 Dry 10M, 1/2.3" 4152 x 2772 CMOS MOV 1920x1080@30 640x480@30 raw*
3196 SD880IS / IXUS870IS 4 Dry 10M, 1/2.3" 3720 x 2772 CCD MOV 640x480@30
31BC D10 4 Dry 2.3, r31 12.1M (12.7M), 1/2.3" 4104 x 3048 CCD MOV 640x480@30
31BD SD960IS / IXUS 110 4 Dry 12.1M (12.4M), 1/2.3" 4080 x 3148 CCD MOV 1280x720@30 640x480@30
31BE A2100IS 4 Dry 2.3, r31 12.1M (12.7M), 1/2.3" 4104 x 3048 CCD AVI 640x480@30
31BF A480 III Dry 10M, 1/2.3" 3720 x 2772 CCD AVI 640x480@30
31C0 SX200IS 4 Dry 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD MOV 1280x720@30 640x480@30
31C1 SD970IS / IXUS 990 4 Dry 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD MOV 1280x720@30 640x480@30
31C2 SD780IS / IXUS100IS 4 Dry 2.3, r31 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD MOV 1280x720@30 640x480@30
31C3 A1100IS 4 Dry 2.3, r31 12.1M (12.7M), 1/2.3" 4104 x 3048 CCD AVI 640x480@30
31C4 SD1200IS / IXUS95IS 4 Dry 2.3, r31 10M (10.3M), 1/2.3" 3720 x 2772 CCD AVI 640x480@30
31DF G11 4 Dry 2.3, r39 10M (10.4M), 1/1.7" 3744 x 2784 CCD MOV 640x480@30 raw
31E0 SX120IS 4 Dry 2.3, r39 10M (10.3M), 1/2.5" 3728 x 2778 CCD AVI 640x480@30
31E1 S90 4 Dry 2.3, r39 10M (10.4M), 1/1.7" 3744 x 2784 CCD MOV 640x480@30 raw
31E4 SX20 4 Dry 2.3, r39 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD MOV 1280x720@30 640x480@30
31E5 SD980 / IXUS200IS 4 Dry 2.3, r39 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD MOV 1280x720@30 640x480@30
31E5 SD940 / IXUS120IS 4 Dry 2.3, r39 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD MOV 1280x720@30 640x480@30
31EF A495 III Dry 2.3, r43 10M (10.3M), 1/2.3" 3720 x 2772 CCD AVI 640x480@30
31F0 A490 III Dry 2.3, r43 10M (10.3M), 1/2.3" 3720 x 2772 CCD AVI 640x480@30
31F1 A3100 III Dry 2.3, r43 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD AVI 640x480@30
31F2 A3000 III Dry 2.3, r43 10M (10.6M), 1/2.3" 3720 x 2772 CCD AVI 640x480@30
31F3 SD1400IS (IXUS130) 4 Dry 2.3, r43 14.1M (14.5M), 1/2.3" 4320 x 3240* CCD MOV 1280x720@30 640x480@30
*31F4 SD1300IS (IXUS105) 4 Dry 2.3, r43 12.1M (12.7M), 1/2.3" 4104 x 3048 CCD AVI 640x480@30
31F5 SD3500IS (IXUS210IS) 4 Dry 2.3, r43 14.1M (14.5M), 1/2.3" 4416 x 3296 CCD MOV 1280x720@30 640x480@30
31F6 SX210 4 Dry 2.3, r43 14.1M (14.5M), 1/2.3" 4320 x 3240*1400 CCD MOV 1280x720@30 640x480@30
31F7 SD4000IS (IXUS300HS) 4 Dry 2.3, r43 10M (10.6M), 1/2.3" 3816 x 2784 CMOS MOV 1280x720@30 320x240@240
31F8 SD4500IS (IXUS1000HS) 4 Dry 2.3, r45 10M, 1/2.3" 3816 x 2784 CMOS MOV 1920x1080@24 1280x720@30
320F G12 4 Dry 2.3, r45 10M (10.4M), 1/1.7" 3744 x 2784 CCD MOV 1280x720@24 640x480@30 raw
3210 SX30 4 Dry 2.3, r45 14.1M (14.5M), 1/2.3" 4464 x 3276 CCD MOV 1280x720@30 640x480@30
3211 SX130IS 4 Dry 2.3, r45 12.1M (12.4M), 1/2.3" 4080 x 3048 CCD MOV 1280x720@30 640x480@30
3212 S95 4 Dry 2.3, r45 10M (10.4M), 1/1.7" 3744 x 2784 CCD MOV 1280x720@24 640x480@30 raw
3223 A3300 4 Dry 2.3, r47 16M (16.4M), 1/2.3" 4704 x 3504 CCD MOV 1280x720@30 640x480@30
3224 A3200 4 Dry 2.3, r47 14.1M, 1/2.3" 4416 x 3296 CCD MOV 1280x720@30 640x480@30
*3225 ELPH500HS (IXUS310HS) 4 Dry 2.3, r47 12.1M, 1/2.3" 4168 x 3060 CMOS MOV 1920x1080@24 320x240@240
3226 A800 III Dry 2.3, r47 10M (10.6M), 1/2.3" 3720 x 2772 CCD AVI 640x480@30
*3227 ELPH100HS (IXUS115HS) 4 Dry 2.3, r47 12.1M, 1/2.3" 4168 x 3060 CMOS MOV 1920x1080@24 320x240@240
3228 SX230HS 4 Dry 2.3, r47 12.1M (12.8M), 1/2.3" 4168 x 3060 CMOS MOV 1920x1080@24 320x240@240
*3229 ELPH300HS (IXUS220HS) 4 Dry 2.3, r47 12.1M, 1/2.3" 4168 x 3060 CMOS MOV 1920x1080@24 320x240@240
322A A2200 4 Dry 2.3, r47 14.1M, 1/2.3" 4416 x 3296 CCD MOV 1280x720@30 640x480@30
322B A1200 4 Dry 2.3, r47 12.1M (12.7M), 1/2.3" 4104 x 3048 CCD MOV 1280x720@24 640x480@30
322C SX220HS 4 Dry 2.3, r47 12.1M (12.8M), 1/2.3" 4168 x 3060 CMOS MOV 1920x1080@24 320x240@240
3234 SX150IS 4 Dry 2.3, r49 14.1M (14.5M), 1/2.3" 4464 x 3276 CCD MOV 1280x720@30 640x480@30
3236 S100 5 Dry 2.3, r49 12.1M (13.3M), 1/1.7" 4160 x 3124 CMOS MOV 1920x1080@24 320x240@240 raw
*3237 ELPH310HS (IXUS230HS) 4 Dry 2.3, r49 12.1M, 1/2.3" 4168 x 3060 CMOS MOV 1920x1080@24 320x240@240
3238 SX40 5 Dry 2.3, r49 12.1M (12.8M), 1/2.3" 4176 x 3060 CMOS MOV 1920x1080@24 320x240@240
3244 SX260 5 Dry 2.3, r50 12.1M (12.8M), 1/2.3" 4176 x 3060 CMOS MOV 1920x1080@24 1280x720@30 640x480@30 640x480@120(slomo) 320x240@240(slomo)

Miscellaneous information[]


DIGIC II doesn't seem to be able to provide sensor liveview with more than one resolution at the same time. Later DIGIC (III or later) can do that. On DIGIC II cameras in hi-res movie mode, the framebuffers use a vertical resolution that is provided by the sensor. On later DIGIC, the framebuffers already contain a pre-resized image.

Earlier CCD models with a 60fps low-res movie mode have a short time limit in that mode. Reason unknown (marketing?). Exceptions: TX-1 (this one seems to have greater processing power anyway), S3IS (according to official specs), S5IS (according to official specs).

Cameras with remote liveview (rc indication in notes) use the movie video encoder routine (mjpeg) for video compression. One of the latest remote controllable cameras is the G10. It's pretty special: DIGIC 4, uses h.264 for video encoding in movies but also has the mjpeg encoder routine for remote liveview.

Programming information[]


Video frame encoder routine parameters[]


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).

Advertisement