Subject: | Image alteration using jpegtran optimize |
Date: | Thu, 5 Nov 2015 10:32:20 +0100 |
To: | bug-Image-JpegTran [...] rt.cpan.org |
From: | Marc Helbling <marc [...] sketchfab.com> |
Hi jpegtran team,
we are using jpegtran in production to losslessly improve file sizes. So
far we are very happy. We have however encountered a case where the
jpegtran optimization seems to partially alter an image.
Sample data is available at
https://gist.github.com/marchelbling/0c97ce5aac8f863783b4:
* `Model_0.jpg`: original image file (md5sum:
2302771b6a5802de5319667f8b06f906)
* `no_optimize.jpg`: result of `jpegtran -copy none -outfile optimize.jpg
Model_0.jpg` (md5sum: 2302771b6a5802de5319667f8b06f906)
* `optimize.jpg`: result of `jpegtran -optimize -copy none -outfile
optimize.jpg Model_0.jpg` (md5sum: 9dcdd05b0f85323da99685bdf4d7b21c)
The input image has no metadata so I can't tell where it comes from. The
issue is in the "bottom" pixels of `optimize.jpg` which is blackish.
Reading Model_0.jpg using OpenImageIO, then dumping it and running the
optimization produces an unaltered image.
Right now I don't have a fix for jpegtran and I'm checking if the
optimization is changing any pixel from the original image.
Thanks a lot for any help/advice.
System information:
Running in a docker container based on ubuntu:14.04.1 official image.
# uname -a
Linux cec7b9e76c60 3.11.0-26-generic #45~precise1-Ubuntu SMP Tue Jul 15
04:02:35 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# perl -v
This is perl 5, version 18, subversion 2 (v5.18.2) built for
x86_64-linux-gnu-thread-multi
# dpkg -s libjpeg-turbo-progs
Package: libjpeg-turbo-progs
Status: install ok installed
Priority: optional
Section: graphics
Installed-Size: 182
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: libjpeg-turbo
Version: 1.3.0-0ubuntu2
Replaces: libjpeg-progs (<< 8c-2ubuntu5)
Provides: libjpeg-progs
Depends: libc6 (>= 2.14), libjpeg8 (>= 8c)
Description: Programs for manipulating JPEG files
This package contains programs for manipulating JPEG files:
cjpeg/djpeg: convert to/from the JPEG file format
rdjpgcom/wrjpgcom: read/write comments in JPEG files
jpegtran: lossless transformations of JPEG files
tjbench: a simple JPEG benchmarking tool
Homepage: http://libjpeg-turbo.virtualgl.org/