I've been working on updating the iPhone 4S-specific version of my camcorder enhancer tool for some hours (earlier, dedicated article HERE).
It's still far from being finished but, should you
1, need it right away and
2, know iOS programming and
3, have clearly understood how my previous iPhone 3GS / 4 camera enhancer tools (see for example THIS and, particularly, THIS) worked, how the objects interacted etc,
you can start using it right away with some work, even with some wired-in parameters (without a GUI). I still don't know when I'll release the finished version: I've been very busy lately so I can't promise anything. Hopefully next week. Or later. Or the next month. Dunno.
What has been implemented?
First, compared to the iPhone 4 / 3G S-specific version, I've added a bunch of settable parameters to the Advanced view's engine (but not to the graphical interface – yet). There have been no changes to the Simple View yet – I still need to decide what the most important parameters are. That is, for the time being, use the Advanced View. It already allows for setting up and storing any number (settable via RootViewController.NR_OF_ENTRIES) of records you can freely rename to show what custom settings you store in them. Backing up and restoring these records is already implemented.
Basically, I let for setting every single parameter you can set, including Binned, ImageStabilizationMethod (you'll want to set it to 0, should you want to give a try to using the entire sensor surface) and a bunch of other parameters. NOTE: not all pre-defined dictionaries (coming with iOS 5.1.1) contain all these key/value pairs by default. For example, the default AVCaptureSessionPresetHigh doesn't contain the MinFrameRate / MaxFrameRate / Binned etc. entries, while for example AVCaptureSessionPreset1280x720 does. (I've also listed these at the bottom of MyDataWrapper.h. BTW, speaking of MyDataWrapper, its implementation file, MyDataWrapper.m, already has the 4S-specific values in the -(id)init method.) I still need to add empty string checking to the writeDataToSystemFile method in SystemPlistContentWrapper.m and just don't store entries that are empty. (I assume users don't enter anything for values they don't want to be created. This is a change from the pre-iOS5, iPhone 3GS / 4 times, when I have stored everything back in the system plist as those entries were common to all ArrayOfHardwareCameraItems entries.)
Please don't forget that you can't use this app without modifying it. You're free to do it; again, I only release the sources for people that do know iOS programming and need the tool as soon as possible, way before I release my official version. About 50-60% of the new, 4S-specific engine is ready – now, it “only” takes some additional, depending on non-foreseeable problems, 4-16 hours to properly get ready, test and, for Cydia, pack and release the entire app.
The complete sources are HERE.