This confusing ifdef came to my attention in:
http://chdk.setepontos.com/index.php?topic=11064.0Per the comment (by philmoz I think) in
For older cameras (that do not define CAM_USES_ASPECT_CORRECTION) the
aspect ratio is controlled by the CAM_HAS_VARIABLE_ASPECT value
in platform_camera.h (camera_screen.has_variable_aspect). Defining
this value tells the code that the camera has a 16:9 LCD but can
also display a 4:3 image with black bars on the left and right.
Grepping the code confirms this and is the only place it is used.
However, it was defined for a lot of cameras that do *not* have a 16:9 LCD but also define CAM_USES_ASPECT_CORRECTION. This has no effect beyond being confusing, since CAM_USES_ASPECT_CORRECTION avoids the old code path completely.
In trunk
changeset 3285 I have removed this define from all cams that also have CAM_USES_ASPECT_CORRECTION set.
The affected cameras are
a1200
a1300
a2300
a2400
a3400
a4000
a810
ixus1000_sd4500
ixus115_elph100hs
ixus125_elph110hs
ixus220_elph300hs
ixus230_elph310hs
ixus300_sd4000
sx210is
sx220hs
sx230hs
While I'm pretty sure these are OK, I would appreciate anyone who has one of these cameras verifying that the zebra still works.
That leaves only sx1 using the CAM_HAS_VARIABLE_ASPECT. If we can fix this and find a tester, we can probably remove the define and associated variant of the zebra code completely.