Heads-up on ICC profile in JPEG corruption
Bob Friesenhahn <[email protected]> Wed, 16 Sep 2009 15:44:25 -0500 (CDT)
| Newsgroups | gmane.comp.video.graphicsmagick.announce |
|---|---|
| Message-ID | <[email protected]> |
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---559023410-462394273-1253133865=:1107 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Today I learned that GraphicsMagick 1.2 and later corrupt ICC profiles retrieved from JPEG files. Large ICC profiles are broken up into smaller chunks when saved to JPEG files which need to be re-assembled when the JPEG file is read. Starting with GraphicsMagick 1.2 (1.1.X are fine), this re-assembly was not done correctly. Small ICC profiles (< 32-64K bytes depending on the writing software) pass through without problems. Luckily, most files do seem to use small profiles. GraphicsMagick 1.2.9 and 1.3.7 will include fixes for this problem. A source patch to coders/jpeg.c is included for those who have source code and need to fix the problem ASAP. Bob -- Bob Friesenhahn [email protected], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ ---559023410-462394273-1253133865=:1107 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=jpeg.c.patch Content-Transfer-Encoding: BASE64 Content-ID: <[email protected]> Content-Description: Content-Disposition: attachment; filename=jpeg.c.patch SW5kZXg6IGNvZGVycy9qcGVnLmMNCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N ClJDUyBmaWxlOiAvR3JhcGhpY3NNYWdpY2svR3JhcGhpY3NNYWdpY2svY29k ZXJzL2pwZWcuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQyLjIuMQ0K cmV0cmlldmluZyByZXZpc2lvbiAxLjI0Mi4yLjMNCmRpZmYgLXUgLXIxLjI0 Mi4yLjEgLXIxLjI0Mi4yLjMNCi0tLSBjb2RlcnMvanBlZy5jCTE3IEp1bCAy MDA4IDIyOjE0OjA5IC0wMDAwCTEuMjQyLjIuMQ0KKysrIGNvZGVycy9qcGVn LmMJMTYgU2VwIDIwMDkgMjA6MjE6MDMgLTAwMDAJMS4yNDIuMi4zDQpAQCAt MzEzLDYgKzMxMyw1NyBAQA0KICAgcmV0dXJuKFRydWUpOw0KIH0NCiANCisv Kg0KKyAgQXBwZW5kIGEgcHJvZmlsZSBjaHVuayB0byBhIChwb3NzaWJseSkg ZXhpc3RpbmcgcHJvZmlsZS4NCisqLw0KK3N0YXRpYyBNYWdpY2tQYXNzRmFp bA0KK0FwcGVuZEltYWdlUHJvZmlsZShJbWFnZSAqaW1hZ2UsDQorCQkgICBj b25zdCBjaGFyICpuYW1lLA0KKwkJICAgY29uc3QgdW5zaWduZWQgY2hhciAq cHJvZmlsZV9jaHVuaywNCisJCSAgIGNvbnN0IHNpemVfdCBjaHVua19sZW5n dGgpDQorew0KKyAgY29uc3QgdW5zaWduZWQgY2hhcg0KKyAgICAqZXhpc3Rp bmdfcHJvZmlsZTsNCisNCisgIHNpemVfdA0KKyAgICBleGlzdGluZ19sZW5n dGg7DQorDQorICBNYWdpY2tQYXNzRmFpbA0KKyAgICBzdGF0dXM7DQorDQor ICBzdGF0dXM9TWFnaWNrRmFpbDsNCisgIGV4aXN0aW5nX2xlbmd0aD0wOw0K KyAgZXhpc3RpbmdfcHJvZmlsZT0oY29uc3QgdW5zaWduZWQgY2hhciAqKSBO VUxMOw0KKyAgaWYgKHByb2ZpbGVfY2h1bmsgIT0gKGNvbnN0IHVuc2lnbmVk IGNoYXIgKikgTlVMTCkNCisgICAgZXhpc3RpbmdfcHJvZmlsZT1HZXRJbWFn ZVByb2ZpbGUoaW1hZ2UsbmFtZSwmZXhpc3RpbmdfbGVuZ3RoKTsNCisNCisg IGlmICgocHJvZmlsZV9jaHVuayA9PSAoY29uc3QgdW5zaWduZWQgY2hhciAq KSBOVUxMKSB8fA0KKyAgICAgIChleGlzdGluZ19wcm9maWxlID09IChjb25z dCB1bnNpZ25lZCBjaGFyKSBOVUxMKSkNCisgICAgew0KKyAgICAgIHN0YXR1 cz1TZXRJbWFnZVByb2ZpbGUoaW1hZ2UsbmFtZSxwcm9maWxlX2NodW5rLGNo dW5rX2xlbmd0aCk7DQorICAgIH0NCisgIGVsc2UNCisgICAgew0KKyAgICAg IHVuc2lnbmVkIGNoYXINCisJKnByb2ZpbGU7DQorDQorICAgICAgc2l6ZV90 DQorCXByb2ZpbGVfbGVuZ3RoOw0KKw0KKyAgICAgIHByb2ZpbGVfbGVuZ3Ro PWV4aXN0aW5nX2xlbmd0aCtjaHVua19sZW5ndGg7DQorICAgICAgaWYgKChw cm9maWxlX2xlbmd0aCA8IGV4aXN0aW5nX2xlbmd0aCkgfHwgDQorCSAgKChw cm9maWxlPU1hZ2lja0FsbG9jYXRlTWVtb3J5KHVuc2lnbmVkIGNoYXIgKiwo c2l6ZV90KSBwcm9maWxlX2xlbmd0aCkpID09DQorCSAgICh1bnNpZ25lZCBj aGFyICopIE5VTEwpKQ0KKwlUaHJvd0JpbmFyeUV4Y2VwdGlvbihSZXNvdXJj ZUxpbWl0RXJyb3IsTWVtb3J5QWxsb2NhdGlvbkZhaWxlZCwNCisJCQkgICAg IChjaGFyICopIE5VTEwpOw0KKyAgICAgICh2b2lkKSBtZW1jcHkocHJvZmls ZSxleGlzdGluZ19wcm9maWxlLGV4aXN0aW5nX2xlbmd0aCk7DQorICAgICAg KHZvaWQpIG1lbWNweShwcm9maWxlK2V4aXN0aW5nX2xlbmd0aCxwcm9maWxl X2NodW5rLGNodW5rX2xlbmd0aCk7DQorICAgICAgc3RhdHVzPVNldEltYWdl UHJvZmlsZShpbWFnZSxuYW1lLHByb2ZpbGUscHJvZmlsZV9sZW5ndGgpOw0K KyAgICB9DQorDQorICByZXR1cm4gc3RhdHVzOw0KK30NCisNCiBzdGF0aWMg Ym9vbGVhbiBSZWFkR2VuZXJpY1Byb2ZpbGUoal9kZWNvbXByZXNzX3B0ciBq cGVnX2luZm8pDQogew0KICAgRXJyb3JNYW5hZ2VyDQpAQCAtMzgzLDcgKzQz NCw3IEBADQogICAvKg0KICAgICBTdG9yZSBwcm9maWxlIGluIEltYWdlLg0K ICAgKi8NCi0gIHN0YXR1cz1TZXRJbWFnZVByb2ZpbGUoaW1hZ2UscHJvZmls ZV9uYW1lLHByb2ZpbGUsbGVuZ3RoKTsNCisgIHN0YXR1cz1BcHBlbmRJbWFn ZVByb2ZpbGUoaW1hZ2UscHJvZmlsZV9uYW1lLHByb2ZpbGUsbGVuZ3RoKTsN CiAgIE1hZ2lja0ZyZWVNZW1vcnkocHJvZmlsZSk7DQogDQogICAodm9pZCkg TG9nTWFnaWNrRXZlbnQoQ29kZXJFdmVudCxHZXRNYWdpY2tNb2R1bGUoKSwi UHJvZmlsZTogJXMsICVsdSBieXRlcyIsDQpAQCAtNDQ5LDEzICs1MDAsMTQg QEANCiAgICAgVGhyb3dCaW5hcnlFeGNlcHRpb24oUmVzb3VyY2VMaW1pdEVy cm9yLE1lbW9yeUFsbG9jYXRpb25GYWlsZWQsDQogICAgICAgKGNoYXIgKikg TlVMTCk7DQogDQotICAodm9pZCkgTG9nTWFnaWNrRXZlbnQoQ29kZXJFdmVu dCxHZXRNYWdpY2tNb2R1bGUoKSwiSUNDIHByb2ZpbGU6ICVsZCBieXRlcyIs DQorICAodm9pZCkgTG9nTWFnaWNrRXZlbnQoQ29kZXJFdmVudCxHZXRNYWdp Y2tNb2R1bGUoKSwNCisJCQkiSUNDIHByb2ZpbGUgY2h1bms6ICVsZCBieXRl cyIsDQogICAgIGxlbmd0aCk7DQogDQogICBmb3IgKGk9MCA7IGkgPCBsZW5n dGg7IGkrKykNCiAgICBwcm9maWxlW2ldPUdldENoYXJhY3RlcihqcGVnX2lu Zm8pOw0KIA0KLSAgKHZvaWQpIFNldEltYWdlUHJvZmlsZShpbWFnZSwiSUNN Iixwcm9maWxlLGxlbmd0aCk7DQorICAodm9pZCkgQXBwZW5kSW1hZ2VQcm9m aWxlKGltYWdlLCJJQ00iLHByb2ZpbGUsbGVuZ3RoKTsNCiANCiAgIE1hZ2lj a0ZyZWVNZW1vcnkocHJvZmlsZSk7DQogDQpAQCAtNTU5LDcgKzYxMSw3IEBA DQogICBmb3IgKGk9MDsgaTxsZW5ndGg7IGkrKykNCiAgICAgcHJvZmlsZVtp XT1HZXRDaGFyYWN0ZXIoanBlZ19pbmZvKTsNCiANCi0gICh2b2lkKSBTZXRJ bWFnZVByb2ZpbGUoaW1hZ2UsIklQVEMiLHByb2ZpbGUsbGVuZ3RoKTsNCisg ICh2b2lkKSBBcHBlbmRJbWFnZVByb2ZpbGUoaW1hZ2UsIklQVEMiLHByb2Zp bGUsbGVuZ3RoKTsNCiANCiAgIE1hZ2lja0ZyZWVNZW1vcnkocHJvZmlsZSk7 DQogICByZXR1cm4oVHJ1ZSk7DQo= ---559023410-462394273-1253133865=:1107 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ---559023410-462394273-1253133865=:1107 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Graphicsmagick-announce mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/graphicsmagick-announce ---559023410-462394273-1253133865=:1107--