One thing that's annoyed me on the G12 and SX30 ports I did was that shutter, aperture and ISO override values in CHDK were not saved to the JPEG EXIF data. So you could not tell from the resulting JPEG what the actual exposure values were.
This also seems to be a problem for other cameras.
After digging through the firmware code for the G12 I found the functions that build the JPEG EXIF header.
What I found was that the JPEG EXIF header was using different property values from what I'd set up in propset4.h for these cameras.
I changed the property values in propset4.h which not only fixed the JPEG EXIF problem; but the override values are also shown on screen in the Canon OSD (bonus). This is true for the SX30 as well as the G12.
The changes I made are:
PROPCASE_AV was 23, now 22
PROPCASE_TV was 266, now 265
PROPCASE_SV was 251, now 347
It's still not perfect in that:
- Shutter speed values saved in the EXIF are limited to the maximum and minimum the camera supports natively (e.g. a shutter speed of 20 secs still shows in the EXIF as 15 secs).
- ISO overrides are weird, the override value does not correspond to the actual ISO value set. Still trying to work this one out.
Since the G12 and SX30 aren't the only cameras using propset4 I don't want to submit a patch until I can confirm that these changes work for all propset4 cameras (and don't break anything).
Anyone working with a propset4 camera, please try out the above changes and post results here.
Phil.