I've been doing some work with the
G12 which has a lot of things in common with the
S95.
I noticed that 'edge overlay' is listed as not working for the
S95 and I had problems with this as well on the
G12 so I thought I'd share what I found to get it working.
The problem on the
G12 was that, although the overlay showed and was recognisable as coming from the image it was distorted and in the wrong place.
What I've found is that the viewport buffer width is now 720 even though the viewport width is still 360.
To fix this I did the following:
In platform\camera\sub\firmware\lib.c add a new function:
int vid_get_viewport_buffer_width()
{
return 720; // G12 - buffer is twice as wide as viewport
}
In include\platform.h add a new definition:
int vid_get_viewport_buffer_width();
In core\edgeoverlay.c function get_viewport_size change:
FROM
viewport_width = viewportw * 3;
TO
viewport_width = vid_get_viewport_buffer_width() * 3;
Changes will probably need to be made for the zebra and histogram code as well.
Regards,
Phil.