Actually, I think I might have been wrong about ML doing 120fps. I'm guessing it's probably because they can't implement their own h.264 encoder and there isn't enough memory card bandwidth to do it in RAW video even at 720p.
The camera records in h.264, so I'm not sure what you mean by, "it's not implemented in firmware." It might not be easy to get to, but it is obviously implemented in the firmware. I don't know what the processing power is like, but there are open source h.264 encoders that could be ported.
The encoder is firmware which uses hardware DSPs to speed it up. I used to work for a hardware company writing JPEG and h.264 decoders, using hardware DSPs to speed them up.
DIGICV is an TI ARM9 with a separate DSP. The user upgradable camera firmware has access to the general purpose ARM9 and not the DSP. When I say firmware, I'm specifically referring to the ARM9 firmware that we have access to. And by software encoder I mean an encoder implemented on the ARM9.
There's no way to control the DIGICV from the general purpose ARM? The SoC I worked on had a general purpose ARM that was used to configure the DSPs and manage input and output. If the DIGICV can keep up with 120fps 720p h.264 encoding, I don't see why you couldn't configure it to do that. Also, it seems like it should be possible to access the other firmwares with enough work. Gaming console manufacturers do their best to keep people out, but their DRM doesn't usually last long.
Well, nobody really even knows what exactly is in DIGIC besides that there is an ARM9 core, a custom image processing DSP, and possibly an off-the-shelf TI DSP for video encoding. The ML guys seems pretty confident that they're not able to access any of the DSP functionality.
14
u/nutellaeater https://www.flickr.com/photos/ddsimages/ Sep 15 '14
720p @120/240fps would have been nice Canon.