From f4feff0864cdaab53618b2e6e7b8b347ade8a2f7 Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Thu, 22 Sep 2016 18:20:43 +0000 Subject: [PATCH] #1229. Fix submitted (and appropriate update to test harness). Fix an error in jpgimage::doWriteMetadata for large (>64k) ICC profiles. --- src/jpgimage.cpp | 8 +- test/bugfixes-test.sh | 6 + test/data/bugfixes-test.out | Bin 1912576 -> 1913071 bytes test/data/exiv2-bug1229.jpg | Bin 0 -> 47323 bytes test/data/icc-test.out | 652 ++++++++++++++++++------------------ 5 files changed, 336 insertions(+), 330 deletions(-) create mode 100644 test/data/exiv2-bug1229.jpg diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp index be7de856..4c1d0ade 100644 --- a/src/jpgimage.cpp +++ b/src/jpgimage.cpp @@ -682,11 +682,11 @@ namespace Exiv2 { } else { start = 2+35+32+4+4; // Adobe Spec, p19 } - xmp[size]=0; - out << xmp + start; + out.write((const char*)(xmp+start),size-start); delete [] xmp; bufRead = size; + done = !bExtXMP; } } else if ( option == kpsIccProfile && std::strcmp(signature,iccId_) == 0 ) { // extract ICCProfile @@ -796,7 +796,7 @@ namespace Exiv2 { marker = advanceToMarker(); REPORT_MARKER; } - done = marker == eoi_ || marker == sos_; + done |= marker == eoi_ || marker == sos_; if ( done && bPrint ) out << std::endl; } } @@ -1114,7 +1114,7 @@ namespace Exiv2 { pad[0] = chunk+1; pad[1] = chunks; outIo.write((const byte *) iccId_,12); - outIo.write((const byte *) pad, 1); + outIo.write((const byte *) pad, 2); if (outIo.write(iccProfile_.pData_+ (chunk*chunk_size), bytes) != bytes) throw Error(21); if (outIo.error()) throw Error(21); diff --git a/test/bugfixes-test.sh b/test/bugfixes-test.sh index d339fbcd..b3d72e82 100755 --- a/test/bugfixes-test.sh +++ b/test/bugfixes-test.sh @@ -581,6 +581,12 @@ source ./functions.source copyTestFile $filename runTest exiv2 -pa --grep Bar $filename + num=1229 + printf "$num " >&3 + filename=exiv2-bug$num.jpg + copyTestFile $filename + runTest exiv2 -pX $filename | xmllint --format - + ) 3>&1 > $results 2>&1 printf "\n" diff --git a/test/data/bugfixes-test.out b/test/data/bugfixes-test.out index 282e1e264c45d258c2cc2d0d117fbfaf0f257af0..a277cacf08b8064a548930ec86b81857b5a5fcaa 100644 GIT binary patch delta 342 zcmZp;SMvU0Nka=`3sVbo3rh=Y3tJ0&3r7oQ3s(zw3r`Dg3ttO=i$IHDi%^Sji%5%T zi&%?zi$sfLi&Tqri_8*PeFGc&irgH9vecsD%=|oCB||*}C3`zAplCs2a&~HoLQ-ma zW}dD3``!E16*5z7)u-Q&Wt3o4pMD@wT5WpFF2?BT4Z+gd^$JBPX;z6z`K2YcN~NWl zDORawhDnC0mMOYP7O5t>W{HO8x``$x#=7PvNv4JtCYDKwiD^o9Tnb=dlag#zT$+@X znp^@CQc$n~8R?Xmju3&0~Xv(h}4ExiIpvsh6t*Jr4j3{bptW delta 66 zcmV~$SrLLz006*|Q$PWg!viuUb2^H{^a1{aZ7B9+Nq6-t$xyIQ05 R@buE@4MuMtUq90}FMk$K6^#G@ diff --git a/test/data/exiv2-bug1229.jpg b/test/data/exiv2-bug1229.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff6a7e40f9aaa273e4e2862fd22e31e82cce0700 GIT binary patch literal 47323 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 ZFPW`%fIlVWJ...a.` chunk 12/69 - 797177 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..up............. chunk 13/-84 - 862692 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......<............. chunk 14/-32 - 928207 | 0xffe2 APP2 | 65512 | ICC_PROFILE.............,...'... chunk 15/-1 - 993722 | 0xffe2 APP2 | 65512 | ICC_PROFILE......g.....m%....qw. chunk 16/-1 - 1059237 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....s....xX.M..n.... chunk 17/-1 - 1124752 | 0xffe2 APP2 | 65512 | ICC_PROFILE...........0......E.. chunk 18/-1 - 1190267 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......(.n.B......... chunk 19/-1 - 1255782 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.0.282.0.282.0.281 chunk 20/48 - 1321297 | 0xffe2 APP2 | 65512 | ICC_PROFILE..175.0.176.0.175.0.1 chunk 21/49 - 1386812 | 0xffe2 APP2 | 65512 | ICC_PROFILE..103.0.114.0.126.0.1 chunk 22/49 - 1452327 | 0xffe2 APP2 | 65512 | ICC_PROFILE..6.0.049.0.053.0.059 chunk 23/54 - 1517842 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.670.0.653.0.634. chunk 24/9 - 1583357 | 0xffe2 APP2 | 41712 | ICC_PROFILE..09.0.584.0.555.0.50 chunk 25/48 - 1625072 | 0xffed APP13 | 3030 | Photoshop 3.0.8BIM..........Z... - 1628104 | 0xffee APP14 | 14 | Adobe.d@...... - 1628120 | 0xffdb DQT | 132 - 1628254 | 0xffc0 SOF0 | 17 - 1628273 | 0xffdd DRI | 4 - 1628279 | 0xffc4 DHT | 418 - 1628699 | 0xffda SOS + 10997 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 76513 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 142029 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 207545 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 273061 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 338577 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 404093 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 469609 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 535125 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 600641 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 666157 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 731673 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 797189 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 862705 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 928221 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 993737 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1059253 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1124769 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1190285 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1255801 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1321317 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1386833 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1452349 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1517865 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1583381 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1625097 | 0xffed APP13 | 3030 | Photoshop 3.0.8BIM..........Z... + 1628129 | 0xffee APP14 | 14 | Adobe.d@...... + 1628145 | 0xffdb DQT | 132 + 1628279 | 0xffc0 SOF0 | 17 + 1628298 | 0xffdd DRI | 4 + 1628304 | 0xffc4 DHT | 418 + 1628724 | 0xffda SOS STRUCTURE OF JPEG FILE: Reagan.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe1 APP1 | 5704 | Exif..MM.*...................... 5708 | 0xffe1 APP1 | 5287 | http://ns.adobe.com/xap/1.0/.J...a.`1 chunk 12/-81 - 797177 | 0xffe2 APP2 | 65512 | ICC_PROFILE..X..up.............. chunk 13/88 - 862692 | 0xffe2 APP2 | 65512 | ICC_PROFILE......<.............. chunk 14/-76 - 928207 | 0xffe2 APP2 | 65512 | ICC_PROFILE............,...'.... chunk 15/-1 - 993722 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....g.....m%....qw.. chunk 16/-1 - 1059237 | 0xffe2 APP2 | 65512 | ICC_PROFILE....s....xX.M..n..... chunk 17/-1 - 1124752 | 0xffe2 APP2 | 65512 | ICC_PROFILE..........0......E... chunk 18/-1 - 1190267 | 0xffe2 APP2 | 65512 | ICC_PROFILE......(.n.B.........J chunk 19/-1 - 1255782 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.282.0.282.0.281. chunk 20/9 - 1321297 | 0xffe2 APP2 | 65512 | ICC_PROFILE..75.0.176.0.175.0.17 chunk 21/55 - 1386812 | 0xffe2 APP2 | 65512 | ICC_PROFILE..03.0.114.0.126.0.13 chunk 22/48 - 1452327 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.049.0.053.0.059. chunk 23/9 - 1517842 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.670.0.653.0.634.0 chunk 24/48 - 1583357 | 0xffe2 APP2 | 41712 | ICC_PROFILE..9.0.584.0.555.0.509 chunk 25/57 - 1625072 | 0xffed APP13 | 3030 | Photoshop 3.0.8BIM..........Z... - 1628104 | 0xffee APP14 | 14 | Adobe.d@...... - 1628120 | 0xffdb DQT | 132 - 1628254 | 0xfffe COM | 10 | abcdefg - 1628266 | 0xffc0 SOF0 | 17 - 1628285 | 0xffdd DRI | 4 - 1628291 | 0xffc4 DHT | 418 - 1628711 | 0xffda SOS + 10997 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 76513 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 142029 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 207545 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 273061 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 338577 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 404093 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 469609 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 535125 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 600641 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 666157 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 731673 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 797189 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 862705 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 928221 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 993737 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1059253 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1124769 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1190285 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1255801 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1321317 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1386833 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1452349 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1517865 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1583381 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1625097 | 0xffed APP13 | 3030 | Photoshop 3.0.8BIM..........Z... + 1628129 | 0xffee APP14 | 14 | Adobe.d@...... + 1628145 | 0xffdb DQT | 132 + 1628279 | 0xfffe COM | 10 | abcdefg + 1628291 | 0xffc0 SOF0 | 17 + 1628310 | 0xffdd DRI | 4 + 1628316 | 0xffc4 DHT | 418 + 1628736 | 0xffda SOS abcdefg STRUCTURE OF JPEG FILE: Reagan.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe1 APP1 | 5704 | Exif..MM.*...................... 5708 | 0xffe1 APP1 | 5287 | http://ns.adobe.com/xap/1.0/.J...a.`1 chunk 12/59 - 797177 | 0xffe2 APP2 | 65512 | ICC_PROFILE....up............... chunk 13/-1 - 862692 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....<............... chunk 14/-1 - 928207 | 0xffe2 APP2 | 65512 | ICC_PROFILE...........,...'..... chunk 15/-96 - 993722 | 0xffe2 APP2 | 65512 | ICC_PROFILE....g.....m%....qw.. chunk 16/0 - 1059237 | 0xffe2 APP2 | 65512 | ICC_PROFILE...s....xX.M..n.....g chunk 17/-126 - 1124752 | 0xffe2 APP2 | 65512 | ICC_PROFILE.........0......E.... chunk 18/22 - 1190267 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....(.n.B.........J} chunk 19/-1 - 1255782 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.282.0.282.0.281.0 chunk 20/48 - 1321297 | 0xffe2 APP2 | 65512 | ICC_PROFILE..5.0.176.0.175.0.174 chunk 21/53 - 1386812 | 0xffe2 APP2 | 65512 | ICC_PROFILE..3.0.114.0.126.0.136 chunk 22/51 - 1452327 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.049.0.053.0.059.0 chunk 23/48 - 1517842 | 0xffe2 APP2 | 65512 | ICC_PROFILE...670.0.653.0.634.0. chunk 24/46 - 1583357 | 0xffe2 APP2 | 41712 | ICC_PROFILE...0.584.0.555.0.509. chunk 25/9 - 1625072 | 0xffed APP13 | 3030 | Photoshop 3.0.8BIM..........Z... - 1628104 | 0xffee APP14 | 14 | Adobe.d@...... - 1628120 | 0xffdb DQT | 132 - 1628254 | 0xffc0 SOF0 | 17 - 1628273 | 0xffdd DRI | 4 - 1628279 | 0xffc4 DHT | 418 - 1628699 | 0xffda SOS + 10997 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 76513 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 142029 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 207545 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 273061 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 338577 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 404093 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 469609 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 535125 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 600641 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 666157 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 731673 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 797189 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 862705 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 928221 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 993737 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1059253 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1124769 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1190285 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1255801 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1321317 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1386833 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1452349 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1517865 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1583381 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1625097 | 0xffed APP13 | 3030 | Photoshop 3.0.8BIM..........Z... + 1628129 | 0xffee APP14 | 14 | Adobe.d@...... + 1628145 | 0xffdb DQT | 132 + 1628279 | 0xffc0 SOF0 | 17 + 1628298 | 0xffdd DRI | 4 + 1628304 | 0xffc4 DHT | 418 + 1628724 | 0xffda SOS STRUCTURE OF JPEG FILE: Reagan.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe1 APP1 | 5704 | Exif..MM.*...................... 5708 | 0xffe1 APP1 | 5287 | http://ns.adobe.com/xap/1.0/.J...a.` chunk 12/69 - 790275 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..up............. chunk 13/-84 - 855790 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......<............. chunk 14/-32 - 921305 | 0xffe2 APP2 | 65512 | ICC_PROFILE.............,...'... chunk 15/-1 - 986820 | 0xffe2 APP2 | 65512 | ICC_PROFILE......g.....m%....qw. chunk 16/-1 - 1052335 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....s....xX.M..n.... chunk 17/-1 - 1117850 | 0xffe2 APP2 | 65512 | ICC_PROFILE...........0......E.. chunk 18/-1 - 1183365 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......(.n.B......... chunk 19/-1 - 1248880 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.0.282.0.282.0.281 chunk 20/48 - 1314395 | 0xffe2 APP2 | 65512 | ICC_PROFILE..175.0.176.0.175.0.1 chunk 21/49 - 1379910 | 0xffe2 APP2 | 65512 | ICC_PROFILE..103.0.114.0.126.0.1 chunk 22/49 - 1445425 | 0xffe2 APP2 | 65512 | ICC_PROFILE..6.0.049.0.053.0.059 chunk 23/54 - 1510940 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.670.0.653.0.634. chunk 24/9 - 1576455 | 0xffe2 APP2 | 41712 | ICC_PROFILE..09.0.584.0.555.0.50 chunk 25/48 - 1618170 | 0xffdb DQT | 67 - 1618239 | 0xffdb DQT | 67 - 1618308 | 0xfffe COM | 10 | abcdefg - 1618320 | 0xffc2 SOF2 | 17 - 1618339 | 0xffc4 DHT | 30 - 1618371 | 0xffc4 DHT | 27 - 1618400 | 0xffda SOS + 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 69611 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 135127 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 200643 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 266159 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 331675 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 397191 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 462707 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 528223 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 593739 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 659255 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 724771 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 790287 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 855803 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 921319 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 986835 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1052351 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1117867 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1183383 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1248899 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1314415 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1379931 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1445447 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1510963 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1576479 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1618195 | 0xffdb DQT | 67 + 1618264 | 0xffdb DQT | 67 + 1618333 | 0xfffe COM | 10 | abcdefg + 1618345 | 0xffc2 SOF2 | 17 + 1618364 | 0xffc4 DHT | 30 + 1618396 | 0xffc4 DHT | 27 + 1618425 | 0xffda SOS abcdefg STRUCTURE OF JPEG FILE: ReaganLargeJpg.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe0 APP0 | 16 | JFIF.....,.,.... 20 | 0xffe1 APP1 | 4073 | Exif..MM.*...................... - 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE.... APPL....prtrRGB chunk 1/24 - 69610 | 0xffe2 APP2 | 65512 | ICC_PROFILE....Ih.V...j.U..4mVT< chunk 2/-79 - 135125 | 0xffe2 APP2 | 65512 | ICC_PROFILE...f...~mcx....`..... chunk 3/27 - 200640 | 0xffe2 APP2 | 65512 | ICC_PROFILE..|...S...^...v...... chunk 4/124 - 266155 | 0xffe2 APP2 | 65512 | ICC_PROFILE...bXf2..`Og...^0g..I chunk 5/-98 - 331670 | 0xffe2 APP2 | 65512 | ICC_PROFILE...~.|...{.}P..y.}..V chunk 6/-116 - 397185 | 0xffe2 APP2 | 65512 | ICC_PROFILE....b.....:...?.....E chunk 7/-44 - 462700 | 0xffe2 APP2 | 65512 | ICC_PROFILE..8yq].R.wW].S.uJ]eT6 chunk 8/56 - 528215 | 0xffe2 APP2 | 65512 | ICC_PROFILE...T'..RA.Y..P,....N% chunk 9/-105 - 593730 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}/..key...l.v..cn- chunk 10/-120 - 659245 | 0xffe2 APP2 | 65512 | ICC_PROFILE......O{.....|..c..|S chunk 11/-18 - 724760 | 0xffe2 APP2 | 65512 | ICC_PROFILE...;.O-F.-.R>J...a.`1 chunk 12/-81 - 790275 | 0xffe2 APP2 | 65512 | ICC_PROFILE..X..up.............. chunk 13/88 - 855790 | 0xffe2 APP2 | 65512 | ICC_PROFILE......<.............. chunk 14/-76 - 921305 | 0xffe2 APP2 | 65512 | ICC_PROFILE............,...'.... chunk 15/-1 - 986820 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....g.....m%....qw.. chunk 16/-1 - 1052335 | 0xffe2 APP2 | 65512 | ICC_PROFILE....s....xX.M..n..... chunk 17/-1 - 1117850 | 0xffe2 APP2 | 65512 | ICC_PROFILE..........0......E... chunk 18/-1 - 1183365 | 0xffe2 APP2 | 65512 | ICC_PROFILE......(.n.B.........J chunk 19/-1 - 1248880 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.282.0.282.0.281. chunk 20/9 - 1314395 | 0xffe2 APP2 | 65512 | ICC_PROFILE..75.0.176.0.175.0.17 chunk 21/55 - 1379910 | 0xffe2 APP2 | 65512 | ICC_PROFILE..03.0.114.0.126.0.13 chunk 22/48 - 1445425 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.049.0.053.0.059. chunk 23/9 - 1510940 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.670.0.653.0.634.0 chunk 24/48 - 1576455 | 0xffe2 APP2 | 41712 | ICC_PROFILE..9.0.584.0.555.0.509 chunk 25/57 - 1618170 | 0xffdb DQT | 67 - 1618239 | 0xffdb DQT | 67 - 1618308 | 0xffc2 SOF2 | 17 - 1618327 | 0xffc4 DHT | 30 - 1618359 | 0xffc4 DHT | 27 - 1618388 | 0xffda SOS + 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 69611 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 135127 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 200643 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 266159 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 331675 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 397191 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 462707 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 528223 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 593739 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 659255 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 724771 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 790287 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 855803 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 921319 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 986835 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1052351 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1117867 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1183383 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1248899 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1314415 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1379931 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1445447 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1510963 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1576479 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1618195 | 0xffdb DQT | 67 + 1618264 | 0xffdb DQT | 67 + 1618333 | 0xffc2 SOF2 | 17 + 1618352 | 0xffc4 DHT | 30 + 1618384 | 0xffc4 DHT | 27 + 1618413 | 0xffda SOS STRUCTURE OF JPEG FILE: ReaganLargeJpg.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe0 APP0 | 16 | JFIF.....,.,.... 20 | 0xffe1 APP1 | 4073 | Exif..MM.*...................... - 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE..... APPL....prtrRGB chunk 1/0 - 69610 | 0xffe2 APP2 | 65512 | ICC_PROFILE..X..Ih.V...j.U..4mVT chunk 2/88 - 135125 | 0xffe2 APP2 | 65512 | ICC_PROFILE..}.f...~mcx....`.... chunk 3/125 - 200640 | 0xffe2 APP2 | 65512 | ICC_PROFILE...|...S...^...v..... chunk 4/-119 - 266155 | 0xffe2 APP2 | 65512 | ICC_PROFILE....bXf2..`Og...^0g.. chunk 5/-117 - 331670 | 0xffe2 APP2 | 65512 | ICC_PROFILE....~.|...{.}P..y.}.. chunk 6/-119 - 397185 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....b.....:...?..... chunk 7/-96 - 462700 | 0xffe2 APP2 | 65512 | ICC_PROFILE..Q8yq].R.wW].S.uJ]eT chunk 8/81 - 528215 | 0xffe2 APP2 | 65512 | ICC_PROFILE..i.T'..RA.Y..P,....N chunk 9/105 - 593730 | 0xffe2 APP2 | 65512 | ICC_PROFILE..i.}/..key...l.v..cn chunk 10/105 - 659245 | 0xffe2 APP2 | 65512 | ICC_PROFILE..{....O{.....|..c..| chunk 11/123 - 724760 | 0xffe2 APP2 | 65512 | ICC_PROFILE..E.;.O-F.-.R>J...a.` chunk 12/69 - 790275 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..up............. chunk 13/-84 - 855790 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......<............. chunk 14/-32 - 921305 | 0xffe2 APP2 | 65512 | ICC_PROFILE.............,...'... chunk 15/-1 - 986820 | 0xffe2 APP2 | 65512 | ICC_PROFILE......g.....m%....qw. chunk 16/-1 - 1052335 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....s....xX.M..n.... chunk 17/-1 - 1117850 | 0xffe2 APP2 | 65512 | ICC_PROFILE...........0......E.. chunk 18/-1 - 1183365 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......(.n.B......... chunk 19/-1 - 1248880 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.0.282.0.282.0.281 chunk 20/48 - 1314395 | 0xffe2 APP2 | 65512 | ICC_PROFILE..175.0.176.0.175.0.1 chunk 21/49 - 1379910 | 0xffe2 APP2 | 65512 | ICC_PROFILE..103.0.114.0.126.0.1 chunk 22/49 - 1445425 | 0xffe2 APP2 | 65512 | ICC_PROFILE..6.0.049.0.053.0.059 chunk 23/54 - 1510940 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.670.0.653.0.634. chunk 24/9 - 1576455 | 0xffe2 APP2 | 41712 | ICC_PROFILE..09.0.584.0.555.0.50 chunk 25/48 - 1618170 | 0xffdb DQT | 67 - 1618239 | 0xffdb DQT | 67 - 1618308 | 0xffc2 SOF2 | 17 - 1618327 | 0xffc4 DHT | 30 - 1618359 | 0xffc4 DHT | 27 - 1618388 | 0xffda SOS + 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 69611 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 135127 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 200643 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 266159 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 331675 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 397191 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 462707 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 528223 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 593739 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 659255 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 724771 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 790287 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 855803 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 921319 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 986835 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1052351 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1117867 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1183383 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1248899 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1314415 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1379931 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1445447 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1510963 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1576479 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1618195 | 0xffdb DQT | 67 + 1618264 | 0xffdb DQT | 67 + 1618333 | 0xffc2 SOF2 | 17 + 1618352 | 0xffc4 DHT | 30 + 1618384 | 0xffc4 DHT | 27 + 1618413 | 0xffda SOS STRUCTURE OF JPEG FILE: ReaganLargeJpg.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe0 APP0 | 16 | JFIF.....,.,.... 20 | 0xffe1 APP1 | 4073 | Exif..MM.*...................... - 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE.... APPL....prtrRGB chunk 1/24 - 69610 | 0xffe2 APP2 | 65512 | ICC_PROFILE....Ih.V...j.U..4mVT< chunk 2/-79 - 135125 | 0xffe2 APP2 | 65512 | ICC_PROFILE...f...~mcx....`..... chunk 3/27 - 200640 | 0xffe2 APP2 | 65512 | ICC_PROFILE..|...S...^...v...... chunk 4/124 - 266155 | 0xffe2 APP2 | 65512 | ICC_PROFILE...bXf2..`Og...^0g..I chunk 5/-98 - 331670 | 0xffe2 APP2 | 65512 | ICC_PROFILE...~.|...{.}P..y.}..V chunk 6/-116 - 397185 | 0xffe2 APP2 | 65512 | ICC_PROFILE....b.....:...?.....E chunk 7/-44 - 462700 | 0xffe2 APP2 | 65512 | ICC_PROFILE..8yq].R.wW].S.uJ]eT6 chunk 8/56 - 528215 | 0xffe2 APP2 | 65512 | ICC_PROFILE...T'..RA.Y..P,....N% chunk 9/-105 - 593730 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}/..key...l.v..cn- chunk 10/-120 - 659245 | 0xffe2 APP2 | 65512 | ICC_PROFILE......O{.....|..c..|S chunk 11/-18 - 724760 | 0xffe2 APP2 | 65512 | ICC_PROFILE...;.O-F.-.R>J...a.`1 chunk 12/-81 - 790275 | 0xffe2 APP2 | 65512 | ICC_PROFILE..X..up.............. chunk 13/88 - 855790 | 0xffe2 APP2 | 65512 | ICC_PROFILE......<.............. chunk 14/-76 - 921305 | 0xffe2 APP2 | 65512 | ICC_PROFILE............,...'.... chunk 15/-1 - 986820 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....g.....m%....qw.. chunk 16/-1 - 1052335 | 0xffe2 APP2 | 65512 | ICC_PROFILE....s....xX.M..n..... chunk 17/-1 - 1117850 | 0xffe2 APP2 | 65512 | ICC_PROFILE..........0......E... chunk 18/-1 - 1183365 | 0xffe2 APP2 | 65512 | ICC_PROFILE......(.n.B.........J chunk 19/-1 - 1248880 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.282.0.282.0.281. chunk 20/9 - 1314395 | 0xffe2 APP2 | 65512 | ICC_PROFILE..75.0.176.0.175.0.17 chunk 21/55 - 1379910 | 0xffe2 APP2 | 65512 | ICC_PROFILE..03.0.114.0.126.0.13 chunk 22/48 - 1445425 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.049.0.053.0.059. chunk 23/9 - 1510940 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.670.0.653.0.634.0 chunk 24/48 - 1576455 | 0xffe2 APP2 | 41712 | ICC_PROFILE..9.0.584.0.555.0.509 chunk 25/57 - 1618170 | 0xffdb DQT | 67 - 1618239 | 0xffdb DQT | 67 - 1618308 | 0xfffe COM | 10 | abcdefg - 1618320 | 0xffc2 SOF2 | 17 - 1618339 | 0xffc4 DHT | 30 - 1618371 | 0xffc4 DHT | 27 - 1618400 | 0xffda SOS + 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 69611 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 135127 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 200643 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 266159 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 331675 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 397191 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 462707 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 528223 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 593739 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 659255 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 724771 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 790287 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 855803 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 921319 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 986835 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1052351 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1117867 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1183383 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1248899 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1314415 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1379931 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1445447 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1510963 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1576479 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1618195 | 0xffdb DQT | 67 + 1618264 | 0xffdb DQT | 67 + 1618333 | 0xfffe COM | 10 | abcdefg + 1618345 | 0xffc2 SOF2 | 17 + 1618364 | 0xffc4 DHT | 30 + 1618396 | 0xffc4 DHT | 27 + 1618425 | 0xffda SOS abcdefg STRUCTURE OF JPEG FILE: ReaganLargeJpg.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe0 APP0 | 16 | JFIF.....,.,.... 20 | 0xffe1 APP1 | 4073 | Exif..MM.*...................... - 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE... APPL....prtrRGB L chunk 1/-97 - 69610 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Ih.V...j.U..4mVT<. chunk 2/-99 - 135125 | 0xffe2 APP2 | 65512 | ICC_PROFILE..f...~mcx....`.....] chunk 3/102 - 200640 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....S...^...v....... chunk 4/-99 - 266155 | 0xffe2 APP2 | 65512 | ICC_PROFILE..bXf2..`Og...^0g..I\ chunk 5/98 - 331670 | 0xffe2 APP2 | 65512 | ICC_PROFILE..~.|...{.}P..y.}..Vv chunk 6/126 - 397185 | 0xffe2 APP2 | 65512 | ICC_PROFILE...b.....:...?.....E. chunk 7/-94 - 462700 | 0xffe2 APP2 | 65512 | ICC_PROFILE..yq].R.wW].S.uJ]eT6s chunk 8/121 - 528215 | 0xffe2 APP2 | 65512 | ICC_PROFILE..T'..RA.Y..P,....N%. chunk 9/84 - 593730 | 0xffe2 APP2 | 65512 | ICC_PROFILE..}/..key...l.v..cn-r chunk 10/125 - 659245 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....O{.....|..c..|S. chunk 11/-67 - 724760 | 0xffe2 APP2 | 65512 | ICC_PROFILE..;.O-F.-.R>J...a.`1 chunk 12/59 - 790275 | 0xffe2 APP2 | 65512 | ICC_PROFILE....up............... chunk 13/-1 - 855790 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....<............... chunk 14/-1 - 921305 | 0xffe2 APP2 | 65512 | ICC_PROFILE...........,...'..... chunk 15/-96 - 986820 | 0xffe2 APP2 | 65512 | ICC_PROFILE....g.....m%....qw.. chunk 16/0 - 1052335 | 0xffe2 APP2 | 65512 | ICC_PROFILE...s....xX.M..n.....g chunk 17/-126 - 1117850 | 0xffe2 APP2 | 65512 | ICC_PROFILE.........0......E.... chunk 18/22 - 1183365 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....(.n.B.........J} chunk 19/-1 - 1248880 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.282.0.282.0.281.0 chunk 20/48 - 1314395 | 0xffe2 APP2 | 65512 | ICC_PROFILE..5.0.176.0.175.0.174 chunk 21/53 - 1379910 | 0xffe2 APP2 | 65512 | ICC_PROFILE..3.0.114.0.126.0.136 chunk 22/51 - 1445425 | 0xffe2 APP2 | 65512 | ICC_PROFILE..0.049.0.053.0.059.0 chunk 23/48 - 1510940 | 0xffe2 APP2 | 65512 | ICC_PROFILE...670.0.653.0.634.0. chunk 24/46 - 1576455 | 0xffe2 APP2 | 41712 | ICC_PROFILE...0.584.0.555.0.509. chunk 25/9 - 1618170 | 0xffdb DQT | 67 - 1618239 | 0xffdb DQT | 67 - 1618308 | 0xffc2 SOF2 | 17 - 1618327 | 0xffc4 DHT | 30 - 1618359 | 0xffc4 DHT | 27 - 1618388 | 0xffda SOS + 4095 | 0xffe2 APP2 | 65512 | ICC_PROFILE...... APPL....prtrRG chunk 1/25 + 69611 | 0xffe2 APP2 | 65512 | ICC_PROFILE...X..Ih.V...j.U..4mV chunk 2/25 + 135127 | 0xffe2 APP2 | 65512 | ICC_PROFILE...}.f...~mcx....`... chunk 3/25 + 200643 | 0xffe2 APP2 | 65512 | ICC_PROFILE....|...S...^...v.... chunk 4/25 + 266159 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....bXf2..`Og...^0g. chunk 5/25 + 331675 | 0xffe2 APP2 | 65512 | ICC_PROFILE.....~.|...{.}P..y.}. chunk 6/25 + 397191 | 0xffe2 APP2 | 65512 | ICC_PROFILE......b.....:...?.... chunk 7/25 + 462707 | 0xffe2 APP2 | 65512 | ICC_PROFILE...Q8yq].R.wW].S.uJ]e chunk 8/25 + 528223 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.T'..RA.Y..P,.... chunk 9/25 + 593739 | 0xffe2 APP2 | 65512 | ICC_PROFILE...i.}/..key...l.v..c chunk 10/25 + 659255 | 0xffe2 APP2 | 65512 | ICC_PROFILE...{....O{.....|..c.. chunk 11/25 + 724771 | 0xffe2 APP2 | 65512 | ICC_PROFILE...E.;.O-F.-.R>J...a. chunk 12/25 + 790287 | 0xffe2 APP2 | 65512 | ICC_PROFILE....X..up............ chunk 13/25 + 855803 | 0xffe2 APP2 | 65512 | ICC_PROFILE........<............ chunk 14/25 + 921319 | 0xffe2 APP2 | 65512 | ICC_PROFILE..............,...'.. chunk 15/25 + 986835 | 0xffe2 APP2 | 65512 | ICC_PROFILE.......g.....m%....qw chunk 16/25 + 1052351 | 0xffe2 APP2 | 65512 | ICC_PROFILE......s....xX.M..n... chunk 17/25 + 1117867 | 0xffe2 APP2 | 65512 | ICC_PROFILE............0......E. chunk 18/25 + 1183383 | 0xffe2 APP2 | 65512 | ICC_PROFILE........(.n.B........ chunk 19/25 + 1248899 | 0xffe2 APP2 | 65512 | ICC_PROFILE...0.0.282.0.282.0.28 chunk 20/25 + 1314415 | 0xffe2 APP2 | 65512 | ICC_PROFILE...175.0.176.0.175.0. chunk 21/25 + 1379931 | 0xffe2 APP2 | 65512 | ICC_PROFILE...103.0.114.0.126.0. chunk 22/25 + 1445447 | 0xffe2 APP2 | 65512 | ICC_PROFILE...6.0.049.0.053.0.05 chunk 23/25 + 1510963 | 0xffe2 APP2 | 65512 | ICC_PROFILE....0.670.0.653.0.634 chunk 24/25 + 1576479 | 0xffe2 APP2 | 41712 | ICC_PROFILE...09.0.584.0.555.0.5 chunk 25/25 + 1618195 | 0xffdb DQT | 67 + 1618264 | 0xffdb DQT | 67 + 1618333 | 0xffc2 SOF2 | 17 + 1618352 | 0xffc4 DHT | 30 + 1618384 | 0xffc4 DHT | 27 + 1618413 | 0xffda SOS STRUCTURE OF JPEG FILE: ReaganLargeJpg.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe0 APP0 | 16 | JFIF.....,.,.... 20 | 0xffe1 APP1 | 4073 | Exif..MM.*...................... - 4095 | 0xffe2 APP2 | 576 | ICC_PROFILE.....0ADBE....mntrRGB chunk 1/0 - 4674 | 0xffdb DQT | 67 - 4743 | 0xffdb DQT | 67 - 4812 | 0xffc2 SOF2 | 17 - 4831 | 0xffc4 DHT | 30 - 4863 | 0xffc4 DHT | 27 - 4892 | 0xffda SOS + 4095 | 0xffe2 APP2 | 576 | ICC_PROFILE......0ADBE....mntrRG chunk 1/1 + 4675 | 0xffdb DQT | 67 + 4744 | 0xffdb DQT | 67 + 4813 | 0xffc2 SOF2 | 17 + 4832 | 0xffc4 DHT | 30 + 4864 | 0xffc4 DHT | 27 + 4893 | 0xffda SOS STRUCTURE OF JPEG FILE: ReaganLargeJpg.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe0 APP0 | 16 | JFIF.....,.,.... 20 | 0xffe1 APP1 | 4073 | Exif..MM.*...................... - 4095 | 0xffe2 APP2 | 576 | ICC_PROFILE....0ADBE....mntrRGB chunk 1/0 - 4674 | 0xffdb DQT | 67 - 4743 | 0xffdb DQT | 67 - 4812 | 0xfffe COM | 10 | abcdefg - 4824 | 0xffc2 SOF2 | 17 - 4843 | 0xffc4 DHT | 30 - 4875 | 0xffc4 DHT | 27 - 4904 | 0xffda SOS + 4095 | 0xffe2 APP2 | 576 | ICC_PROFILE......0ADBE....mntrRG chunk 1/1 + 4675 | 0xffdb DQT | 67 + 4744 | 0xffdb DQT | 67 + 4813 | 0xfffe COM | 10 | abcdefg + 4825 | 0xffc2 SOF2 | 17 + 4844 | 0xffc4 DHT | 30 + 4876 | 0xffc4 DHT | 27 + 4905 | 0xffda SOS abcdefg STRUCTURE OF JPEG FILE: ReaganLargeJpg.jpg address | marker | length | data 0 | 0xffd8 SOI 2 | 0xffe0 APP0 | 16 | JFIF.....,.,.... 20 | 0xffe1 APP1 | 4073 | Exif..MM.*...................... - 4095 | 0xffe2 APP2 | 576 | ICC_PROFILE...0ADBE....mntrRGB X chunk 1/2 - 4674 | 0xffdb DQT | 67 - 4743 | 0xffdb DQT | 67 - 4812 | 0xffc2 SOF2 | 17 - 4831 | 0xffc4 DHT | 30 - 4863 | 0xffc4 DHT | 27 - 4892 | 0xffda SOS + 4095 | 0xffe2 APP2 | 576 | ICC_PROFILE......0ADBE....mntrRG chunk 1/1 + 4675 | 0xffdb DQT | 67 + 4744 | 0xffdb DQT | 67 + 4813 | 0xffc2 SOF2 | 17 + 4832 | 0xffc4 DHT | 30 + 4864 | 0xffc4 DHT | 27 + 4893 | 0xffda SOS +45ed3c125cc6041b37b44ee4cb881cd8 +45ed3c125cc6041b37b44ee4cb881cd8 +50b9125494306a6fc1b7c4f2a1a8d49d +50b9125494306a6fc1b7c4f2a1a8d49d 45ed3c125cc6041b37b44ee4cb881cd8 45ed3c125cc6041b37b44ee4cb881cd8 -a78f7a71f1ea79f2f6708be6394e1305 -a78f7a71f1ea79f2f6708be6394e1305 -d890d988d312ae8d497d21e936628ecc -d890d988d312ae8d497d21e936628ecc