Candidate patch file attached.
Thanks.
For drawing, do we really need anything more than the bitmap width / height in CHDK adjusted coordinates?
I'm not sure how you would use the buffer sizes or aspect correction, but I haven't used the drawing stuff much.
Also aspect_correction and has_variable_aspect are two different things.
CAM_USES_ASPECT_CORRECTION means the camera has 2x1 bitmap pixels instead of (roughly) square bitmap pixels.
CAM_HAS_VARIABLE_ASPECT is something else related to zebra on cameras with a 16:9 screen, which appears to be mis-defined in some ports...