Only it doesn't work, at least according to the Gimp. Above is the
difference between the original image and the one passed through jpegtran.
I've boosted the gain a lot - the difference histogram is the
image on the upper right. The differences had pixels as much as 17/255
white! It should be all black.

Is this a flaw inherent in jpegtran? Is it an artifact of the Gimp's
jpeg decoder? It's not just jpegtran; Canon's own software has the
same artifacts. And I don't think it's just the Gimp; I get the same
results with djpeg and pbmplus.

Update: I got a great response from
Guido explaining what's going on.
JpegTran is lossless, in the sense it is reversible - re-rotate the
image with jpegtran and you get the identical pixels.
The differences above are because of jpeg decoding.
For example, camera jpeg images are often 2x1
chroma
subsampled.
When you rotate them that becomes 1x2 and the decoder acts a bit
differently.