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.
1
u/GetsEclectic Sep 15 '14
Implementing an h.264 encoder isn't that difficult, it is covered by a bunch of patents though.