It's important to realize here that ActiveArea specifies pixels that show the scene and are not fully covered or partially shaded by covering material.
My philosophy for CHDK has been to include all pixels that show recognizable image data, even if they aren't at the same level as the rest of the sensor.
As I was finding fully Black pixels inside the ActiveAreas that goal would need work, too. I don't agree on the matter of including recognizable image data, even if they aren't at the same level as the rest of the sensor but maybe that can be worked out. I'll write more on it below.
1) most people who really use raw will crop their shots anyway
They might. I prefer not having to as most often I rigorously frame in camera but that's a matter of personal preference. In what I'm working on these borders can interfere so I'll deal with them one way or another (the other would be in the post processing chain).
2) Occasionally, salvaging those border pixels will be worthwhile
I tried out of curiosity. I found varying exposure levels and it didn't work out well. We are talking about 10px or so out of usually several thousand. Cases where salvaging those border pixels will be worthwhile might exist but they'll be rare I'd reckon.
3) If the active area does not include them, then you can only access them by hacking the DNG header..
You can always modify that header after exposure should you choose to. The question is what should the default behavior be.
4) It's not always clear where the edge of the "good" pixels is.
Yes, as interpolation will have its part but one can look at non interpolated output which might help.
Some discussion can be found in
http://chdk.setepontos.com/index.php?topic=11591.msg113570#msg113570
Note that in CHDK 1.3, you adjust the default crop per Phil's suggestion in that thread. The ability to set "full" may negate #3 above.
Thank you very much for this link. Very informative.
The ability to adjust this mostly only influences Adobe products and not other software based on dcraw. (Out of lack of interest I didn't check third parties I know not to be using dcraw code) Dcraw ignores DefaultCrop etc. So only changing it to "Full" which will change the ActiveArea, too would have an influence there.
Personally I'm not too interested in the DefaultCrop for aforementioned reasons but would like to point out that having it default to "JPEG" in CHDK 1.3 makes sense for one group of cameras and not for another. For those where you can actually get JPEG and DNG data to align pixel precisely it makes sense. For those which use lens designs that strongly favor field curvature over astigmatism as seems to be Canon's preference since a few years it does not make sense. For those you'll need all pixels you can get to have the largest area to later use lens correction software on. I don't know if ever someone made an authoritative list which cameras do use lens correction in post processing so here is one: All DIGIC IV and later cameras currently supported by CHDK with the exception of A1100, A2100, D10, IXUS 95, IXUS 100, IXUS 980, SX10, SX20, SX120 do use it. DIGIC III and DIGIC II cameras generally don't. Those that do should default to ActiveArea those that don't should default to JPEG in terms of crop.
In general, the active area and default crop are is at the mercy of the person who did the port. Some of them are quite bad, and fixing the ones that are obvious wrong would be a good thing.
To conclude I could imagine doing the following:
- providing three sets of measurements
a) top, left, bottom, right fully masked (black pixels) on sensor
b) top, left, bottom, right partially shaded pixels not at the sensor's general exposure level
c) for those where it's relevant X, Y position of upper left JPEG corner on sensor
a) can be used to define ActiveArea according to reyalp's preference.
b) can be used to define it according to mine.
Since there already is a crop setting in CHDK we could have both (replacing current ActiveArea setting) where both settings would influence Active Area (as now does Full Sensor) and make DefaultCropOrigin 0,0 and Crop size the full ActiveArea. I'd use Active Area b for the JPEG setting (as a fall back where the RAW converter doesn't support the Crop meta tags)
Well, this is probably too long a reply as it is... So let's stop here.