Wednesday, March 19, 2008

Vista JPEG rotation may not be lossless

I just rotated a JPEG and the new file was almost twice as large as the original. I thought that the rotation was probably not lossless and was instead a re-encode, and I was right. According to a forum thread I found, rotation is lossless when possible, but if lossless rotation isn't possible you get lossy rotation without warning. Like many of the people in that thread, I find this to be unacceptable. I recommend Jpegcrop for lossless JPEG manipulation.

Windows XP warns if rotation isn't lossless, and I think this is another example of how XP is sometimes better. In the forum thread someone from Microsoft said that they removed the warning for usability reasons. I think the right thing to do would be to have a "don't show this again" checkbox and a preference checkbox somewhere to enable the warning.


Anonymous said...

I think Microsoft is right.

Using the JPEG format for storing the pictures is an indicator showing that Quality is in 2nd place of importance.

As almost always the user who wants to rotate the picture is the one who used this format (I mean the normal consumer who does doesn't care much about quality) asking for the quality is nonsense and I'm pretty sure over 90% accept the loss of quality with the tick in "dont show again" box as they find it annoying.

If you really care about quality you shouldn't use the JPEG format at the first place.

p.s: Loss of quality after re-encoding is often not sensible and contradictory to popular belief seldom introduces more artifacts and considering the purpose we used the JPEG in the first place, this is not a problem :)

Anonymous said...

I forgot to mention that the change in file size does not mean change in picture data, it simply shows the fact that the file is encoded differently. 1+3 (2 elements) produces 4 as 1+1+1+1 (4 elements)