First, I'd like to apologize for my rant earlier. I let the frustration of remote debugging and communication difficulties get to me.
DIGITAL ZOOM. There is something here that should help significantly I hope. All other screen shots to now are with digital zoom disabled in the canon menu.
Now this useful. It shows that the values from the viewport size functions are probably not being used (or don't work on this camera). I assume this is still using the CHDK build I posted earlier ? If so, I probably messed something up. If you switched back to the "stock" build, please try the same with mine.
==>> Because of your expertise in canon cameras that admittedly I don't have as you implied, I used a vernier to measure the horizontal pixel count on the camera LCD.
I want to be really clear, it doesn't matter how many pixels are on the physical screen. We only have access to a specific frame buffer, which has a objectively measurable dimensions. We know, however many pixels the LCD displays, there are exactly 720 Y values in each row of data. We know that from the start of the buffer, there's something like 216 valid rows (unless we have the start of the buffer wrong, but from the firmware disassembly, that seems very unlikely). If the LCD has a different resolution, then Canon has to scale it somewhere, if it doesn't, they don't but the pixels aren't square, so we still have to scale.
@reyalp
This camera has a >10MP 1/2.3" sensor, but it's cropped down to less than 9 MP. I think they (Canon) used the optics of the SX100 which has a 1/2.5" CCD. This means that they can not use all of the lines the sensor's high frame rate readout modes provide, this camera is "special". I bet the "VGA" movie mode also operates with a source vertical resolution well below 480 lines.
Thanks, that's an interesting bit of information.