According to jpegdump, resulting images differ in Huffman tables.
Code: Select all
$ jpegdump -v -v test1.x86_64.jpg > test1.x86_64.jpg.dump
$ jpegdump -v -v test1.s390x.jpg > test1.s390x.jpg.dump
$ diff -a -upr test1.{x86_64,s390x}.jpg.dump
--- test1.x86_64.jpg.dump 2015-01-20 16:11:43.055645497 +0100
+++ test1.s390x.jpg.dump 2015-01-20 16:11:31.048497603 +0100
@@ -1,5 +1,5 @@
-test1.x86_64.jpg:
+test1.s390x.jpg:
offset $0 SOI
offset $2 APP0 (length 16)
JFIF version 0101, 300 x 300 dpi
@@ -365,13 +365,13 @@ offset $5b75 SOF0 (baseline DCT Huffman)
offset $5b88 DHT (length 30)
table 0
bits 1 (codes= 0)
- bits 2 (codes= 1) $05
- bits 3 (codes= 5) $00 $02 $03 $04 $06
- bits 4 (codes= 1) $01
- bits 5 (codes= 1) $07
- bits 6 (codes= 1) $08
- bits 7 (codes= 1) $09
- bits 8 (codes= 1) $0a
+ bits 2 (codes= 0)
+ bits 3 (codes= 7) $00 $01 $02 $03 $04 $05 $06
+ bits 4 (codes= 1) $07
+ bits 5 (codes= 1) $08
+ bits 6 (codes= 1) $09
+ bits 7 (codes= 1) $0a
+ bits 8 (codes= 0)
bits 9 (codes= 0)
bits 10 (codes= 0)
bits 11 (codes= 0)
@@ -393,17 +393,17 @@ offset $5ba8 DHT (length 87)
bits 9 (codes= 5) $08 $15 $23 $52 $71
bits 10 (codes= 4) $33 $62 $81 $91
bits 11 (codes= 8) $16 $24 $72 $82 $a1 $b1 $c1 $f0
- bits 12 (codes= 4) $09 $43 $92 $d1
- bits 13 (codes= 4) $a2 $b2 $e1 $f1
- bits 14 (codes= 2) $17 $25
+ bits 12 (codes= 3) $43 $92 $d1
+ bits 13 (codes= 7) $09 $17 $25 $a2 $b2 $e1 $f1
+ bits 14 (codes= 0)
bits 15 (codes= 2) $34 $53
- bits 16 (codes= 19) $c2 $d2 $e2 $f2 $18 $26 $44 $63 $0a $35 $73 $27 $54 $83 $45 $55 $65 $84 $93
+ bits 16 (codes= 19) $c2 $d2 $e2 $f2 $18 $26 $44 $63 $0a $35 $73 $27 $45 $83 $54 $55 $65 $84 $93
offset $5c01 DHT (length 28)
table 1
bits 1 (codes= 0)
bits 2 (codes= 3) $00 $02 $03
- bits 3 (codes= 1) $04
- bits 4 (codes= 1) $01
+ bits 3 (codes= 1) $01
+ bits 4 (codes= 1) $04
bits 5 (codes= 1) $05
bits 6 (codes= 1) $06
bits 7 (codes= 1) $07
@@ -427,17 +427,17 @@ offset $5c1f DHT (length 69)
bits 7 (codes= 3) $05 $41 $42
bits 8 (codes= 5) $14 $51 $52 $61 $71
bits 9 (codes= 6) $23 $81 $91 $a1 $b1 $f0
- bits 10 (codes= 5) $06 $62 $c1 $d1 $e1
- bits 11 (codes= 4) $15 $33 $72 $f1
- bits 12 (codes= 2) $24 $82
- bits 13 (codes= 1) $43
- bits 14 (codes= 3) $16 $34 $92
- bits 15 (codes= 2) $07 $53
- bits 16 (codes= 7) $a2 $c2 $b2 $d2 $25 $35 $73
+ bits 10 (codes= 6) $06 $33 $62 $c1 $d1 $e1
+ bits 11 (codes= 3) $15 $72 $f1
+ bits 12 (codes= 0)
+ bits 13 (codes= 2) $24 $82
+ bits 14 (codes= 0)
+ bits 15 (codes= 2) $43 $16
+ bits 16 (codes= 11) $92 $07 $34 $35 $53 $a2 $c2 $25 $b2 $d2 $73
offset $5c66 SOS (length 12)
components 3
id 1 dc table 0, ac table 0
id 2 dc table 1, ac table 1
id 3 dc table 1, ac table 1
spectral selection 0 to 63, bit position high 0, low 0
-offset $aeb8f EOI
+offset $aeb05 EOI
When -define jpeg:optimize-coding=false parameter to convert is used, then Huffman tables do not differ.
Code: Select all
--- test1.x86_64.jpg.dump 2015-01-20 16:26:52.177027461 +0100
+++ test1.s390x.jpg.dump 2015-01-20 16:26:53.842053605 +0100
@@ -1,5 +1,5 @@
-test1.x86_64.jpg:
+test1.s390x.jpg:
offset $0 SOI
offset $2 APP0 (length 16)
JFIF version 0101, 300 x 300 dpi
@@ -440,4 +440,4 @@ offset $5d38 SOS (length 12)
id 2 dc table 1, ac table 1
id 3 dc table 1, ac table 1
spectral selection 0 to 63, bit position high 0, low 0
-offset $b4b31 EOI
+offset $b48e0 EOI
Nevertheless even then file size of resulting image differs as can be also seen from EOI offsets difference, if I understand correctly.