Added arithmetic ops for Rgba<T> and La<T> much like they exist for Rgb<T> (These only make sense if using pre-multiplied alpha)
… aspect ratio of the pixels is known to be 1 (ie from hte datasheet). The implementation is slightly messy at the moment, since it has room for two focal lengths, and always forces the second to be zero (along with derivatives with respect to this parameter). This allows it to work in calibrate.cxx, which assumes that there will always be 4 linear parameters.
The camera model is altered at compile time. Currently, it isn't templated becuse of the use of some globals, and initialization like line 672. Calibrate assumes that there are 4 non radial distortion parameters: the optic axis, the focal length and the aspect ratio (stored as 2 focal lengths). All remaining parameters are assumed to be radial distortion. Tested with Quintic, Cubic and Harris models.
As a consequence, the video flushing has been reinstated for calibrate since frame_pending wotks properly from a ReadAheadBuffer on a live stream. Note that calibrate will hang if used with a jpegstream with no readahead set, since it will keep on flushing for ever.
…meras. This class does not do initiate the http transfer, it only opens a file. Use wget and a named pipe to grab live video. It has been added to open_video_source Also added a very generic member to videobuffer, so that the lifetime of arbitrary classes can be managed by a video buffer. This allows the new ServerPushJpegBuffer to manage the istream assosciated with the video. See open_video_source for an example of this. It will also allow decorator buffers to optionally manage the lifetime of the class they are decorating.
…g for the bug to show up.