Pixel data changes with linux release

Questions and postings pertaining to the development of ImageMagick, feature enhancements, and ImageMagick internals. ImageMagick source code and algorithms are discussed here. Usage questions which are too arcane for the normal user list should also be posted here.
Post Reply
JozoVilcek
Posts: 3
Joined: 2015-08-26T00:00:51-07:00
Authentication code: 1151

Pixel data changes with linux release

Post by JozoVilcek »

We have Imagemagick (8:6.8.8.10-1) build for debian squeeze version. Now, we are switching to wheezy, therefore Imagemagick (same source code) was rebuild for wheezy. During testing I have found out that pixel dump for the same jpeg image gives slightly different values on squeeze compared to wheezy. Changes are perceptualy not visible, but they big enough to break data compatibility of some of our features we compute.

I guess that some library imagemagick use is in different version?
Do I have chance to set up build environment on wheezy to make imagemagick results 100% reproducible? What needs to be done?

Many thanks in advance,
Jozo
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: Pixel data changes with linux release

Post by fmw42 »

What input format are you using? If it is JPG, then check your versions of libjpeg? IM used libjpeg for the delegate for JPG images.
JozoVilcek
Posts: 3
Joined: 2015-08-26T00:00:51-07:00
Authentication code: 1151

Re: Pixel data changes with linux release

Post by JozoVilcek »

Yes, downgrading libjpeg solves the problem for jpeg.

A newbie questions:

1. Now I have 2 libjepeg ... libjpeg62, libjpeg8. How is it decided which one is going to be used?
2. Are other formats handled the same way? I mean decoding is delegated dynamically to whatever library version is available in the system, instead of being part of imagemagick installation?
246246
Posts: 190
Joined: 2015-07-06T07:38:22-07:00
Authentication code: 1151

Re: Pixel data changes with linux release

Post by 246246 »

Short answer.
JozoVilcek wrote: 1. Now I have 2 libjepeg ... libjpeg62, libjpeg8. How is it decided which one is going to be used?
As you are in Linux,

Code: Select all

ldd `which convert`
shows library dependencies.

But If convert (and other programs identify, compose etc) are statically linked, dependencies may not be shown.
check

Code: Select all

convert -version
and see Features and Delegates lines. If Modules is missing in Features line, it is statically compiled.
JozoVilcek
Posts: 3
Joined: 2015-08-26T00:00:51-07:00
Authentication code: 1151

Re: Pixel data changes with linux release

Post by JozoVilcek »

Great! Thanks a lot
Post Reply