66MBps at 24P Magic Lantern Hack/Firmware

h.264 qscale

The Canon function mvrSetDefQScale(int16_t *) (2.0.8 0xff990188) sets the quality parameter to the camera’s h.264 encoder. If the CF card is not able to keep up, the camera will display a buffer-level bar on the right side of the LCD and stop recording when it hits full. The parameter does not have any effect unless fixed bit rate encoding is selected via mvrFixQScale(int16_t *) (2.0.8 0xff9905d4).

The default q-scale is -8 in VBR mode and has a nominal 42 Mbps with the 2.0.8 firmware. The 24p tests were done with the camera on a tripod writing to a Lexar 400x UDMA 16 GB card with all Magic Lantern tasks disabled (no zebras, cropmarks, etc). qscales less than -12 occasionally stopped recording.

Q-scale FPS Mbps Notes
+8 30p 7 MBps Very low quality
-9 24p 32 MBps
-10 24p 41 MBps
-11 24p 51 MBps
-12 24p 59 MBps
-13 24p 62 MBps
-14 24p 66 MBps Best, sustainable in 24p mode?
-15 24p 68 MBps 2 buffer bars
-16 24p 76 MBps Only a few seconds


  • 24p seems to have less issues than 30p
  • Locked-off shots seem less likely to trigger buffer overflows; amount of motion?
  • Auto-exposure changes seems to lead to immediate overflows: shoot manual exposure mode
  • -14 seems to be the best that can be sustained with the card with all other ML tasks running.

Test firmware


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s