JPEG Saver 5.28.1
There are a couple of bugs fixed and a few minor improvements in this version of JPEG Saver. I remembered to check that it works on Windows 7 this time as well.
The biggest change in this version is the addition of a fixed buffer for decompressed video frames. In previous versions JPEG Saver would allocate memory for each frame and pass it over to the renderer where it would be deallocated.
That is a bit inefficient, and the way JPEG Saver was queueing the frames meant that it could also end up using a lot of memory when jumping forwards or backwards through the video. I have also tidied up how JPEG Saver does the jumping around, which leads onto the major problem I fixed in this version.
Video decode error
“Video decode error” is a message that you might sometimes see now from JPEG Saver when jumping forwards or backwards in a video. (It might happen at other times too, but I have only seen it then.) You would not have seen this message from earlier versions - JPEG Saver was ignoring the errors and trying to carry on. Unfortunately, that doesn't really work and instead the video would stop and JPEG Saver might have stopped responding altogether.
The error message is not very informative, but I'm afraid that is about the best I can manage. I spent quite a while debugging this to see if I could prevent it happening, but the error happens inside a system-installed video decoder DLL and all I could get from the error is that something failed.
When this happens now JPEG Saver will display the error message, shut down Windows Media Foundation and try to start it again. If it is successful it will be able to play videos again, otherwise you will get a message that the loader is disabled when it tries to display a video file. Restarting JPEG Saver should clean up and get it working again if that happens.
The big picture
A user contacted me about corruption at the bottom of images, which was obviously not good. It turned out that these were really large images, and JPEG Saver was not scaling the whole of the image down, instead leaving the bottom of the image full of uninitialised junk.
The reason for this was a limit on the image width and height that was set to 16,384 pixels. I have increased this limit to 65,536, four times the size. The limit is used to set the size of a buffer in the resampling-based resizing modes, but the "Simple", "Bilinear" and "Bicubic" modes don't use this buffer and should not be limited.
If anyone is regularly using images that are over 65,536 pixels wide or high, please let me know and I'll see if I can swap out the fixed buffer size for something more extensible.
The updated installers are available from the downloads page.