summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2015-08-23 12:17:05 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2015-08-23 12:17:05 +0200
commitc0b89ac5bfb90835ef01573267020e42d4fe070c (patch)
tree733c16852d964d84b7565af4bdaff0bcca901b88
parent094535c010320967639e8e86f974d878e80baa72 (diff)
Imported Upstream version 1.8.0upstream/1.8.0
-rwxr-xr-x[-rw-r--r--]Jambase10
-rwxr-xr-x[-rw-r--r--]Jamfile2
-rwxr-xr-x[-rw-r--r--]Jamtop27
-rwxr-xr-x[-rw-r--r--]License.txt0
-rwxr-xr-x[-rw-r--r--]License2.txt0
-rwxr-xr-x[-rw-r--r--]License3.txt0
-rwxr-xr-x[-rw-r--r--]Makefile0
-rwxr-xr-x[-rw-r--r--]Readme.txt0
-rwxr-xr-x[-rw-r--r--]adirs0
-rwxr-xr-x[-rw-r--r--]afiles1
-rwxr-xr-x[-rw-r--r--]binfiles0
-rwxr-xr-x[-rw-r--r--]blddirs0
-rwxr-xr-x[-rw-r--r--]ccast/Jamfile18
-rwxr-xr-x[-rw-r--r--]ccast/License.txt0
-rw-r--r--ccast/afiles4
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/Jamfile2
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/aes.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/asn1.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/axTLS_config.h (renamed from ccast/axTLS/config.h)0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/axTLS_version.h (renamed from ccast/axTLS/version.h)0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/bigint.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/bigint.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/bigint_impl.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/cert.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/crypto.h2
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/crypto_misc.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/crypto_misc.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/gen_cert.c2
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/hmac.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/loader.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/md2.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/md5.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/openssl.c2
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/os_int.h3
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/os_port.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/os_port.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/p12.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/private_key.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/rc4.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/rsa.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/sha1.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/ssl.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/temp0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/tls1.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/tls1.h4
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/tls1_clnt.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/tls1_svr.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/x509.c0
-rwxr-xr-x[-rw-r--r--]ccast/cast_channel.proto0
-rwxr-xr-x[-rw-r--r--]ccast/ccast.c186
-rwxr-xr-x[-rw-r--r--]ccast/ccast.h0
-rwxr-xr-x[-rw-r--r--]ccast/ccmdns.c200
-rwxr-xr-x[-rw-r--r--]ccast/ccmdns.h0
-rwxr-xr-x[-rw-r--r--]ccast/ccmes.c52
-rwxr-xr-x[-rw-r--r--]ccast/ccmes.h0
-rwxr-xr-x[-rw-r--r--]ccast/ccpacket.c208
-rwxr-xr-x[-rw-r--r--]ccast/ccpacket.h0
-rwxr-xr-x[-rw-r--r--]ccast/cctest.c2
-rwxr-xr-x[-rw-r--r--]ccast/chan/cast_channel.pb-c.c0
-rwxr-xr-x[-rw-r--r--]ccast/chan/cast_channel.pb-c.h0
-rwxr-xr-x[-rw-r--r--]ccast/chan/protobuf-c.c0
-rwxr-xr-x[-rw-r--r--]ccast/chan/protobuf-c.h0
-rwxr-xr-x[-rw-r--r--]ccast/dpat.c4
-rwxr-xr-x[-rw-r--r--]ccast/filt.c0
-rwxr-xr-x[-rw-r--r--]cgats/Jamfile0
-rwxr-xr-x[-rw-r--r--]cgats/License.txt0
-rwxr-xr-x[-rw-r--r--]cgats/Makefile0
-rwxr-xr-x[-rw-r--r--]cgats/Makefile.IBMNT0
-rwxr-xr-x[-rw-r--r--]cgats/Makefile.OSX0
-rwxr-xr-x[-rw-r--r--]cgats/Makefile.UNIX0
-rwxr-xr-x[-rw-r--r--]cgats/Makefile.WNT0
-rwxr-xr-x[-rw-r--r--]cgats/Readme.txt0
-rwxr-xr-x[-rw-r--r--]cgats/afiles1
-rwxr-xr-x[-rw-r--r--]cgats/cgats.c66
-rwxr-xr-x[-rw-r--r--]cgats/cgats.h3
-rwxr-xr-x[-rw-r--r--]cgats/cgatsstd.c0
-rwxr-xr-x[-rw-r--r--]cgats/makezip.ksh0
-rwxr-xr-x[-rw-r--r--]cgats/pars.c2
-rwxr-xr-x[-rw-r--r--]cgats/pars.h0
-rwxr-xr-x[-rw-r--r--]cgats/parsstd.c0
-rwxr-xr-xcgats/test.txt73
-rwxr-xr-x[-rw-r--r--]doc/3dformat.html5
-rwxr-xr-x[-rw-r--r--]doc/ArgyllCMS_arts_tag.html0
-rwxr-xr-x[-rw-r--r--]doc/ArgyllDoc.html556
-rwxr-xr-x[-rw-r--r--]doc/ArgyllFlow.jpgbin225826 -> 225826 bytes
-rwxr-xr-x[-rw-r--r--]doc/ArgyllFlowThumb.jpgbin10629 -> 10629 bytes
-rwxr-xr-x[-rw-r--r--]doc/CMP_DT_003.jpgbin23966 -> 23966 bytes
-rwxr-xr-x[-rw-r--r--]doc/CMP_Digital_Target-4.jpgbin21256 -> 21256 bytes
-rwxr-xr-x[-rw-r--r--]doc/CRTspectrum.jpgbin32231 -> 32231 bytes
-rwxr-xr-x[-rw-r--r--]doc/ChangesSummary.html44
-rwxr-xr-x[-rw-r--r--]doc/Chroma4.jpgbin16118 -> 16118 bytes
-rwxr-xr-x[-rw-r--r--]doc/ColorHug.jpgbin28768 -> 28768 bytes
-rwxr-xr-x[-rw-r--r--]doc/ColorManagement.html0
-rwxr-xr-x[-rw-r--r--]doc/ColorMunki.jpgbin43097 -> 43097 bytes
-rwxr-xr-x[-rw-r--r--]doc/ColorMunkiCreate.jpgbin29653 -> 29653 bytes
-rwxr-xr-x[-rw-r--r--]doc/Compiling.html0
-rwxr-xr-x[-rw-r--r--]doc/CrushedDisplyBlacks.html0
-rwxr-xr-x[-rw-r--r--]doc/DC.jpgbin23570 -> 23570 bytes
-rwxr-xr-x[-rw-r--r--]doc/DTP20.jpgbin83527 -> 83527 bytes
-rwxr-xr-x[-rw-r--r--]doc/DTP22.jpgbin51054 -> 51054 bytes
-rwxr-xr-x[-rw-r--r--]doc/DTP41.jpgbin78517 -> 78517 bytes
-rwxr-xr-x[-rw-r--r--]doc/DTP51.jpgbin52356 -> 52356 bytes
-rwxr-xr-x[-rw-r--r--]doc/DTP92.jpgbin41789 -> 41789 bytes
-rwxr-xr-x[-rw-r--r--]doc/DTP94.jpgbin46245 -> 46245 bytes
-rwxr-xr-x[-rw-r--r--]doc/DocLicense.txt0
-rwxr-xr-xdoc/EX1.jpgbin0 -> 24772 bytes
-rwxr-xr-x[-rw-r--r--]doc/Environment.html11
-rwxr-xr-x[-rw-r--r--]doc/FWA.html0
-rwxr-xr-x[-rw-r--r--]doc/FWA_measure.jpgbin23717 -> 23717 bytes
-rwxr-xr-x[-rw-r--r--]doc/File_Formats.html2
-rwxr-xr-x[-rw-r--r--]doc/Fluorescent.jpgbin35863 -> 35863 bytes
-rwxr-xr-x[-rw-r--r--]doc/HCFR.jpgbin21765 -> 21765 bytes
-rwxr-xr-x[-rw-r--r--]doc/HCT.jpgbin9601 -> 9601 bytes
-rwxr-xr-x[-rw-r--r--]doc/HiResLaser.jpgbin28163 -> 28163 bytes
-rwxr-xr-x[-rw-r--r--]doc/Huey.jpgbin30022 -> 30022 bytes
-rwxr-xr-x[-rw-r--r--]doc/Installing.html0
-rwxr-xr-x[-rw-r--r--]doc/Installing_Linux.html0
-rwxr-xr-x[-rw-r--r--]doc/Installing_MSWindows.html4
-rwxr-xr-x[-rw-r--r--]doc/Installing_OSX.html0
-rwxr-xr-x[-rw-r--r--]doc/JETI_1211.jpgbin29663 -> 29663 bytes
-rwxr-xr-x[-rw-r--r--]doc/K10A.jpgbin24339 -> 24339 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph1.jpgbin14691 -> 14691 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph2.jpgbin13544 -> 13544 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph3.jpgbin14548 -> 14548 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph4.jpgbin14056 -> 14056 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph5.jpgbin14084 -> 14084 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph6.jpgbin14830 -> 14830 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph7.jpgbin15134 -> 15134 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kgraph8.jpgbin14218 -> 14218 bytes
-rwxr-xr-x[-rw-r--r--]doc/Kparams.jpgbin15850 -> 15850 bytes
-rwxr-xr-x[-rw-r--r--]doc/LSDC.jpgbin12237 -> 12237 bytes
-rwxr-xr-x[-rw-r--r--]doc/LabSteps.jpgbin13335 -> 13335 bytes
-rwxr-xr-x[-rw-r--r--]doc/License.txt0
-rwxr-xr-x[-rw-r--r--]doc/License2.txt0
-rwxr-xr-x[-rw-r--r--]doc/License3.txt0
-rwxr-xr-x[-rw-r--r--]doc/Limitations.html0
-rwxr-xr-x[-rw-r--r--]doc/MinorTools.html0
-rwxr-xr-x[-rw-r--r--]doc/Organisation.html0
-rwxr-xr-x[-rw-r--r--]doc/Overview.html0
-rwxr-xr-x[-rw-r--r--]doc/Performance.html0
-rwxr-xr-x[-rw-r--r--]doc/Q60.jpgbin14943 -> 14943 bytes
-rwxr-xr-x[-rw-r--r--]doc/QPcard201.jpgbin4967 -> 4967 bytes
-rwxr-xr-x[-rw-r--r--]doc/QPcard202.jpgbin9016 -> 9016 bytes
-rwxr-xr-x[-rw-r--r--]doc/SG.jpgbin11348 -> 11348 bytes
-rwxr-xr-x[-rw-r--r--]doc/SG_footer.txt0
-rwxr-xr-x[-rw-r--r--]doc/SG_header.txt0
-rwxr-xr-xdoc/SMCube.jpgbin0 -> 11799 bytes
-rwxr-xr-x[-rw-r--r--]doc/Scenarios.html29
-rwxr-xr-x[-rw-r--r--]doc/Smile.jpgbin25761 -> 25761 bytes
-rwxr-xr-x[-rw-r--r--]doc/Source.html0
-rwxr-xr-x[-rw-r--r--]doc/Spyd2.jpgbin64227 -> 64227 bytes
-rwxr-xr-x[-rw-r--r--]doc/Spyd3.jpgbin13975 -> 13975 bytes
-rwxr-xr-x[-rw-r--r--]doc/Spyd3x.jpgbin13519 -> 13519 bytes
-rwxr-xr-x[-rw-r--r--]doc/Spyd4.jpgbin11284 -> 11284 bytes
-rwxr-xr-xdoc/Spyd5.jpgbin0 -> 16499 bytes
-rwxr-xr-x[-rw-r--r--]doc/SpyderChecker.jpgbin12497 -> 12497 bytes
-rwxr-xr-x[-rw-r--r--]doc/VideoEOTFs.html0
-rwxr-xr-x[-rw-r--r--]doc/WideGamutColmters.html0
-rwxr-xr-x[-rw-r--r--]doc/YellowGreen.jpgbin18404 -> 18404 bytes
-rwxr-xr-x[-rw-r--r--]doc/afiles3
-rwxr-xr-x[-rw-r--r--]doc/applycal.html0
-rwxr-xr-x[-rw-r--r--]doc/average.html0
-rwxr-xr-x[-rw-r--r--]doc/cal_format.html0
-rwxr-xr-x[-rw-r--r--]doc/calvschar.html0
-rwxr-xr-x[-rw-r--r--]doc/cb2ti3.html0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs.html0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/DTP-94_Dell_2408W.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/DTP-94_Dell_U2410.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Huey_Acer_al2016w.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Huey_Eizo_CG243.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Huey_HP_compaq_6730s.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Huey_HP_lp2475w.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Huey_NEC1990SXi.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Huey_NEC_Spectraview_241.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Spyder3_HP_LP2475w.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/ccmxs/Spyder3_NEC_PA301W.ccmx0
-rwxr-xr-x[-rw-r--r--]doc/cctiff.html29
-rwxr-xr-x[-rw-r--r--]doc/ccxxmake.html148
-rwxr-xr-x[-rw-r--r--]doc/chartread.html48
-rwxr-xr-x[-rw-r--r--]doc/cht_format.html0
-rwxr-xr-x[-rw-r--r--]doc/collink.html103
-rwxr-xr-x[-rw-r--r--]doc/colorchecker.jpgbin7522 -> 7522 bytes
-rwxr-xr-x[-rw-r--r--]doc/colprof.html0
-rwxr-xr-x[-rw-r--r--]doc/colverify.html0
-rwxr-xr-x[-rw-r--r--]doc/cube.jpgbin11036 -> 11036 bytes
-rwxr-xr-x[-rw-r--r--]doc/dispcal.html175
-rwxr-xr-x[-rw-r--r--]doc/dispprofloc.html0
-rwxr-xr-x[-rw-r--r--]doc/dispread.html203
-rwxr-xr-x[-rw-r--r--]doc/dispwin.html39
-rwxr-xr-x[-rw-r--r--]doc/evalInputTargets.html0
-rwxr-xr-x[-rw-r--r--]doc/extracticc.html0
-rwxr-xr-x[-rw-r--r--]doc/extractttag.html0
-rwxr-xr-x[-rw-r--r--]doc/fakeCMY.html0
-rwxr-xr-x[-rw-r--r--]doc/fakeread.html0
-rwxr-xr-x[-rw-r--r--]doc/filmread.html0
-rwxr-xr-x[-rw-r--r--]doc/filmtarg.html0
-rwxr-xr-x[-rw-r--r--]doc/gamma.html0
-rwxr-xr-x[-rw-r--r--]doc/gamutmapping1.jpgbin19794 -> 19794 bytes
-rwxr-xr-x[-rw-r--r--]doc/greytiff.html0
-rwxr-xr-x[-rw-r--r--]doc/i1d.jpgbin36903 -> 36903 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1d3_1.jpgbin16744 -> 16744 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1d3_2.jpgbin16538 -> 16538 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1m.jpgbin29888 -> 29888 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1p.jpgbin62804 -> 62804 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1pro2.jpgbin73450 -> 73450 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1proDriver.html0
-rwxr-xr-x[-rw-r--r--]doc/i1proDriver.xlsbin187392 -> 187392 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1proHiRes.html0
-rwxr-xr-x[-rw-r--r--]doc/i1proHiRes.jpgbin26870 -> 26870 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1proHiRes.zipbin319734 -> 319734 bytes
-rwxr-xr-x[-rw-r--r--]doc/i1scan14.jpgbin15925 -> 15925 bytes
-rwxr-xr-x[-rw-r--r--]doc/iccdump.html0
-rwxr-xr-x[-rw-r--r--]doc/iccgamut.html0
-rwxr-xr-x[-rw-r--r--]doc/iccgamutmapping.html0
-rwxr-xr-x[-rw-r--r--]doc/icclu.html0
-rwxr-xr-x[-rw-r--r--]doc/illumread.html0
-rwxr-xr-x[-rw-r--r--]doc/illumread_1.jpgbin14047 -> 14047 bytes
-rwxr-xr-x[-rw-r--r--]doc/illumread_2.jpgbin13451 -> 13451 bytes
-rwxr-xr-x[-rw-r--r--]doc/illumread_3.jpgbin17753 -> 17753 bytes
-rwxr-xr-x[-rw-r--r--]doc/illumread_4.jpgbin21691 -> 21691 bytes
-rwxr-xr-x[-rw-r--r--]doc/illumread_5.jpgbin15948 -> 15948 bytes
-rwxr-xr-x[-rw-r--r--]doc/illumread_6.jpgbin8066 -> 8066 bytes
-rwxr-xr-x[-rw-r--r--]doc/instruments.html399
-rwxr-xr-x[-rw-r--r--]doc/invprofcheck.html295
-rwxr-xr-x[-rw-r--r--]doc/kodak2ti3.html0
-rwxr-xr-x[-rw-r--r--]doc/monitorcontrols.html0
-rwxr-xr-x[-rw-r--r--]doc/mox.jpgbin8355 -> 8355 bytes
-rwxr-xr-x[-rw-r--r--]doc/moxxr.jpgbin6289 -> 6289 bytes
-rwxr-xr-x[-rw-r--r--]doc/mppcheck.html0
-rwxr-xr-x[-rw-r--r--]doc/mpplu.html0
-rwxr-xr-x[-rw-r--r--]doc/mppprof.html0
-rwxr-xr-x[-rw-r--r--]doc/oeminst.html0
-rwxr-xr-x[-rw-r--r--]doc/printcal.html0
-rwxr-xr-x[-rw-r--r--]doc/printtarg.html0
-rwxr-xr-x[-rw-r--r--]doc/profcheck.html0
-rwxr-xr-x[-rw-r--r--]doc/refine.html0
-rwxr-xr-x[-rw-r--r--]doc/revfix.html0
-rwxr-xr-x[-rw-r--r--]doc/scanin.html0
-rwxr-xr-x[-rw-r--r--]doc/sl.jpgbin77102 -> 77102 bytes
-rwxr-xr-x[-rw-r--r--]doc/spec2cie.html14
-rwxr-xr-x[-rw-r--r--]doc/specplot.html10
-rwxr-xr-x[-rw-r--r--]doc/splitti3.html0
-rwxr-xr-x[-rw-r--r--]doc/spotread.html85
-rwxr-xr-x[-rw-r--r--]doc/srgbplot.gifbin3468 -> 3468 bytes
-rwxr-xr-x[-rw-r--r--]doc/ss.jpgbin65180 -> 65180 bytes
-rwxr-xr-x[-rw-r--r--]doc/surface.jpgbin11222 -> 11222 bytes
-rwxr-xr-x[-rw-r--r--]doc/synthcal.html0
-rwxr-xr-x[-rw-r--r--]doc/synthread.html0
-rwxr-xr-x[-rw-r--r--]doc/targen.html0
-rwxr-xr-x[-rw-r--r--]doc/ti3_format.html96
-rwxr-xr-x[-rw-r--r--]doc/tiffgamut.html0
-rwxr-xr-x[-rw-r--r--]doc/timage.html0
-rwxr-xr-x[-rw-r--r--]doc/txt2ti3.html0
-rwxr-xr-x[-rw-r--r--]doc/ucmm.html0
-rwxr-xr-x[-rw-r--r--]doc/viewgam.html0
-rwxr-xr-x[-rw-r--r--]doc/xicclu.html0
-rwxr-xr-x[-rw-r--r--]gamut/GenRMGam.c0
-rwxr-xr-x[-rw-r--r--]gamut/GenVisGam.c0
-rwxr-xr-x[-rw-r--r--]gamut/Jamfile0
-rwxr-xr-x[-rw-r--r--]gamut/License.txt0
-rwxr-xr-x[-rw-r--r--]gamut/Readme.txt0
-rwxr-xr-x[-rw-r--r--]gamut/afiles0
-rwxr-xr-x[-rw-r--r--]gamut/fakegam.c0
-rwxr-xr-x[-rw-r--r--]gamut/gammap.c0
-rwxr-xr-x[-rw-r--r--]gamut/gammap.h0
-rwxr-xr-x[-rw-r--r--]gamut/gammap.txt0
-rwxr-xr-x[-rw-r--r--]gamut/gamut.c6
-rwxr-xr-x[-rw-r--r--]gamut/gamut.h0
-rwxr-xr-x[-rw-r--r--]gamut/isecvol.c2
-rwxr-xr-x[-rw-r--r--]gamut/maptest.c0
-rwxr-xr-x[-rw-r--r--]gamut/nearsmth.c0
-rwxr-xr-x[-rw-r--r--]gamut/nearsmth.h0
-rwxr-xr-x[-rw-r--r--]gamut/smthtest.c0
-rwxr-xr-x[-rw-r--r--]gamut/surftest.c0
-rwxr-xr-x[-rw-r--r--]gamut/viewgam.c0
-rwxr-xr-x[-rw-r--r--]h/License.txt0
-rwxr-xr-x[-rw-r--r--]h/Readme.txt0
-rwxr-xr-x[-rw-r--r--]h/aconfig.h4
-rwxr-xr-x[-rw-r--r--]h/afiles0
-rwxr-xr-x[-rw-r--r--]h/copyright.h0
-rwxr-xr-x[-rw-r--r--]h/counters.h0
-rwxr-xr-x[-rw-r--r--]h/llist.h0
-rwxr-xr-x[-rw-r--r--]h/sort.h0
-rwxr-xr-x[-rw-r--r--]h/xlist.h0
-rwxr-xr-x[-rw-r--r--]icc/ClayRGB1998.icmbin640 -> 640 bytes
-rwxr-xr-x[-rw-r--r--]icc/EBU3213_PAL.icmbin9176 -> 9176 bytes
-rwxr-xr-x[-rw-r--r--]icc/Jamfile0
-rwxr-xr-x[-rw-r--r--]icc/License.txt0
-rwxr-xr-x[-rw-r--r--]icc/Makefile0
-rwxr-xr-x[-rw-r--r--]icc/Makefile.IBMNT0
-rwxr-xr-x[-rw-r--r--]icc/Makefile.OSX0
-rwxr-xr-x[-rw-r--r--]icc/Makefile.UNIX0
-rwxr-xr-x[-rw-r--r--]icc/Makefile.WNT0
-rwxr-xr-x[-rw-r--r--]icc/ProPhoto.icmbin2948 -> 2948 bytes
-rwxr-xr-x[-rw-r--r--]icc/ProPhotoLin.icmbin2956 -> 2956 bytes
-rwxr-xr-x[-rw-r--r--]icc/Readme.txt0
-rwxr-xr-x[-rw-r--r--]icc/Rec2020.icmbin9120 -> 9120 bytes
-rwxr-xr-x[-rw-r--r--]icc/Rec709.icmbin2976 -> 2976 bytes
-rwxr-xr-x[-rw-r--r--]icc/SMPTE431_P3.icmbin928 -> 928 bytes
-rwxr-xr-x[-rw-r--r--]icc/SMPTE_RP145_NTSC.icmbin9156 -> 9156 bytes
-rwxr-xr-x[-rw-r--r--]icc/afiles0
-rwxr-xr-x[-rw-r--r--]icc/icc.c217
-rwxr-xr-x[-rw-r--r--]icc/icc.h20
-rwxr-xr-x[-rw-r--r--]icc/iccV42.h4
-rwxr-xr-x[-rw-r--r--]icc/iccdump.c0
-rwxr-xr-x[-rw-r--r--]icc/icclu.c0
-rwxr-xr-x[-rw-r--r--]icc/iccrw.c0
-rwxr-xr-x[-rw-r--r--]icc/iccstd.c19
-rwxr-xr-x[-rw-r--r--]icc/icctest.c2
-rwxr-xr-x[-rw-r--r--]icc/lab2lab.icmbin556 -> 556 bytes
-rwxr-xr-x[-rw-r--r--]icc/log.txt0
-rwxr-xr-x[-rw-r--r--]icc/lutest.c0
-rwxr-xr-x[-rw-r--r--]icc/mcheck.c0
-rwxr-xr-x[-rw-r--r--]icc/mkDispProf.c0
-rwxr-xr-x[-rw-r--r--]icc/sRGB.icmbin3268 -> 3268 bytes
-rwxr-xr-x[-rw-r--r--]icc/testDE2K.c0
-rwxr-xr-x[-rw-r--r--]icc/todo.txt0
-rwxr-xr-x[-rw-r--r--]imdi/Jamfile0
-rwxr-xr-x[-rw-r--r--]imdi/License.txt0
-rwxr-xr-x[-rw-r--r--]imdi/Makefile0
-rwxr-xr-x[-rw-r--r--]imdi/Makefile.OSX0
-rwxr-xr-x[-rw-r--r--]imdi/Makefile.UNIX0
-rwxr-xr-x[-rw-r--r--]imdi/Makefile.WNT0
-rwxr-xr-x[-rw-r--r--]imdi/Readme.txt0
-rwxr-xr-x[-rw-r--r--]imdi/afiles0
-rwxr-xr-x[-rw-r--r--]imdi/cctiff.c13
-rwxr-xr-x[-rw-r--r--]imdi/cctiffo.c0
-rwxr-xr-x[-rw-r--r--]imdi/cgen.c0
-rwxr-xr-x[-rw-r--r--]imdi/ctest.c0
-rwxr-xr-x[-rw-r--r--]imdi/greytiff.c0
-rwxr-xr-x[-rw-r--r--]imdi/imdi.c0
-rwxr-xr-x[-rw-r--r--]imdi/imdi.h0
-rwxr-xr-x[-rw-r--r--]imdi/imdi_arch.h0
-rwxr-xr-x[-rw-r--r--]imdi/imdi_gen.c0
-rwxr-xr-x[-rw-r--r--]imdi/imdi_gen.h0
-rwxr-xr-x[-rw-r--r--]imdi/imdi_make.c0
-rwxr-xr-x[-rw-r--r--]imdi/imdi_tab.c0
-rwxr-xr-x[-rw-r--r--]imdi/imdi_tab.h0
-rwxr-xr-x[-rw-r--r--]imdi/imdi_utl.h0
-rwxr-xr-x[-rw-r--r--]imdi/itest.c0
-rwxr-xr-x[-rw-r--r--]imdi/refi.c0
-rwxr-xr-x[-rw-r--r--]imdi/refi.h0
-rwxr-xr-x[-rw-r--r--]imdi/ssort.c0
-rwxr-xr-x[-rw-r--r--]install.bat0
-rwxr-xr-x[-rw-r--r--]jam.patch0
-rwxr-xr-x[-rw-r--r--]jcnf/Jamfile0
-rwxr-xr-x[-rw-r--r--]jcnf/Readme.txt0
-rwxr-xr-x[-rw-r--r--]jcnf/afiles0
-rwxr-xr-x[-rw-r--r--]jcnf/jcnf.c0
-rwxr-xr-x[-rw-r--r--]jcnf/jcnf.h0
-rwxr-xr-x[-rw-r--r--]jcnf/test.c0
-rwxr-xr-x[-rw-r--r--]jcnf/test.jcnf0
-rw-r--r--jpeg/Jamfile26
-rw-r--r--jpeg/Makefile.am134
-rw-r--r--jpeg/Makefile.in1094
-rw-r--r--jpeg/README351
-rw-r--r--jpeg/aclocal.m49652
-rw-r--r--jpeg/afiles185
-rw-r--r--jpeg/ansi2knr.136
-rw-r--r--jpeg/ansi2knr.c739
-rw-r--r--jpeg/cderror.h134
-rw-r--r--jpeg/cdjpeg.c181
-rw-r--r--jpeg/cdjpeg.h187
-rw-r--r--jpeg/change.log346
-rw-r--r--jpeg/cjpeg.1348
-rw-r--r--jpeg/cjpeg.c643
-rw-r--r--jpeg/ckconfig.c402
-rw-r--r--jpeg/coderules.txt118
-rw-r--r--jpeg/config.guess1522
-rw-r--r--jpeg/config.sub1771
-rw-r--r--jpeg/configure15928
-rw-r--r--jpeg/configure.ac356
-rw-r--r--jpeg/depcomp688
-rw-r--r--jpeg/djpeg.1252
-rw-r--r--jpeg/djpeg.c617
-rw-r--r--jpeg/example.c433
-rw-r--r--jpeg/filelist.txt215
-rw-r--r--jpeg/install-sh527
-rw-r--r--jpeg/install.txt1096
-rw-r--r--jpeg/jaricom.c153
-rw-r--r--jpeg/jcapimin.c288
-rw-r--r--jpeg/jcapistd.c161
-rw-r--r--jpeg/jcarith.c937
-rw-r--r--jpeg/jccoefct.c454
-rw-r--r--jpeg/jccolor.c490
-rw-r--r--jpeg/jcdctmgr.c482
-rw-r--r--jpeg/jchuff.c1576
-rw-r--r--jpeg/jcinit.c65
-rw-r--r--jpeg/jcmainct.c293
-rw-r--r--jpeg/jcmarker.c682
-rw-r--r--jpeg/jcmaster.c858
-rw-r--r--jpeg/jcomapi.c106
-rw-r--r--jpeg/jconfig.bcc48
-rw-r--r--jpeg/jconfig.cfg53
-rw-r--r--jpeg/jconfig.dj38
-rw-r--r--jpeg/jconfig.mac43
-rw-r--r--jpeg/jconfig.manx43
-rw-r--r--jpeg/jconfig.mc652
-rw-r--r--jpeg/jconfig.sas43
-rw-r--r--jpeg/jconfig.st42
-rw-r--r--jpeg/jconfig.txt164
-rw-r--r--jpeg/jconfig.vc45
-rw-r--r--jpeg/jconfig.vms37
-rw-r--r--jpeg/jconfig.wat38
-rw-r--r--jpeg/jcparam.c632
-rw-r--r--jpeg/jcprepct.c358
-rw-r--r--jpeg/jcsample.c545
-rw-r--r--jpeg/jctrans.c382
-rw-r--r--jpeg/jdapimin.c396
-rw-r--r--jpeg/jdapistd.c275
-rw-r--r--jpeg/jdarith.c776
-rw-r--r--jpeg/jdatadst.c267
-rw-r--r--jpeg/jdatasrc.c275
-rw-r--r--jpeg/jdcoefct.c741
-rw-r--r--jpeg/jdcolor.c512
-rw-r--r--jpeg/jdct.h393
-rw-r--r--jpeg/jddctmgr.c384
-rw-r--r--jpeg/jdhuff.c1541
-rw-r--r--jpeg/jdinput.c661
-rw-r--r--jpeg/jdmainct.c512
-rw-r--r--jpeg/jdmarker.c1406
-rw-r--r--jpeg/jdmaster.c531
-rw-r--r--jpeg/jdmerge.c400
-rw-r--r--jpeg/jdosaobj.txt16
-rw-r--r--jpeg/jdpostct.c290
-rw-r--r--jpeg/jdsample.c361
-rw-r--r--jpeg/jdtrans.c140
-rw-r--r--jpeg/jerror.c252
-rw-r--r--jpeg/jerror.h304
-rw-r--r--jpeg/jfdctflt.c174
-rw-r--r--jpeg/jfdctfst.c230
-rw-r--r--jpeg/jfdctint.c4348
-rw-r--r--jpeg/jidctflt.c235
-rw-r--r--jpeg/jidctfst.c368
-rw-r--r--jpeg/jidctint.c5137
-rw-r--r--jpeg/jinclude.h91
-rw-r--r--jpeg/jmemansi.c167
-rw-r--r--jpeg/jmemdos.c638
-rw-r--r--jpeg/jmemdosa.asm379
-rw-r--r--jpeg/jmemmac.c289
-rw-r--r--jpeg/jmemmgr.c1119
-rw-r--r--jpeg/jmemname.c276
-rw-r--r--jpeg/jmemnobs.c109
-rw-r--r--jpeg/jmemsys.h198
-rw-r--r--jpeg/jmorecfg.h369
-rw-r--r--jpeg/jpegint.h426
-rw-r--r--jpeg/jpeglib.h1160
-rw-r--r--jpeg/jpegsr8d.zipbin1060974 -> 0 bytes
-rw-r--r--jpeg/jpegtran.1285
-rw-r--r--jpeg/jpegtran.c560
-rw-r--r--jpeg/jquant1.c857
-rw-r--r--jpeg/jquant2.c1311
-rw-r--r--jpeg/jutils.c227
-rw-r--r--jpeg/jversion.h14
-rw-r--r--jpeg/libjpeg.map4
-rw-r--r--jpeg/libjpeg.txt3085
-rw-r--r--jpeg/ltmain.sh9655
-rw-r--r--jpeg/makcjpeg.st36
-rw-r--r--jpeg/makdjpeg.st36
-rw-r--r--jpeg/makeadsw.vc677
-rw-r--r--jpeg/makeasln.v1033
-rw-r--r--jpeg/makecdep.vc682
-rw-r--r--jpeg/makecdsp.vc6130
-rw-r--r--jpeg/makecfil.v1069
-rw-r--r--jpeg/makecmak.vc6159
-rw-r--r--jpeg/makecvcx.v1076
-rw-r--r--jpeg/makeddep.vc682
-rw-r--r--jpeg/makeddsp.vc6130
-rw-r--r--jpeg/makedfil.v1069
-rw-r--r--jpeg/makedmak.vc6159
-rw-r--r--jpeg/makedvcx.v1076
-rw-r--r--jpeg/makefile.ansi221
-rw-r--r--jpeg/makefile.bcc292
-rw-r--r--jpeg/makefile.dj227
-rw-r--r--jpeg/makefile.manx221
-rw-r--r--jpeg/makefile.mc6256
-rw-r--r--jpeg/makefile.mms225
-rw-r--r--jpeg/makefile.sas259
-rw-r--r--jpeg/makefile.unix235
-rw-r--r--jpeg/makefile.vc273
-rw-r--r--jpeg/makefile.vms142
-rw-r--r--jpeg/makefile.wat240
-rw-r--r--jpeg/makejdep.vc6423
-rw-r--r--jpeg/makejdsp.vc6285
-rw-r--r--jpeg/makejdsw.vc629
-rw-r--r--jpeg/makejfil.v10186
-rw-r--r--jpeg/makejmak.vc6425
-rw-r--r--jpeg/makejsln.v1017
-rw-r--r--jpeg/makejvcx.v10112
-rw-r--r--jpeg/makeproj.mac213
-rw-r--r--jpeg/makerdep.vc66
-rw-r--r--jpeg/makerdsp.vc678
-rw-r--r--jpeg/makerfil.v1030
-rw-r--r--jpeg/makermak.vc6110
-rw-r--r--jpeg/makervcx.v1062
-rw-r--r--jpeg/maketdep.vc643
-rw-r--r--jpeg/maketdsp.vc6122
-rw-r--r--jpeg/maketfil.v1063
-rw-r--r--jpeg/maketmak.vc6131
-rw-r--r--jpeg/maketvcx.v1074
-rw-r--r--jpeg/makewdep.vc66
-rw-r--r--jpeg/makewdsp.vc678
-rw-r--r--jpeg/makewfil.v1030
-rw-r--r--jpeg/makewmak.vc6110
-rw-r--r--jpeg/makewvcx.v1062
-rw-r--r--jpeg/makljpeg.st68
-rw-r--r--jpeg/maktjpeg.st30
-rw-r--r--jpeg/makvms.opt4
-rw-r--r--jpeg/missing376
-rw-r--r--jpeg/rdbmp.c480
-rw-r--r--jpeg/rdcolmap.c253
-rw-r--r--jpeg/rdgif.c38
-rw-r--r--jpeg/rdjpgcom.163
-rw-r--r--jpeg/rdjpgcom.c515
-rw-r--r--jpeg/rdppm.c459
-rw-r--r--jpeg/rdrle.c387
-rw-r--r--jpeg/rdswitch.c365
-rw-r--r--jpeg/rdtarga.c500
-rw-r--r--jpeg/readme.dos15
-rw-r--r--jpeg/structure.txt941
-rw-r--r--jpeg/testimg.bmpbin35050 -> 0 bytes
-rw-r--r--jpeg/testimg.jpgbin5764 -> 0 bytes
-rw-r--r--jpeg/testimg.ppm4
-rw-r--r--jpeg/testimgp.jpgbin5645 -> 0 bytes
-rw-r--r--jpeg/testorig.jpgbin5770 -> 0 bytes
-rw-r--r--jpeg/testprog.jpgbin5655 -> 0 bytes
-rw-r--r--jpeg/transupp.c1597
-rw-r--r--jpeg/transupp.h213
-rw-r--r--jpeg/usage.txt637
-rw-r--r--jpeg/wizard.txt211
-rw-r--r--jpeg/wrbmp.c442
-rw-r--r--jpeg/wrgif.c399
-rw-r--r--jpeg/wrjpgcom.1103
-rw-r--r--jpeg/wrjpgcom.c583
-rw-r--r--jpeg/wrppm.c269
-rw-r--r--jpeg/wrrle.c305
-rw-r--r--jpeg/wrtarga.c253
-rwxr-xr-x[-rw-r--r--]lib/Readme.txt0
-rwxr-xr-x[-rw-r--r--]lib/afiles0
-rwxr-xr-x[-rw-r--r--]link/Jamfile0
-rwxr-xr-x[-rw-r--r--]link/License.txt0
-rwxr-xr-x[-rw-r--r--]link/Readme.txt0
-rwxr-xr-x[-rw-r--r--]link/afiles0
-rwxr-xr-x[-rw-r--r--]link/collink.c107
-rwxr-xr-x[-rw-r--r--]link/monoplot.c0
-rwxr-xr-x[-rw-r--r--]link/pathplot.c0
-rwxr-xr-x[-rw-r--r--]log.txt59
-rwxr-xr-x[-rw-r--r--]makeall.bat0
-rwxr-xr-x[-rw-r--r--]makeall.sh0
-rwxr-xr-x[-rw-r--r--]makeinstall.sh0
-rwxr-xr-xmakeoemdnldbin.sh151
-rwxr-xr-x[-rw-r--r--]makepackagebin.sh0
-rwxr-xr-x[-rw-r--r--]namedc/Jamfile0
-rwxr-xr-x[-rw-r--r--]namedc/License.txt0
-rwxr-xr-x[-rw-r--r--]namedc/afiles0
-rwxr-xr-x[-rw-r--r--]namedc/namedc.c11
-rwxr-xr-x[-rw-r--r--]namedc/namedc.h0
-rwxr-xr-x[-rw-r--r--]namedc/txt2iccnc.c0
-rwxr-xr-x[-rw-r--r--]notes.txt0
-rwxr-xr-x[-rw-r--r--]numlib/Jamfile0
-rwxr-xr-x[-rw-r--r--]numlib/LUtest.c0
-rwxr-xr-x[-rw-r--r--]numlib/License.txt0
-rwxr-xr-x[-rw-r--r--]numlib/Readme.txt0
-rwxr-xr-x[-rw-r--r--]numlib/aatree.c0
-rwxr-xr-x[-rw-r--r--]numlib/aatree.h0
-rwxr-xr-x[-rw-r--r--]numlib/afiles0
-rwxr-xr-x[-rw-r--r--]numlib/dhsx.c0
-rwxr-xr-x[-rw-r--r--]numlib/dhsx.h0
-rwxr-xr-x[-rw-r--r--]numlib/dnsq.c0
-rwxr-xr-x[-rw-r--r--]numlib/dnsq.h0
-rwxr-xr-x[-rw-r--r--]numlib/dnsqtest.c0
-rwxr-xr-x[-rw-r--r--]numlib/ludecomp.c0
-rwxr-xr-x[-rw-r--r--]numlib/ludecomp.h0
-rwxr-xr-x[-rw-r--r--]numlib/numlib.h0
-rwxr-xr-x[-rw-r--r--]numlib/numsup.c70
-rwxr-xr-x[-rw-r--r--]numlib/numsup.h34
-rwxr-xr-x[-rw-r--r--]numlib/powell.c0
-rwxr-xr-x[-rw-r--r--]numlib/powell.h0
-rwxr-xr-x[-rw-r--r--]numlib/rand.c0
-rwxr-xr-x[-rw-r--r--]numlib/rand.h0
-rwxr-xr-x[-rw-r--r--]numlib/sobol.c0
-rwxr-xr-x[-rw-r--r--]numlib/sobol.h0
-rwxr-xr-x[-rw-r--r--]numlib/soboltest.c0
-rwxr-xr-x[-rw-r--r--]numlib/svd.c0
-rwxr-xr-x[-rw-r--r--]numlib/svd.h0
-rwxr-xr-x[-rw-r--r--]numlib/svdtest.c0
-rwxr-xr-x[-rw-r--r--]numlib/tdhsx.c0
-rwxr-xr-x[-rw-r--r--]numlib/tpowell.c0
-rwxr-xr-x[-rw-r--r--]numlib/ui.c10
-rwxr-xr-x[-rw-r--r--]numlib/ui.h0
-rwxr-xr-x[-rw-r--r--]numlib/zbrent.c0
-rwxr-xr-x[-rw-r--r--]numlib/zbrent.h0
-rwxr-xr-x[-rw-r--r--]numlib/zbrenttest.c0
-rwxr-xr-x[-rw-r--r--]plot/Imakefile0
-rwxr-xr-x[-rw-r--r--]plot/Jamfile0
-rwxr-xr-x[-rw-r--r--]plot/License.txt0
-rwxr-xr-x[-rw-r--r--]plot/Readme.txt0
-rwxr-xr-x[-rw-r--r--]plot/X3DOM_LICENSE.txt0
-rwxr-xr-x[-rw-r--r--]plot/afiles0
-rwxr-xr-x[-rw-r--r--]plot/plot.c2
-rwxr-xr-x[-rw-r--r--]plot/plot.h0
-rwxr-xr-x[-rw-r--r--]plot/vrml.c8
-rwxr-xr-x[-rw-r--r--]plot/vrml.h0
-rwxr-xr-x[-rw-r--r--]plot/x3dom.css0
-rwxr-xr-x[-rw-r--r--]plot/x3dom.css.h0
-rwxr-xr-x[-rw-r--r--]plot/x3dom.js0
-rwxr-xr-x[-rw-r--r--]plot/x3dom.js.h0
-rw-r--r--png/ANNOUNCE41
-rw-r--r--png/CHANGES4950
-rw-r--r--png/CMakeLists.txt364
-rw-r--r--png/INSTALL369
-rw-r--r--png/Jamfile32
-rw-r--r--png/LICENSE111
-rw-r--r--png/README202
-rw-r--r--png/TODO29
-rw-r--r--png/afiles44
-rw-r--r--png/configure19
-rw-r--r--png/example.c1061
-rw-r--r--png/libpng-config.in127
-rw-r--r--png/libpng-manual.txt5330
-rw-r--r--png/libpng.36208
-rw-r--r--png/libpng.pc.in11
-rw-r--r--png/libpngpf.318
-rw-r--r--png/png.574
-rw-r--r--png/png.c4385
-rw-r--r--png/png.h3268
-rw-r--r--png/pngbar.jpgbin2498 -> 0 bytes
-rw-r--r--png/pngbar.pngbin2399 -> 0 bytes
-rw-r--r--png/pngconf.h644
-rw-r--r--png/pngdebug.h154
-rw-r--r--png/pngerror.c961
-rw-r--r--png/pngget.c1198
-rw-r--r--png/pnginfo.h260
-rw-r--r--png/pnglibconf.h210
-rw-r--r--png/pngmem.c281
-rw-r--r--png/pngnow.pngbin2069 -> 0 bytes
-rw-r--r--png/pngpread.c1286
-rw-r--r--png/pngpriv.h1940
-rw-r--r--png/pngread.c4098
-rw-r--r--png/pngrio.c120
-rw-r--r--png/pngrtran.c4991
-rw-r--r--png/pngrutil.c4469
-rw-r--r--png/pngset.c1597
-rw-r--r--png/pngstruct.h489
-rw-r--r--png/pngtest.c1994
-rw-r--r--png/pngtest.pngbin8695 -> 0 bytes
-rw-r--r--png/pngtrans.c850
-rw-r--r--png/pngwio.c168
-rw-r--r--png/pngwrite.c2437
-rw-r--r--png/pngwtran.c572
-rw-r--r--png/pngwutil.c3026
-rwxr-xr-x[-rw-r--r--]profile/3dap5k.sp0
-rwxr-xr-x[-rw-r--r--]profile/CIE_C.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_0.0.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_0.1.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_0.3.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_0.5.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_0.7.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_1.0.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_1.2.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_1.5.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_1.7.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_2.0.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_2.5.sp0
-rwxr-xr-x[-rw-r--r--]profile/D50_3.0.sp0
-rwxr-xr-x[-rw-r--r--]profile/F1.sp0
-rwxr-xr-x[-rw-r--r--]profile/F5.sp0
-rwxr-xr-x[-rw-r--r--]profile/F8.sp0
-rwxr-xr-x[-rw-r--r--]profile/GTIPlus.sp0
-rwxr-xr-x[-rw-r--r--]profile/Jamfile0
-rwxr-xr-x[-rw-r--r--]profile/License.txt0
-rwxr-xr-x[-rw-r--r--]profile/Office.sp0
-rwxr-xr-x[-rw-r--r--]profile/Readme.txt0
-rwxr-xr-x[-rw-r--r--]profile/Trulux.sp0
-rwxr-xr-x[-rw-r--r--]profile/TruluxPlus.sp0
-rwxr-xr-x[-rw-r--r--]profile/afiles0
-rwxr-xr-x[-rw-r--r--]profile/applycal.c0
-rwxr-xr-x[-rw-r--r--]profile/cb2ti3.c0
-rwxr-xr-x[-rw-r--r--]profile/colprof.c121
-rwxr-xr-x[-rw-r--r--]profile/colverify.c180
-rwxr-xr-x[-rw-r--r--]profile/example.sp0
-rwxr-xr-x[-rw-r--r--]profile/example121.sp0
-rwxr-xr-x[-rw-r--r--]profile/invprofcheck.c116
-rwxr-xr-x[-rw-r--r--]profile/kodak2ti3.c10
-rwxr-xr-x[-rw-r--r--]profile/ls2ti3.c0
-rwxr-xr-x[-rw-r--r--]profile/mppcheck.c17
-rwxr-xr-x[-rw-r--r--]profile/mppprof.c35
-rwxr-xr-x[-rw-r--r--]profile/printcal.c18
-rwxr-xr-x[-rw-r--r--]profile/prof.h1
-rwxr-xr-x[-rw-r--r--]profile/profcheck.c111
-rwxr-xr-x[-rw-r--r--]profile/profin.c28
-rwxr-xr-x[-rw-r--r--]profile/profout.c3
-rwxr-xr-x[-rw-r--r--]profile/simpprof.c0
-rwxr-xr-x[-rw-r--r--]profile/splitti3.c16
-rwxr-xr-x[-rw-r--r--]profile/txt2ti3.c36
-rwxr-xr-x[-rw-r--r--]ref/3dap5k.sp0
-rwxr-xr-x[-rw-r--r--]ref/CIE_C.sp0
-rwxr-xr-x[-rw-r--r--]ref/CMP_DT_003.cht0
-rwxr-xr-x[-rw-r--r--]ref/CMP_Digital_Target-4.cht0
-rwxr-xr-x[-rw-r--r--]ref/CMP_Digital_Target-4.cie0
-rwxr-xr-x[-rw-r--r--]ref/CMP_Digital_Target-4.ti20
-rwxr-xr-x[-rw-r--r--]ref/CRT.ccss2
-rwxr-xr-x[-rw-r--r--]ref/ClayRGB1998.icmbin640 -> 640 bytes
-rwxr-xr-x[-rw-r--r--]ref/ColorChecker.cht0
-rwxr-xr-x[-rw-r--r--]ref/ColorChecker.cie0
-rwxr-xr-x[-rw-r--r--]ref/ColorChecker.ti20
-rwxr-xr-x[-rw-r--r--]ref/ColorCheckerDC.cht0
-rwxr-xr-x[-rw-r--r--]ref/ColorCheckerDC.ti20
-rwxr-xr-x[-rw-r--r--]ref/ColorCheckerPassport.cht0
-rwxr-xr-x[-rw-r--r--]ref/ColorCheckerPassport.cie0
-rwxr-xr-x[-rw-r--r--]ref/ColorCheckerSG.cht0
-rwxr-xr-x[-rw-r--r--]ref/ColorCheckerSG.ti20
-rwxr-xr-x[-rw-r--r--]ref/D50_0.0.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_0.1.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_0.3.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_0.5.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_0.7.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_1.0.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_1.2.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_1.5.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_1.7.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_2.0.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_2.5.sp0
-rwxr-xr-x[-rw-r--r--]ref/D50_3.0.sp0
-rwxr-xr-x[-rw-r--r--]ref/EBU3213_PAL.icmbin9176 -> 9176 bytes
-rwxr-xr-x[-rw-r--r--]ref/ECI2002.ti20
-rwxr-xr-x[-rw-r--r--]ref/ECI2002R.ti20
-rwxr-xr-x[-rw-r--r--]ref/F1.sp0
-rwxr-xr-x[-rw-r--r--]ref/F5.sp0
-rwxr-xr-x[-rw-r--r--]ref/F8.sp0
-rwxr-xr-x[-rw-r--r--]ref/FograStrip2.ti10
-rwxr-xr-x[-rw-r--r--]ref/FograStrip2_2.ti20
-rwxr-xr-x[-rw-r--r--]ref/FograStrip3.ti10
-rwxr-xr-x[-rw-r--r--]ref/FograStrip3_3.ti20
-rwxr-xr-x[-rw-r--r--]ref/GTIPlus.sp0
-rwxr-xr-x[-rw-r--r--]ref/Hutchcolor.cht0
-rwxr-xr-x[-rw-r--r--]ref/LaserSoftDCPro.cht0
-rwxr-xr-x[-rw-r--r--]ref/License.txt0
-rwxr-xr-x[-rw-r--r--]ref/Office.sp0
-rwxr-xr-x[-rw-r--r--]ref/ProPhoto.icmbin2948 -> 2948 bytes
-rwxr-xr-x[-rw-r--r--]ref/ProPhotoLin.icmbin2956 -> 2956 bytes
-rwxr-xr-x[-rw-r--r--]ref/QPcard_201.cht0
-rwxr-xr-x[-rw-r--r--]ref/QPcard_201.cie0
-rwxr-xr-x[-rw-r--r--]ref/QPcard_202.cht0
-rwxr-xr-x[-rw-r--r--]ref/QPcard_202.cie0
-rwxr-xr-x[-rw-r--r--]ref/ReadMe.txt0
-rwxr-xr-x[-rw-r--r--]ref/Rec2020.icmbin9120 -> 9120 bytes
-rwxr-xr-x[-rw-r--r--]ref/Rec709.icmbin2976 -> 2976 bytes
-rwxr-xr-x[-rw-r--r--]ref/SMPTE431_P3.icmbin928 -> 928 bytes
-rwxr-xr-x[-rw-r--r--]ref/SMPTE_RP145_NTSC.icmbin9156 -> 9156 bytes
-rwxr-xr-x[-rw-r--r--]ref/SOtele.sp0
-rwxr-xr-x[-rw-r--r--]ref/SpyderChecker.cht0
-rwxr-xr-x[-rw-r--r--]ref/SpyderChecker.cie0
-rwxr-xr-x[-rw-r--r--]ref/Trulux.sp0
-rwxr-xr-x[-rw-r--r--]ref/TruluxPlus.sp0
-rwxr-xr-x[-rw-r--r--]ref/afiles0
-rwxr-xr-x[-rw-r--r--]ref/ccxx.ti10
-rwxr-xr-x[-rw-r--r--]ref/cmyk.icmbin961644 -> 961644 bytes
-rwxr-xr-x[-rw-r--r--]ref/example.sp0
-rwxr-xr-x[-rw-r--r--]ref/example121.sp0
-rwxr-xr-x[-rw-r--r--]ref/i1_RGB_Scan_1.4.cht0
-rwxr-xr-x[-rw-r--r--]ref/i1_RGB_Scan_1.4.ti20
-rwxr-xr-x[-rw-r--r--]ref/it8.cht0
-rwxr-xr-x[-rw-r--r--]ref/lab2lab.icmbin556 -> 556 bytes
-rwxr-xr-x[-rw-r--r--]ref/linear.cal11
-rwxr-xr-x[-rw-r--r--]ref/sRGB.icmbin3268 -> 3268 bytes
-rwxr-xr-x[-rw-r--r--]ref/strange.cal47
-rwxr-xr-x[-rw-r--r--]render/Jamfile11
-rwxr-xr-x[-rw-r--r--]render/License.txt0
-rwxr-xr-x[-rw-r--r--]render/Readme.txt0
-rwxr-xr-x[-rw-r--r--]render/afiles0
-rwxr-xr-x[-rw-r--r--]render/makecharts.ksh0
-rwxr-xr-x[-rw-r--r--]render/render.c527
-rwxr-xr-x[-rw-r--r--]render/render.h99
-rwxr-xr-x[-rw-r--r--]render/screens.h0
-rwxr-xr-x[-rw-r--r--]render/thscreen.c14
-rwxr-xr-x[-rw-r--r--]render/thscreen.h6
-rwxr-xr-x[-rw-r--r--]render/timage.c45
-rwxr-xr-x[-rw-r--r--]rspl/c1.c0
-rwxr-xr-x[-rw-r--r--]rspl/c1df.c0
-rwxr-xr-x[-rw-r--r--]rspl/cw1.c0
-rwxr-xr-x[-rw-r--r--]rspl/cw3.c0
-rwxr-xr-x[-rw-r--r--]rspl/gam.c0
-rwxr-xr-x[-rw-r--r--]rspl/gam.h0
-rwxr-xr-x[-rw-r--r--]rspl/mlbs.c0
-rwxr-xr-x[-rw-r--r--]rspl/mlbs.h0
-rwxr-xr-x[-rw-r--r--]rspl/opt.c0
-rwxr-xr-x[-rw-r--r--]rspl/rev.c0
-rwxr-xr-x[-rw-r--r--]rspl/rev.h0
-rwxr-xr-x[-rw-r--r--]rspl/revbench.c0
-rwxr-xr-x[-rw-r--r--]rspl/rspl.c0
-rwxr-xr-x[-rw-r--r--]rspl/rspl.h0
-rwxr-xr-x[-rw-r--r--]rspl/rspl1.c0
-rwxr-xr-x[-rw-r--r--]rspl/rspl1.h0
-rwxr-xr-x[-rw-r--r--]rspl/rspl_imp.h0
-rwxr-xr-x[-rw-r--r--]rspl/scat.c0
-rwxr-xr-x[-rw-r--r--]rspl/scat2.c0
-rwxr-xr-x[-rw-r--r--]rspl/sm1.c0
-rwxr-xr-x[-rw-r--r--]rspl/sm2.c0
-rwxr-xr-x[-rw-r--r--]rspl/sm3.c0
-rwxr-xr-x[-rw-r--r--]rspl/smtmpp.c0
-rwxr-xr-x[-rw-r--r--]rspl/smtnd.c0
-rwxr-xr-x[-rw-r--r--]rspl/spline.c0
-rwxr-xr-x[-rw-r--r--]rspl/stest.c0
-rwxr-xr-x[-rw-r--r--]rspl/t2d.c0
-rwxr-xr-x[-rw-r--r--]rspl/t2ddf.c0
-rwxr-xr-x[-rw-r--r--]rspl/t3d.c0
-rwxr-xr-x[-rw-r--r--]rspl/t3ddf.c0
-rwxr-xr-x[-rw-r--r--]rspl/tnd.c0
-rwxr-xr-x[-rw-r--r--]rspl/trnd.c0
-rwxr-xr-x[-rw-r--r--]scanin/CMP_DT_003.cht0
-rwxr-xr-x[-rw-r--r--]scanin/CMP_Digital_Target-4.cht0
-rwxr-xr-x[-rw-r--r--]scanin/CMP_Digital_Target-4.cie0
-rwxr-xr-x[-rw-r--r--]scanin/CMP_Digital_Target-4.ti20
-rwxr-xr-x[-rw-r--r--]scanin/ColorChecker.cht0
-rwxr-xr-x[-rw-r--r--]scanin/ColorChecker.cie0
-rwxr-xr-x[-rw-r--r--]scanin/ColorCheckerDC.cht0
-rwxr-xr-x[-rw-r--r--]scanin/ColorCheckerDC.ti20
-rwxr-xr-x[-rw-r--r--]scanin/ColorCheckerPassport.cht102
-rwxr-xr-x[-rw-r--r--]scanin/ColorCheckerPassport.cie0
-rwxr-xr-x[-rw-r--r--]scanin/ColorCheckerSG.cht0
-rwxr-xr-x[-rw-r--r--]scanin/ColorCheckerSG.ti20
-rwxr-xr-x[-rw-r--r--]scanin/Hutchcolor.cht0
-rwxr-xr-x[-rw-r--r--]scanin/Jamfile0
-rwxr-xr-x[-rw-r--r--]scanin/LaserSoftDCPro.cht0
-rwxr-xr-x[-rw-r--r--]scanin/License.txt0
-rwxr-xr-x[-rw-r--r--]scanin/QPcard_201.cht0
-rwxr-xr-x[-rw-r--r--]scanin/QPcard_201.cie0
-rwxr-xr-x[-rw-r--r--]scanin/QPcard_202.cht0
-rwxr-xr-x[-rw-r--r--]scanin/QPcard_202.cie0
-rwxr-xr-x[-rw-r--r--]scanin/Readme.txt0
-rwxr-xr-x[-rw-r--r--]scanin/SpyderChecker.cht0
-rwxr-xr-x[-rw-r--r--]scanin/SpyderChecker.cie0
-rwxr-xr-x[-rw-r--r--]scanin/afiles0
-rwxr-xr-x[-rw-r--r--]scanin/i1_RGB_Scan_1.4.cht0
-rwxr-xr-x[-rw-r--r--]scanin/it8.cht0
-rwxr-xr-x[-rw-r--r--]scanin/scanin.c0
-rwxr-xr-x[-rw-r--r--]scanin/scanrd.c2
-rwxr-xr-x[-rw-r--r--]scanin/scanrd.h0
-rwxr-xr-x[-rw-r--r--]scanin/scanrd_.h0
-rwxr-xr-x[-rw-r--r--]spectro/IntsLib_Readme.txt0
-rwxr-xr-x[-rw-r--r--]spectro/Jamfile49
-rwxr-xr-x[-rw-r--r--]spectro/License.txt0
-rwxr-xr-x[-rw-r--r--]spectro/License2.txt0
-rwxr-xr-x[-rw-r--r--]spectro/License3.txt0
-rwxr-xr-x[-rw-r--r--]spectro/LzmaDec.c0
-rwxr-xr-x[-rw-r--r--]spectro/LzmaDec.h0
-rwxr-xr-x[-rw-r--r--]spectro/LzmaTypes.h0
-rwxr-xr-x[-rw-r--r--]spectro/Makefile.OSX0
-rwxr-xr-x[-rw-r--r--]spectro/Makefile.SA0
-rwxr-xr-x[-rw-r--r--]spectro/Makefile.UNIX0
-rwxr-xr-x[-rw-r--r--]spectro/Makefile.WNT0
-rwxr-xr-x[-rw-r--r--]spectro/Readme.txt0
-rwxr-xr-x[-rw-r--r--]spectro/SOtele.sp0
-rwxr-xr-x[-rw-r--r--]spectro/afiles5
-rwxr-xr-x[-rw-r--r--]spectro/aglob.c28
-rwxr-xr-x[-rw-r--r--]spectro/aglob.h4
-rwxr-xr-x[-rw-r--r--]spectro/average.c0
-rwxr-xr-x[-rw-r--r--]spectro/base64.c0
-rwxr-xr-x[-rw-r--r--]spectro/base64.h0
-rwxr-xr-x[-rw-r--r--]spectro/ccwin.c319
-rwxr-xr-x[-rw-r--r--]spectro/ccwin.h3
-rwxr-xr-x[-rw-r--r--]spectro/ccxx.ti10
-rwxr-xr-x[-rw-r--r--]spectro/ccxxmake.c35
-rwxr-xr-x[-rw-r--r--]spectro/chartread.c12
-rwxr-xr-x[-rw-r--r--]spectro/colorhug.c2
-rwxr-xr-x[-rw-r--r--]spectro/colorhug.h0
-rwxr-xr-x[-rw-r--r--]spectro/conv.c32
-rwxr-xr-x[-rw-r--r--]spectro/conv.h6
-rwxr-xr-xspectro/cubecal.h5554
-rwxr-xr-x[-rw-r--r--]spectro/dispcal.c55
-rwxr-xr-x[-rw-r--r--]spectro/dispread.c42
-rwxr-xr-x[-rw-r--r--]spectro/dispsup.c270
-rwxr-xr-x[-rw-r--r--]spectro/dispsup.h10
-rwxr-xr-x[-rw-r--r--]spectro/disptechs.c128
-rwxr-xr-x[-rw-r--r--]spectro/disptechs.h3
-rwxr-xr-x[-rw-r--r--]spectro/dispwin.c45
-rwxr-xr-x[-rw-r--r--]spectro/dispwin.h30
-rwxr-xr-x[-rw-r--r--]spectro/dtp20.c4
-rwxr-xr-x[-rw-r--r--]spectro/dtp20.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp22.c6
-rwxr-xr-x[-rw-r--r--]spectro/dtp22.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp41.c12
-rwxr-xr-x[-rw-r--r--]spectro/dtp41.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp51.c7
-rwxr-xr-x[-rw-r--r--]spectro/dtp51.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp92.c10
-rwxr-xr-x[-rw-r--r--]spectro/dtp92.h0
-rwxr-xr-x[-rw-r--r--]spectro/ex1.c2902
-rwxr-xr-x[-rw-r--r--]spectro/ex1.h108
-rwxr-xr-x[-rw-r--r--]spectro/fakeread.c11
-rwxr-xr-x[-rw-r--r--]spectro/hcfr.c4
-rwxr-xr-x[-rw-r--r--]spectro/hcfr.h0
-rwxr-xr-x[-rw-r--r--]spectro/hidio.c0
-rwxr-xr-x[-rw-r--r--]spectro/hidio.h0
-rwxr-xr-x[-rw-r--r--]spectro/huey.c2
-rwxr-xr-x[-rw-r--r--]spectro/huey.h0
-rwxr-xr-x[-rw-r--r--]spectro/i1d3.c16
-rwxr-xr-x[-rw-r--r--]spectro/i1d3.h0
-rwxr-xr-x[-rw-r--r--]spectro/i1disp.c8
-rwxr-xr-x[-rw-r--r--]spectro/i1disp.h0
-rwxr-xr-x[-rw-r--r--]spectro/i1pro.c4
-rwxr-xr-x[-rw-r--r--]spectro/i1pro.h0
-rwxr-xr-x[-rw-r--r--]spectro/i1pro_imp.c108
-rwxr-xr-x[-rw-r--r--]spectro/i1pro_imp.h0
-rwxr-xr-x[-rw-r--r--]spectro/icoms.c30
-rwxr-xr-x[-rw-r--r--]spectro/icoms.h46
-rwxr-xr-x[-rw-r--r--]spectro/icoms_nt.c369
-rwxr-xr-x[-rw-r--r--]spectro/icoms_ux.c163
-rwxr-xr-x[-rw-r--r--]spectro/ifiles2
-rwxr-xr-x[-rw-r--r--]spectro/illumread.c0
-rwxr-xr-x[-rw-r--r--]spectro/inflate.c0
-rwxr-xr-x[-rw-r--r--]spectro/inst.c191
-rwxr-xr-x[-rw-r--r--]spectro/inst.h81
-rwxr-xr-x[-rw-r--r--]spectro/instappsup.c57
-rwxr-xr-x[-rw-r--r--]spectro/instappsup.h0
-rwxr-xr-x[-rw-r--r--]spectro/instlib.ksh0
-rwxr-xr-x[-rw-r--r--]spectro/instlib.txt0
-rwxr-xr-x[-rw-r--r--]spectro/insttypeinst.h1
-rwxr-xr-x[-rw-r--r--]spectro/insttypes.c9
-rwxr-xr-x[-rw-r--r--]spectro/insttypes.h13
-rwxr-xr-x[-rw-r--r--]spectro/iusb.h0
-rwxr-xr-x[-rw-r--r--]spectro/kleink10.c4
-rwxr-xr-x[-rw-r--r--]spectro/kleink10.h0
-rwxr-xr-x[-rw-r--r--]spectro/linear.cal11
-rwxr-xr-x[-rw-r--r--]spectro/linear.sp0
-rwxr-xr-x[-rw-r--r--]spectro/madvrwin.c31
-rwxr-xr-x[-rw-r--r--]spectro/madvrwin.h2
-rwxr-xr-x[-rw-r--r--]spectro/mongoose.c0
-rwxr-xr-x[-rw-r--r--]spectro/mongoose.h0
-rwxr-xr-x[-rw-r--r--]spectro/munki.c2
-rwxr-xr-x[-rw-r--r--]spectro/munki.h0
-rwxr-xr-x[-rw-r--r--]spectro/munki_imp.c40
-rwxr-xr-x[-rw-r--r--]spectro/munki_imp.h0
-rwxr-xr-x[-rw-r--r--]spectro/oemarch.c4
-rwxr-xr-x[-rw-r--r--]spectro/oemarch.h0
-rwxr-xr-x[-rw-r--r--]spectro/oeminst.c0
-rwxr-xr-x[-rw-r--r--]spectro/pollem.c0
-rwxr-xr-x[-rw-r--r--]spectro/pollem.h0
-rwxr-xr-xspectro/rspec.c1258
-rwxr-xr-xspectro/rspec.h265
-rwxr-xr-xspectro/smcube.c2187
-rwxr-xr-xspectro/smcube.h119
-rwxr-xr-x[-rw-r--r--]spectro/spec2cie.c103
-rwxr-xr-x[-rw-r--r--]spectro/specbos.c45
-rwxr-xr-x[-rw-r--r--]spectro/specbos.h1
-rwxr-xr-x[-rw-r--r--]spectro/spotread.c83
-rwxr-xr-x[-rw-r--r--]spectro/spyd2.c100
-rwxr-xr-x[-rw-r--r--]spectro/spyd2.h0
-rwxr-xr-x[-rw-r--r--]spectro/ss.c7
-rwxr-xr-x[-rw-r--r--]spectro/ss.h0
-rwxr-xr-x[-rw-r--r--]spectro/ss_imp.c0
-rwxr-xr-x[-rw-r--r--]spectro/ss_imp.h0
-rwxr-xr-x[-rw-r--r--]spectro/strange.cal47
-rwxr-xr-x[-rw-r--r--]spectro/synthcal.c0
-rwxr-xr-x[-rw-r--r--]spectro/synthread.c0
-rwxr-xr-x[-rw-r--r--]spectro/usbio.c47
-rwxr-xr-x[-rw-r--r--]spectro/usbio.h0
-rwxr-xr-x[-rw-r--r--]spectro/usbio_bsd.c0
-rwxr-xr-x[-rw-r--r--]spectro/usbio_lx.c20
-rwxr-xr-x[-rw-r--r--]spectro/usbio_nt.c2
-rwxr-xr-x[-rw-r--r--]spectro/usbio_ox.c12
-rwxr-xr-x[-rw-r--r--]spectro/vinflate.c0
-rwxr-xr-x[-rw-r--r--]spectro/webwin.c22
-rwxr-xr-x[-rw-r--r--]spectro/webwin.h2
-rwxr-xr-x[-rw-r--r--]spectro/xdg_bds.c0
-rwxr-xr-x[-rw-r--r--]spectro/xdg_bds.h0
-rwxr-xr-x[-rw-r--r--]target/ColorChecker.ti20
-rwxr-xr-x[-rw-r--r--]target/ECI2002.ti20
-rwxr-xr-x[-rw-r--r--]target/ECI2002R.ti20
-rwxr-xr-x[-rw-r--r--]target/FograStrip2.ti10
-rwxr-xr-x[-rw-r--r--]target/FograStrip2_2.ti20
-rwxr-xr-x[-rw-r--r--]target/FograStrip3.ti10
-rwxr-xr-x[-rw-r--r--]target/FograStrip3_3.ti20
-rwxr-xr-x[-rw-r--r--]target/Jamfile0
-rwxr-xr-x[-rw-r--r--]target/License.txt0
-rwxr-xr-x[-rw-r--r--]target/Readme.txt0
-rwxr-xr-x[-rw-r--r--]target/afiles0
-rwxr-xr-x[-rw-r--r--]target/alphix.c0
-rwxr-xr-x[-rw-r--r--]target/alphix.h0
-rwxr-xr-x[-rw-r--r--]target/filmtarg.c0
-rwxr-xr-x[-rw-r--r--]target/i1_RGB_Scan_1.4.ti20
-rwxr-xr-x[-rw-r--r--]target/ifarp.c0
-rwxr-xr-x[-rw-r--r--]target/ifarp.h0
-rwxr-xr-x[-rw-r--r--]target/ofps.c0
-rwxr-xr-x[-rw-r--r--]target/ofps.h0
-rwxr-xr-x[-rw-r--r--]target/ppoint.c0
-rwxr-xr-x[-rw-r--r--]target/ppoint.h0
-rwxr-xr-x[-rw-r--r--]target/prand.c0
-rwxr-xr-x[-rw-r--r--]target/prand.h0
-rwxr-xr-x[-rw-r--r--]target/printtarg.c2
-rwxr-xr-x[-rw-r--r--]target/randix.c0
-rwxr-xr-x[-rw-r--r--]target/randix.h0
-rwxr-xr-x[-rw-r--r--]target/simdlat.c0
-rwxr-xr-x[-rw-r--r--]target/simdlat.h0
-rwxr-xr-x[-rw-r--r--]target/simplat.c0
-rwxr-xr-x[-rw-r--r--]target/simplat.h0
-rwxr-xr-x[-rw-r--r--]target/targen.c0
-rwxr-xr-x[-rw-r--r--]target/targen.h0
-rw-r--r--tiff/COPYRIGHT21
-rw-r--r--tiff/ChangeLog4590
-rw-r--r--tiff/HOWTO-RELEASE105
-rw-r--r--tiff/Jamfile73
-rw-r--r--tiff/Makefile.am56
-rw-r--r--tiff/Makefile.in842
-rw-r--r--tiff/Makefile.vc65
-rw-r--r--tiff/README59
-rw-r--r--tiff/README.vms12
-rw-r--r--tiff/RELEASE-DATE1
-rw-r--r--tiff/SConstruct171
-rw-r--r--tiff/TODO12
-rw-r--r--tiff/VERSION1
-rw-r--r--tiff/aclocal.m41059
-rw-r--r--tiff/afiles448
-rw-r--r--tiff/autogen.sh8
-rw-r--r--tiff/build/Makefile.am31
-rw-r--r--tiff/build/Makefile.in625
-rw-r--r--tiff/build/README3
-rw-r--r--tiff/config/compile142
-rw-r--r--tiff/config/config.guess1516
-rw-r--r--tiff/config/config.sub1622
-rw-r--r--tiff/config/depcomp530
-rw-r--r--tiff/config/install-sh401
-rw-r--r--tiff/config/ltmain.sh8745
-rw-r--r--tiff/config/missing360
-rw-r--r--tiff/config/mkinstalldirs158
-rw-r--r--tiff/configure21416
-rw-r--r--tiff/configure.ac703
-rw-r--r--tiff/configure.com1345
-rw-r--r--tiff/contrib/Makefile.am29
-rw-r--r--tiff/contrib/Makefile.in623
-rw-r--r--tiff/contrib/README2
-rw-r--r--tiff/contrib/acorn/Makefile.acorn165
-rw-r--r--tiff/contrib/acorn/Makefile.am28
-rw-r--r--tiff/contrib/acorn/Makefile.in421
-rw-r--r--tiff/contrib/acorn/ReadMe79
-rw-r--r--tiff/contrib/acorn/SetVars3
-rw-r--r--tiff/contrib/acorn/cleanlib5
-rw-r--r--tiff/contrib/acorn/convert175
-rw-r--r--tiff/contrib/acorn/install128
-rw-r--r--tiff/contrib/addtiffo/Makefile.am36
-rw-r--r--tiff/contrib/addtiffo/Makefile.in556
-rw-r--r--tiff/contrib/addtiffo/Makefile.vc28
-rw-r--r--tiff/contrib/addtiffo/README142
-rw-r--r--tiff/contrib/addtiffo/addtiffo.c176
-rw-r--r--tiff/contrib/addtiffo/tif_overview.c896
-rw-r--r--tiff/contrib/addtiffo/tif_ovrcache.c341
-rw-r--r--tiff/contrib/addtiffo/tif_ovrcache.h108
-rw-r--r--tiff/contrib/dbs/Makefile.am43
-rw-r--r--tiff/contrib/dbs/Makefile.in737
-rw-r--r--tiff/contrib/dbs/README7
-rw-r--r--tiff/contrib/dbs/tiff-bi.c91
-rw-r--r--tiff/contrib/dbs/tiff-grayscale.c146
-rw-r--r--tiff/contrib/dbs/tiff-palette.c283
-rw-r--r--tiff/contrib/dbs/tiff-rgb.c201
-rw-r--r--tiff/contrib/dbs/xtiff/Makefile.am43
-rw-r--r--tiff/contrib/dbs/xtiff/Makefile.in436
-rw-r--r--tiff/contrib/dbs/xtiff/README6
-rw-r--r--tiff/contrib/dbs/xtiff/patchlevel.h8
-rw-r--r--tiff/contrib/dbs/xtiff/xtiff.c1290
-rw-r--r--tiff/contrib/dbs/xtiff/xtifficon.h21
-rw-r--r--tiff/contrib/iptcutil/Makefile.am36
-rw-r--r--tiff/contrib/iptcutil/Makefile.in553
-rw-r--r--tiff/contrib/iptcutil/README25
-rw-r--r--tiff/contrib/iptcutil/iptcutil.c941
-rw-r--r--tiff/contrib/iptcutil/test.iptcbin1107 -> 0 bytes
-rw-r--r--tiff/contrib/iptcutil/test.txt32
-rw-r--r--tiff/contrib/mac-cw/Makefile.am27
-rw-r--r--tiff/contrib/mac-cw/Makefile.in420
-rw-r--r--tiff/contrib/mac-cw/Makefile.script72
-rw-r--r--tiff/contrib/mac-cw/README18
-rw-r--r--tiff/contrib/mac-cw/mac_main.c27
-rw-r--r--tiff/contrib/mac-cw/mac_main.h19
-rw-r--r--tiff/contrib/mac-cw/metrowerks.note84
-rw-r--r--tiff/contrib/mac-cw/mkg3_main.c21
-rw-r--r--tiff/contrib/mac-cw/version.h11
-rw-r--r--tiff/contrib/mac-mpw/BUILD.mpw47
-rw-r--r--tiff/contrib/mac-mpw/Makefile.am27
-rw-r--r--tiff/contrib/mac-mpw/Makefile.in420
-rw-r--r--tiff/contrib/mac-mpw/README20
-rw-r--r--tiff/contrib/mac-mpw/libtiff.make202
-rw-r--r--tiff/contrib/mac-mpw/mactrans.c63
-rw-r--r--tiff/contrib/mac-mpw/port.make53
-rw-r--r--tiff/contrib/mac-mpw/tools.make138
-rw-r--r--tiff/contrib/mac-mpw/top.make133
-rw-r--r--tiff/contrib/mfs/Makefile.am28
-rw-r--r--tiff/contrib/mfs/Makefile.in421
-rw-r--r--tiff/contrib/mfs/README37
-rw-r--r--tiff/contrib/mfs/mfs_file.c586
-rw-r--r--tiff/contrib/pds/Makefile.am28
-rw-r--r--tiff/contrib/pds/Makefile.in421
-rw-r--r--tiff/contrib/pds/README90
-rw-r--r--tiff/contrib/pds/tif_imageiter.c525
-rw-r--r--tiff/contrib/pds/tif_imageiter.h64
-rw-r--r--tiff/contrib/pds/tif_pdsdirread.c1131
-rw-r--r--tiff/contrib/pds/tif_pdsdirwrite.c971
-rw-r--r--tiff/contrib/ras/Makefile.am28
-rw-r--r--tiff/contrib/ras/Makefile.in421
-rw-r--r--tiff/contrib/ras/README10
-rw-r--r--tiff/contrib/ras/ras2tif.c254
-rw-r--r--tiff/contrib/ras/tif2ras.c344
-rw-r--r--tiff/contrib/stream/Makefile.am28
-rw-r--r--tiff/contrib/stream/Makefile.in421
-rw-r--r--tiff/contrib/stream/README30
-rw-r--r--tiff/contrib/stream/tiffstream.cpp238
-rw-r--r--tiff/contrib/stream/tiffstream.h69
-rw-r--r--tiff/contrib/tags/Makefile.am28
-rw-r--r--tiff/contrib/tags/Makefile.in421
-rw-r--r--tiff/contrib/tags/README132
-rw-r--r--tiff/contrib/tags/listtif.c39
-rw-r--r--tiff/contrib/tags/maketif.c77
-rw-r--r--tiff/contrib/tags/xtif_dir.c350
-rw-r--r--tiff/contrib/tags/xtiffio.h59
-rw-r--r--tiff/contrib/tags/xtiffiop.h72
-rw-r--r--tiff/contrib/win_dib/Makefile.am28
-rw-r--r--tiff/contrib/win_dib/Makefile.in421
-rw-r--r--tiff/contrib/win_dib/Makefile.w95134
-rw-r--r--tiff/contrib/win_dib/README.Tiffile31
-rw-r--r--tiff/contrib/win_dib/README.tiff2dib51
-rw-r--r--tiff/contrib/win_dib/Tiffile.cpp449
-rw-r--r--tiff/contrib/win_dib/tiff2dib.c379
-rw-r--r--tiff/html/Makefile.am84
-rw-r--r--tiff/html/Makefile.in725
-rw-r--r--tiff/html/TIFFTechNote2.html707
-rw-r--r--tiff/html/addingtags.html292
-rw-r--r--tiff/html/bugs.html63
-rw-r--r--tiff/html/build.html880
-rw-r--r--tiff/html/contrib.html209
-rw-r--r--tiff/html/document.html48
-rw-r--r--tiff/html/images.html41
-rw-r--r--tiff/html/images/Makefile.am46
-rw-r--r--tiff/html/images/Makefile.in487
-rw-r--r--tiff/html/images/back.gifbin1000 -> 0 bytes
-rw-r--r--tiff/html/images/bali.jpgbin26152 -> 0 bytes
-rw-r--r--tiff/html/images/cat.gifbin12477 -> 0 bytes
-rw-r--r--tiff/html/images/cover.jpgbin20189 -> 0 bytes
-rw-r--r--tiff/html/images/cramps.gifbin13137 -> 0 bytes
-rw-r--r--tiff/html/images/dave.gifbin8220 -> 0 bytes
-rw-r--r--tiff/html/images/info.gifbin131 -> 0 bytes
-rw-r--r--tiff/html/images/jello.jpgbin13744 -> 0 bytes
-rw-r--r--tiff/html/images/jim.gifbin14493 -> 0 bytes
-rw-r--r--tiff/html/images/note.gifbin264 -> 0 bytes
-rw-r--r--tiff/html/images/oxford.gifbin6069 -> 0 bytes
-rw-r--r--tiff/html/images/quad.jpgbin23904 -> 0 bytes
-rw-r--r--tiff/html/images/ring.gifbin4275 -> 0 bytes
-rw-r--r--tiff/html/images/smallliz.jpgbin16463 -> 0 bytes
-rw-r--r--tiff/html/images/strike.gifbin5610 -> 0 bytes
-rw-r--r--tiff/html/images/warning.gifbin287 -> 0 bytes
-rw-r--r--tiff/html/index.html123
-rw-r--r--tiff/html/internals.html572
-rw-r--r--tiff/html/intro.html68
-rw-r--r--tiff/html/libtiff.html747
-rw-r--r--tiff/html/man/Makefile.am119
-rw-r--r--tiff/html/man/Makefile.in556
-rw-r--r--tiff/html/man/TIFFClose.3tiff.html87
-rw-r--r--tiff/html/man/TIFFDataWidth.3tiff.html98
-rw-r--r--tiff/html/man/TIFFError.3tiff.html106
-rw-r--r--tiff/html/man/TIFFFlush.3tiff.html113
-rw-r--r--tiff/html/man/TIFFGetField.3tiff.html1446
-rw-r--r--tiff/html/man/TIFFOpen.3tiff.html421
-rw-r--r--tiff/html/man/TIFFPrintDirectory.3tiff.html225
-rw-r--r--tiff/html/man/TIFFRGBAImage.3tiff.html319
-rw-r--r--tiff/html/man/TIFFReadDirectory.3tiff.html218
-rw-r--r--tiff/html/man/TIFFReadEncodedStrip.3tiff.html133
-rw-r--r--tiff/html/man/TIFFReadEncodedTile.3tiff.html130
-rw-r--r--tiff/html/man/TIFFReadRGBAImage.3tiff.html301
-rw-r--r--tiff/html/man/TIFFReadRGBAStrip.3tiff.html208
-rw-r--r--tiff/html/man/TIFFReadRGBATile.3tiff.html261
-rw-r--r--tiff/html/man/TIFFReadRawStrip.3tiff.html109
-rw-r--r--tiff/html/man/TIFFReadRawTile.3tiff.html111
-rw-r--r--tiff/html/man/TIFFReadScanline.3tiff.html157
-rw-r--r--tiff/html/man/TIFFReadTile.3tiff.html133
-rw-r--r--tiff/html/man/TIFFSetDirectory.3tiff.html122
-rw-r--r--tiff/html/man/TIFFSetField.3tiff.html1362
-rw-r--r--tiff/html/man/TIFFWarning.3tiff.html108
-rw-r--r--tiff/html/man/TIFFWriteDirectory.3tiff.html176
-rw-r--r--tiff/html/man/TIFFWriteEncodedStrip.3tiff.html153
-rw-r--r--tiff/html/man/TIFFWriteEncodedTile.3tiff.html147
-rw-r--r--tiff/html/man/TIFFWriteRawStrip.3tiff.html144
-rw-r--r--tiff/html/man/TIFFWriteRawTile.3tiff.html128
-rw-r--r--tiff/html/man/TIFFWriteScanline.3tiff.html206
-rw-r--r--tiff/html/man/TIFFWriteTile.3tiff.html115
-rw-r--r--tiff/html/man/TIFFbuffer.3tiff.html116
-rw-r--r--tiff/html/man/TIFFcodec.3tiff.html116
-rw-r--r--tiff/html/man/TIFFcolor.3tiff.html975
-rw-r--r--tiff/html/man/TIFFmemory.3tiff.html110
-rw-r--r--tiff/html/man/TIFFquery.3tiff.html148
-rw-r--r--tiff/html/man/TIFFsize.3tiff.html95
-rw-r--r--tiff/html/man/TIFFstrip.3tiff.html129
-rw-r--r--tiff/html/man/TIFFswab.3tiff.html110
-rw-r--r--tiff/html/man/TIFFtile.3tiff.html141
-rw-r--r--tiff/html/man/fax2ps.1.html252
-rw-r--r--tiff/html/man/fax2tiff.1.html607
-rw-r--r--tiff/html/man/gif2tiff.1.html141
-rw-r--r--tiff/html/man/index.html64
-rw-r--r--tiff/html/man/libtiff.3tiff.html3137
-rw-r--r--tiff/html/man/pal2rgb.1.html189
-rw-r--r--tiff/html/man/ppm2tiff.1.html141
-rw-r--r--tiff/html/man/ras2tiff.1.html139
-rw-r--r--tiff/html/man/raw2tiff.1.html510
-rw-r--r--tiff/html/man/rgb2ycbcr.1.html155
-rw-r--r--tiff/html/man/sgi2tiff.1.html147
-rw-r--r--tiff/html/man/thumbnail.1.html148
-rw-r--r--tiff/html/man/tiff2bw.1.html161
-rw-r--r--tiff/html/man/tiff2pdf.1.html609
-rw-r--r--tiff/html/man/tiff2ps.1.html532
-rw-r--r--tiff/html/man/tiff2rgba.1.html162
-rw-r--r--tiff/html/man/tiffcmp.1.html156
-rw-r--r--tiff/html/man/tiffcp.1.html536
-rw-r--r--tiff/html/man/tiffcrop.1.html851
-rw-r--r--tiff/html/man/tiffdither.1.html183
-rw-r--r--tiff/html/man/tiffdump.1.html145
-rw-r--r--tiff/html/man/tiffgt.1.html551
-rw-r--r--tiff/html/man/tiffinfo.1.html196
-rw-r--r--tiff/html/man/tiffmedian.1.html183
-rw-r--r--tiff/html/man/tiffset.1.html176
-rw-r--r--tiff/html/man/tiffsplit.1.html102
-rw-r--r--tiff/html/man/tiffsv.1.html207
-rw-r--r--tiff/html/misc.html116
-rw-r--r--tiff/html/support.html655
-rw-r--r--tiff/html/tools.html164
-rw-r--r--tiff/html/v3.4beta007.html112
-rw-r--r--tiff/html/v3.4beta016.html122
-rw-r--r--tiff/html/v3.4beta018.html84
-rw-r--r--tiff/html/v3.4beta024.html139
-rw-r--r--tiff/html/v3.4beta028.html146
-rw-r--r--tiff/html/v3.4beta029.html86
-rw-r--r--tiff/html/v3.4beta031.html94
-rw-r--r--tiff/html/v3.4beta032.html90
-rw-r--r--tiff/html/v3.4beta033.html82
-rw-r--r--tiff/html/v3.4beta034.html68
-rw-r--r--tiff/html/v3.4beta035.html63
-rw-r--r--tiff/html/v3.4beta036.html117
-rw-r--r--tiff/html/v3.5.1.html75
-rw-r--r--tiff/html/v3.5.2.html108
-rw-r--r--tiff/html/v3.5.3.html132
-rw-r--r--tiff/html/v3.5.4.html88
-rw-r--r--tiff/html/v3.5.5.html155
-rw-r--r--tiff/html/v3.5.6-beta.html185
-rw-r--r--tiff/html/v3.5.7.html259
-rw-r--r--tiff/html/v3.6.0.html434
-rw-r--r--tiff/html/v3.6.1.html199
-rw-r--r--tiff/html/v3.7.0.html144
-rw-r--r--tiff/html/v3.7.0alpha.html249
-rw-r--r--tiff/html/v3.7.0beta.html162
-rw-r--r--tiff/html/v3.7.0beta2.html131
-rw-r--r--tiff/html/v3.7.1.html233
-rw-r--r--tiff/html/v3.7.2.html222
-rw-r--r--tiff/html/v3.7.3.html230
-rw-r--r--tiff/html/v3.7.4.html133
-rw-r--r--tiff/html/v3.8.0.html199
-rw-r--r--tiff/html/v3.8.1.html217
-rw-r--r--tiff/html/v3.8.2.html137
-rw-r--r--tiff/html/v3.9.0beta.html304
-rw-r--r--tiff/html/v3.9.1.html115
-rw-r--r--tiff/html/v3.9.2.html122
-rw-r--r--tiff/libtiff/Makefile.am143
-rw-r--r--tiff/libtiff/Makefile.in887
-rw-r--r--tiff/libtiff/Makefile.vc102
-rw-r--r--tiff/libtiff/SConstruct73
-rw-r--r--tiff/libtiff/libtiff.def140
-rw-r--r--tiff/libtiff/mkg3states.c451
-rw-r--r--tiff/libtiff/t4.h292
-rw-r--r--tiff/libtiff/tif_acorn.c526
-rw-r--r--tiff/libtiff/tif_apple.c281
-rw-r--r--tiff/libtiff/tif_atari.c250
-rw-r--r--tiff/libtiff/tif_aux.c290
-rw-r--r--tiff/libtiff/tif_close.c126
-rw-r--r--tiff/libtiff/tif_codec.c160
-rw-r--r--tiff/libtiff/tif_color.c282
-rw-r--r--tiff/libtiff/tif_compress.c295
-rw-r--r--tiff/libtiff/tif_config.h-vms46
-rw-r--r--tiff/libtiff/tif_config.h.in309
-rw-r--r--tiff/libtiff/tif_config.vc.h63
-rw-r--r--tiff/libtiff/tif_config.wince.h74
-rw-r--r--tiff/libtiff/tif_dir.c1389
-rw-r--r--tiff/libtiff/tif_dir.h211
-rw-r--r--tiff/libtiff/tif_dirinfo.c888
-rw-r--r--tiff/libtiff/tif_dirread.c2081
-rw-r--r--tiff/libtiff/tif_dirwrite.c1414
-rw-r--r--tiff/libtiff/tif_dumpmode.c126
-rw-r--r--tiff/libtiff/tif_error.c80
-rw-r--r--tiff/libtiff/tif_extension.c118
-rw-r--r--tiff/libtiff/tif_fax3.c1626
-rw-r--r--tiff/libtiff/tif_fax3.h532
-rw-r--r--tiff/libtiff/tif_fax3sm.c1253
-rw-r--r--tiff/libtiff/tif_flush.c74
-rw-r--r--tiff/libtiff/tif_getimage.c2676
-rw-r--r--tiff/libtiff/tif_jbig.c385
-rw-r--r--tiff/libtiff/tif_jpeg.c2065
-rw-r--r--tiff/libtiff/tif_luv.c1629
-rw-r--r--tiff/libtiff/tif_lzw.c1129
-rw-r--r--tiff/libtiff/tif_msdos.c193
-rw-r--r--tiff/libtiff/tif_next.c154
-rw-r--r--tiff/libtiff/tif_ojpeg.c2438
-rw-r--r--tiff/libtiff/tif_open.c695
-rw-r--r--tiff/libtiff/tif_packbits.c300
-rw-r--r--tiff/libtiff/tif_pixarlog.c1371
-rw-r--r--tiff/libtiff/tif_predict.c736
-rw-r--r--tiff/libtiff/tif_predict.h77
-rw-r--r--tiff/libtiff/tif_print.c646
-rw-r--r--tiff/libtiff/tif_read.c750
-rw-r--r--tiff/libtiff/tif_stream.cxx295
-rw-r--r--tiff/libtiff/tif_strip.c370
-rw-r--r--tiff/libtiff/tif_swab.c242
-rw-r--r--tiff/libtiff/tif_thunder.c165
-rw-r--r--tiff/libtiff/tif_tile.c280
-rw-r--r--tiff/libtiff/tif_unix.c300
-rw-r--r--tiff/libtiff/tif_version.c40
-rw-r--r--tiff/libtiff/tif_warning.c81
-rw-r--r--tiff/libtiff/tif_win3.c232
-rw-r--r--tiff/libtiff/tif_win32.c408
-rw-r--r--tiff/libtiff/tif_write.c718
-rw-r--r--tiff/libtiff/tif_zip.c419
-rw-r--r--tiff/libtiff/tiff.h654
-rw-r--r--tiff/libtiff/tiffconf.h.in103
-rw-r--r--tiff/libtiff/tiffconf.vc.h116
-rw-r--r--tiff/libtiff/tiffconf.wince.h136
-rw-r--r--tiff/libtiff/tiffio.h526
-rw-r--r--tiff/libtiff/tiffio.hxx49
-rw-r--r--tiff/libtiff/tiffiop.h350
-rw-r--r--tiff/libtiff/tiffvers.h9
-rw-r--r--tiff/libtiff/uvcode.h180
-rw-r--r--tiff/m4/acinclude.m4669
-rw-r--r--tiff/m4/libtool.m47437
-rw-r--r--tiff/m4/ltoptions.m4369
-rw-r--r--tiff/m4/ltsugar.m4123
-rw-r--r--tiff/m4/ltversion.m423
-rw-r--r--tiff/m4/lt~obsolete.m498
-rw-r--r--tiff/man/Makefile.am92
-rw-r--r--tiff/man/Makefile.in602
-rw-r--r--tiff/man/TIFFClose.3tiff53
-rw-r--r--tiff/man/TIFFDataWidth.3tiff74
-rw-r--r--tiff/man/TIFFError.3tiff69
-rw-r--r--tiff/man/TIFFFlush.3tiff64
-rw-r--r--tiff/man/TIFFGetField.3tiff232
-rw-r--r--tiff/man/TIFFOpen.3tiff279
-rw-r--r--tiff/man/TIFFPrintDirectory.3tiff70
-rw-r--r--tiff/man/TIFFRGBAImage.3tiff286
-rw-r--r--tiff/man/TIFFReadDirectory.3tiff164
-rw-r--r--tiff/man/TIFFReadEncodedStrip.3tiff78
-rw-r--r--tiff/man/TIFFReadEncodedTile.3tiff76
-rw-r--r--tiff/man/TIFFReadRGBAImage.3tiff218
-rw-r--r--tiff/man/TIFFReadRGBAStrip.3tiff170
-rw-r--r--tiff/man/TIFFReadRGBATile.3tiff171
-rw-r--r--tiff/man/TIFFReadRawStrip.3tiff64
-rw-r--r--tiff/man/TIFFReadRawTile.3tiff65
-rw-r--r--tiff/man/TIFFReadScanline.3tiff94
-rw-r--r--tiff/man/TIFFReadTile.3tiff84
-rw-r--r--tiff/man/TIFFSetDirectory.3tiff79
-rw-r--r--tiff/man/TIFFSetField.3tiff217
-rw-r--r--tiff/man/TIFFWarning.3tiff70
-rw-r--r--tiff/man/TIFFWriteDirectory.3tiff138
-rw-r--r--tiff/man/TIFFWriteEncodedStrip.3tiff102
-rw-r--r--tiff/man/TIFFWriteEncodedTile.3tiff96
-rw-r--r--tiff/man/TIFFWriteRawStrip.3tiff96
-rw-r--r--tiff/man/TIFFWriteRawTile.3tiff84
-rw-r--r--tiff/man/TIFFWriteScanline.3tiff154
-rw-r--r--tiff/man/TIFFWriteTile.3tiff77
-rw-r--r--tiff/man/TIFFbuffer.3tiff77
-rw-r--r--tiff/man/TIFFcodec.3tiff82
-rw-r--r--tiff/man/TIFFcolor.3tiff268
-rw-r--r--tiff/man/TIFFmemory.3tiff90
-rw-r--r--tiff/man/TIFFquery.3tiff142
-rw-r--r--tiff/man/TIFFsize.3tiff59
-rw-r--r--tiff/man/TIFFstrip.3tiff99
-rw-r--r--tiff/man/TIFFswab.3tiff80
-rw-r--r--tiff/man/TIFFtile.3tiff131
-rw-r--r--tiff/man/bmp2tiff.185
-rw-r--r--tiff/man/fax2ps.1159
-rw-r--r--tiff/man/fax2tiff.1286
-rw-r--r--tiff/man/gif2tiff.181
-rw-r--r--tiff/man/libtiff.3tiff536
-rw-r--r--tiff/man/pal2rgb.1111
-rw-r--r--tiff/man/ppm2tiff.1105
-rw-r--r--tiff/man/ras2tiff.196
-rw-r--r--tiff/man/raw2tiff.1196
-rw-r--r--tiff/man/rgb2ycbcr.199
-rw-r--r--tiff/man/sgi2tiff.193
-rw-r--r--tiff/man/thumbnail.190
-rw-r--r--tiff/man/tiff2bw.194
-rw-r--r--tiff/man/tiff2pdf.1251
-rw-r--r--tiff/man/tiff2ps.1268
-rw-r--r--tiff/man/tiff2rgba.197
-rw-r--r--tiff/man/tiffcmp.187
-rw-r--r--tiff/man/tiffcp.1291
-rw-r--r--tiff/man/tiffcrop.1571
-rw-r--r--tiff/man/tiffdither.1132
-rw-r--r--tiff/man/tiffdump.181
-rw-r--r--tiff/man/tiffgt.1245
-rw-r--r--tiff/man/tiffinfo.188
-rw-r--r--tiff/man/tiffmedian.1112
-rw-r--r--tiff/man/tiffset.182
-rw-r--r--tiff/man/tiffsplit.169
-rw-r--r--tiff/man/tiffsv.1142
-rw-r--r--tiff/nmake.opt218
-rw-r--r--tiff/port/Makefile.am31
-rw-r--r--tiff/port/Makefile.in555
-rw-r--r--tiff/port/Makefile.vc43
-rw-r--r--tiff/port/dummy.c19
-rw-r--r--tiff/port/getopt.c131
-rw-r--r--tiff/port/lfind.c69
-rw-r--r--tiff/port/libport.h58
-rw-r--r--tiff/port/strcasecmp.c57
-rw-r--r--tiff/port/strtoul.c116
-rw-r--r--tiff/test/Makefile.am46
-rw-r--r--tiff/test/Makefile.in845
-rw-r--r--tiff/test/ascii_tag.c177
-rw-r--r--tiff/test/check_tag.c79
-rw-r--r--tiff/test/long_tag.c161
-rw-r--r--tiff/test/short_tag.c187
-rw-r--r--tiff/test/strip.c298
-rw-r--r--tiff/test/strip_rw.c162
-rw-r--r--tiff/test/test_arrays.c836
-rw-r--r--tiff/test/test_arrays.h70
-rw-r--r--tiff/tools/Jamfile20
-rw-r--r--tiff/tools/Makefile.am145
-rw-r--r--tiff/tools/Makefile.in876
-rw-r--r--tiff/tools/Makefile.vc51
-rw-r--r--tiff/tools/bmp2tiff.c850
-rw-r--r--tiff/tools/fax2ps.c446
-rw-r--r--tiff/tools/fax2tiff.c465
-rw-r--r--tiff/tools/gif2tiff.c522
-rw-r--r--tiff/tools/pal2rgb.c431
-rw-r--r--tiff/tools/ppm2tiff.c362
-rw-r--r--tiff/tools/ras2tiff.c306
-rw-r--r--tiff/tools/rasterfile.h49
-rw-r--r--tiff/tools/raw2tiff.c647
-rw-r--r--tiff/tools/rgb2ycbcr.c382
-rw-r--r--tiff/tools/sgi2tiff.c335
-rw-r--r--tiff/tools/sgisv.c316
-rw-r--r--tiff/tools/thumbnail.c639
-rw-r--r--tiff/tools/tiff2bw.c467
-rw-r--r--tiff/tools/tiff2pdf.c5405
-rw-r--r--tiff/tools/tiff2ps.c2370
-rw-r--r--tiff/tools/tiff2rgba.c548
-rw-r--r--tiff/tools/tiffcmp.c640
-rw-r--r--tiff/tools/tiffcp.c1770
-rw-r--r--tiff/tools/tiffcrop.c9012
-rw-r--r--tiff/tools/tiffdither.c332
-rw-r--r--tiff/tools/tiffdump.c785
-rw-r--r--tiff/tools/tiffgt.c462
-rw-r--r--tiff/tools/tiffinfo.c456
-rw-r--r--tiff/tools/tiffmedian.c902
-rw-r--r--tiff/tools/tiffset.c325
-rw-r--r--tiff/tools/tiffsplit.c297
-rw-r--r--tiff/tools/ycbcr.c168
-rwxr-xr-x[-rw-r--r--]ttbd.txt0
-rwxr-xr-x[-rw-r--r--]tweak/Jamfile0
-rwxr-xr-x[-rw-r--r--]tweak/License.txt0
-rwxr-xr-x[-rw-r--r--]tweak/Readme.txt0
-rwxr-xr-x[-rw-r--r--]tweak/afiles0
-rwxr-xr-x[-rw-r--r--]tweak/refine.c0
-rwxr-xr-x[-rw-r--r--]ucmm/Jamfile0
-rwxr-xr-x[-rw-r--r--]ucmm/afiles0
-rwxr-xr-x[-rw-r--r--]ucmm/ucmm.c0
-rwxr-xr-x[-rw-r--r--]ucmm/ucmm.h0
-rwxr-xr-x[-rw-r--r--]usb/45-Argyll.rules2
-rwxr-xr-x[-rw-r--r--]usb/55-Argyll.rules9
-rwxr-xr-x[-rw-r--r--]usb/Argyll0
-rwxr-xr-x[-rw-r--r--]usb/Argyll.kext/Info.plist0
-rwxr-xr-x[-rw-r--r--]usb/Argyll.usermap3
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.catbin3551 -> 3551 bytes
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.inf0
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.inf.d0
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.inf.t0
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS_x64.catbin3535 -> 3535 bytes
-rwxr-xr-x[-rw-r--r--]usb/Jamfile0
-rwxr-xr-x[-rw-r--r--]usb/afiles0
-rw-r--r--usb/bin/amd64/libusb0.sysbin52832 -> 0 bytes
-rw-r--r--usb/bin/ia64/libusb0.sysbin110176 -> 0 bytes
-rw-r--r--usb/bin/libusb-win32-bin-README.txt27
-rw-r--r--usb/bin/x86/libusb0.sysbin42592 -> 0 bytes
-rwxr-xr-x[-rw-r--r--]usb/binfiles.lx0
-rwxr-xr-x[-rw-r--r--]usb/binfiles.msw0
-rwxr-xr-x[-rw-r--r--]usb/binfiles.osx0
-rwxr-xr-x[-rw-r--r--]usb/driver/AUTHORS.txt0
-rwxr-xr-x[-rw-r--r--]usb/driver/COPYING_GPL.txt0
-rwxr-xr-x[-rw-r--r--]usb/driver/LICENSE.txt0
-rwxr-xr-x[-rw-r--r--]usb/driver/Makefile0
-rwxr-xr-x[-rw-r--r--]usb/driver/README.txt0
-rwxr-xr-x[-rw-r--r--]usb/driver/abort_endpoint.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/claim_interface.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/clear_feature.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/dispatch.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/driver_api.h0
-rwxr-xr-x[-rw-r--r--]usb/driver/driver_debug.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/driver_debug.h0
-rwxr-xr-x[-rw-r--r--]usb/driver/driver_registry.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/get_configuration.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/get_descriptor.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/get_interface.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/get_status.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/ioctl.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/libusb-win32-README-1.2.6.0.txt0
-rwxr-xr-x[-rw-r--r--]usb/driver/libusb_driver.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/libusb_driver.h0
-rwxr-xr-x[-rw-r--r--]usb/driver/libusb_driver_rc.rc0
-rwxr-xr-x[-rw-r--r--]usb/driver/lusb_defdi_guids.h0
-rwxr-xr-x[-rw-r--r--]usb/driver/pnp.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/power.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/release_interface.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/reset_device.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/reset_endpoint.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/set_configuration.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/set_descriptor.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/set_feature.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/set_interface.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/transfer.c0
-rwxr-xr-x[-rw-r--r--]usb/driver/usbd.def0
-rwxr-xr-x[-rw-r--r--]usb/driver/usbdlib_gcc.h0
-rwxr-xr-x[-rw-r--r--]usb/driver/vendor_request.c0
-rwxr-xr-x[-rw-r--r--]usb/install_kext.sh0
-rwxr-xr-x[-rw-r--r--]xicc/Jamfile1
-rwxr-xr-x[-rw-r--r--]xicc/License.txt0
-rwxr-xr-x[-rw-r--r--]xicc/Readme.txt0
-rwxr-xr-x[-rw-r--r--]xicc/afiles0
-rwxr-xr-x[-rw-r--r--]xicc/bt1886.c0
-rwxr-xr-x[-rw-r--r--]xicc/bt1886.h0
-rwxr-xr-x[-rw-r--r--]xicc/cam02.c2
-rwxr-xr-x[-rw-r--r--]xicc/cam02.h0
-rwxr-xr-x[-rw-r--r--]xicc/cam02plot.c0
-rwxr-xr-x[-rw-r--r--]xicc/cam02ref.h0
-rwxr-xr-x[-rw-r--r--]xicc/cam02test.c0
-rwxr-xr-x[-rw-r--r--]xicc/cam97s3.c0
-rwxr-xr-x[-rw-r--r--]xicc/cam97s3.h0
-rwxr-xr-x[-rw-r--r--]xicc/cam97test.c0
-rwxr-xr-x[-rw-r--r--]xicc/ccmx.c25
-rwxr-xr-x[-rw-r--r--]xicc/ccmx.h5
-rwxr-xr-x[-rw-r--r--]xicc/ccss.c14
-rwxr-xr-x[-rw-r--r--]xicc/ccss.h3
-rwxr-xr-x[-rw-r--r--]xicc/ccttest.c5
-rwxr-xr-x[-rw-r--r--]xicc/cgatsplot.c0
-rwxr-xr-x[-rw-r--r--]xicc/cv.c0
-rwxr-xr-x[-rw-r--r--]xicc/cvtest.c0
-rwxr-xr-x[-rw-r--r--]xicc/example.sp0
-rwxr-xr-x[-rw-r--r--]xicc/extracticc.c0
-rwxr-xr-x[-rw-r--r--]xicc/extractttag.c0
-rwxr-xr-x[-rw-r--r--]xicc/fakeCMY.c0
-rwxr-xr-x[-rw-r--r--]xicc/fbview.c0
-rwxr-xr-x[-rw-r--r--]xicc/iccgamut.c0
-rwxr-xr-x[-rw-r--r--]xicc/iccjpeg.c0
-rwxr-xr-x[-rw-r--r--]xicc/iccjpeg.h0
-rwxr-xr-x[-rw-r--r--]xicc/icheck.c0
-rwxr-xr-x[-rw-r--r--]xicc/monctest.c0
-rwxr-xr-x[-rw-r--r--]xicc/moncurve.c0
-rwxr-xr-x[-rw-r--r--]xicc/moncurve.h0
-rwxr-xr-x[-rw-r--r--]xicc/mpp.c0
-rwxr-xr-x[-rw-r--r--]xicc/mpp.h0
-rwxr-xr-x[-rw-r--r--]xicc/mpplu.c0
-rwxr-xr-x[-rw-r--r--]xicc/revfix.c0
-rwxr-xr-x[-rw-r--r--]xicc/specplot.c57
-rwxr-xr-x[-rw-r--r--]xicc/specsubsamp.c0
-rwxr-xr-x[-rw-r--r--]xicc/spectest.c0
-rwxr-xr-x[-rw-r--r--]xicc/spectest2.c0
-rwxr-xr-x[-rw-r--r--]xicc/tiffgamut.c0
-rwxr-xr-x[-rw-r--r--]xicc/tiffgmts.c0
-rwxr-xr-x[-rw-r--r--]xicc/transplot.c0
-rwxr-xr-x[-rw-r--r--]xicc/xcal.c0
-rwxr-xr-x[-rw-r--r--]xicc/xcal.h0
-rwxr-xr-x[-rw-r--r--]xicc/xcam.c0
-rwxr-xr-x[-rw-r--r--]xicc/xcam.h0
-rwxr-xr-x[-rw-r--r--]xicc/xcolorants.c0
-rwxr-xr-x[-rw-r--r--]xicc/xcolorants.h0
-rwxr-xr-x[-rw-r--r--]xicc/xcolorantslu.c0
-rwxr-xr-x[-rw-r--r--]xicc/xdevlin.c0
-rwxr-xr-x[-rw-r--r--]xicc/xdevlin.h0
-rwxr-xr-x[-rw-r--r--]xicc/xdgb.c0
-rwxr-xr-x[-rw-r--r--]xicc/xdgb.h0
-rwxr-xr-x[-rw-r--r--]xicc/xfbview.c0
-rwxr-xr-x[-rw-r--r--]xicc/xfit.c0
-rwxr-xr-x[-rw-r--r--]xicc/xfit.h0
-rwxr-xr-x[-rw-r--r--]xicc/xicc.c0
-rwxr-xr-x[-rw-r--r--]xicc/xicc.h2
-rwxr-xr-x[-rw-r--r--]xicc/xicclu.c24
-rwxr-xr-x[-rw-r--r--]xicc/xlut.c8
-rwxr-xr-x[-rw-r--r--]xicc/xlutfix.c0
-rwxr-xr-x[-rw-r--r--]xicc/xmatrix.c0
-rwxr-xr-x[-rw-r--r--]xicc/xmono.c0
-rwxr-xr-x[-rw-r--r--]xicc/xspect.c3318
-rwxr-xr-x[-rw-r--r--]xicc/xspect.h48
-rwxr-xr-x[-rw-r--r--]xicc/xutils.c0
-rwxr-xr-x[-rw-r--r--]xicc/xutils.h0
-rwxr-xr-x[-rw-r--r--]xml/ANNOUNCEMENT0
-rwxr-xr-x[-rw-r--r--]xml/CHANGES0
-rwxr-xr-x[-rw-r--r--]xml/COPYING0
-rwxr-xr-x[-rw-r--r--]xml/Makefile.in0
-rwxr-xr-x[-rw-r--r--]xml/README0
-rwxr-xr-x[-rw-r--r--]xml/afiles2
-rwxr-xr-x[-rw-r--r--]xml/config.h.in0
-rwxr-xr-x[-rw-r--r--]xml/configure0
-rwxr-xr-x[-rw-r--r--]xml/configure.in0
-rwxr-xr-x[-rw-r--r--]xml/doc/Mini-XML.pdfbin599349 -> 599349 bytes
-rwxr-xr-x[-rw-r--r--]xml/install-sh0
-rwxr-xr-x[-rw-r--r--]xml/mxml-attr.c2
-rwxr-xr-x[-rw-r--r--]xml/mxml-config.h (renamed from xml/config.h)4
-rwxr-xr-x[-rw-r--r--]xml/mxml-entity.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-file.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-get.c2
-rwxr-xr-x[-rw-r--r--]xml/mxml-index.c2
-rwxr-xr-x[-rw-r--r--]xml/mxml-node.c2
-rwxr-xr-x[-rw-r--r--]xml/mxml-private.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-private.h2
-rwxr-xr-x[-rw-r--r--]xml/mxml-search.c2
-rwxr-xr-x[-rw-r--r--]xml/mxml-set.c2
-rwxr-xr-x[-rw-r--r--]xml/mxml-string.c2
-rwxr-xr-x[-rw-r--r--]xml/mxml.h0
-rwxr-xr-x[-rw-r--r--]xml/mxml.list.in0
-rwxr-xr-x[-rw-r--r--]xml/mxml.pc.in0
-rwxr-xr-x[-rw-r--r--]xml/mxml.spec0
-rwxr-xr-x[-rw-r--r--]xml/mxml.xml0
-rwxr-xr-x[-rw-r--r--]xml/mxmldoc.c2
-rwxr-xr-x[-rw-r--r--]xml/test.xml0
-rwxr-xr-x[-rw-r--r--]xml/testmxml.c2
-rwxr-xr-x[-rw-r--r--]yajl/COPYING0
-rwxr-xr-x[-rw-r--r--]yajl/ChangeLog0
-rwxr-xr-x[-rw-r--r--]yajl/Jamfile0
-rwxr-xr-x[-rw-r--r--]yajl/README0
-rwxr-xr-x[-rw-r--r--]yajl/TODO0
-rwxr-xr-x[-rw-r--r--]yajl/afiles0
-rwxr-xr-x[-rw-r--r--]yajl/json_verify.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_alloc.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_alloc.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_buf.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_buf.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_bytestack.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_common.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_encode.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_encode.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_gen.c8
-rwxr-xr-x[-rw-r--r--]yajl/yajl_gen.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_lex.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_lex.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_parse.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_parser.c12
-rwxr-xr-x[-rw-r--r--]yajl/yajl_parser.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_test.c0
-rw-r--r--yajl/yajl_test.exebin57828 -> 0 bytes
-rw-r--r--yajl/yajl_test.objbin6464 -> 0 bytes
-rwxr-xr-x[-rw-r--r--]yajl/yajl_tree.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_tree.h3
-rwxr-xr-x[-rw-r--r--]yajl/yajl_version.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_version.h0
-rwxr-xr-x[-rw-r--r--]ziparch.sh0
-rw-r--r--zlib/CMakeLists.txt190
-rw-r--r--zlib/ChangeLog1208
-rw-r--r--zlib/FAQ366
-rw-r--r--zlib/INDEX65
-rw-r--r--zlib/Jamfile30
-rw-r--r--zlib/Makefile5
-rw-r--r--zlib/Makefile.in257
-rw-r--r--zlib/README115
-rw-r--r--zlib/adler32.c169
-rw-r--r--zlib/afiles49
-rw-r--r--zlib/compress.c80
-rw-r--r--zlib/configure596
-rw-r--r--zlib/crc32.c442
-rw-r--r--zlib/crc32.h441
-rw-r--r--zlib/deflate.c1834
-rw-r--r--zlib/deflate.h342
-rw-r--r--zlib/example.c565
-rw-r--r--zlib/gzclose.c25
-rw-r--r--zlib/gzguts.h132
-rw-r--r--zlib/gzlib.c537
-rw-r--r--zlib/gzread.c653
-rw-r--r--zlib/gzwrite.c531
-rw-r--r--zlib/infback.c632
-rw-r--r--zlib/inffast.c340
-rw-r--r--zlib/inffast.h11
-rw-r--r--zlib/inffixed.h94
-rw-r--r--zlib/inflate.c1480
-rw-r--r--zlib/inflate.h122
-rw-r--r--zlib/inftrees.c330
-rw-r--r--zlib/inftrees.h62
-rw-r--r--zlib/libzlib.libbin204376 -> 0 bytes
-rw-r--r--zlib/make_vms.com804
-rw-r--r--zlib/minigzip.c440
-rw-r--r--zlib/treebuild.xml116
-rw-r--r--zlib/trees.c1244
-rw-r--r--zlib/trees.h128
-rw-r--r--zlib/uncompr.c59
-rw-r--r--zlib/zconf.h428
-rw-r--r--zlib/zconf.h.cmakein430
-rw-r--r--zlib/zconf.h.in428
-rw-r--r--zlib/zlib.3151
-rw-r--r--zlib/zlib.3.pdfbin8686 -> 0 bytes
-rw-r--r--zlib/zlib.h1613
-rw-r--r--zlib/zlib.map68
-rw-r--r--zlib/zlib.pc.in13
-rw-r--r--zlib/zlib125.zipbin656921 -> 0 bytes
-rw-r--r--zlib/zlib2ansi152
-rw-r--r--zlib/zutil.c318
-rw-r--r--zlib/zutil.h274
1710 files changed, 20640 insertions, 370766 deletions
diff --git a/Jambase b/Jambase
index 7398443..a54a03f 100644..100755
--- a/Jambase
+++ b/Jambase
@@ -117,7 +117,7 @@
# RmTemps target : sources ; remove temp sources after target made
# Setuid images ; mark executables Setuid
# set SHLINKDEFFILE on for Windows to define exports using .def file.
-# set SHLINKSEARCHEXEPATH true on UNIX to have applications search exeutable location for it
+# set SHLINKSEARCHEXEPATH true on UNIX/OSX to have applications search exeutable location for it
# ShLibrary shlib : source ; link shared library from compiled sources
# ShLibraryFromObjects shlib : objects ; link shared library from objects
# ShLibraryLibraries shlib : libraries ; add static libraries onto shared libraries link
@@ -1193,7 +1193,7 @@ rule _RatPath
local _in = $(<) ;
local _rio = ; # reversed intermediate output
local _out = ;
- local _gotdot = ; # There was at a dot in the input path
+ local _gotdot = ; # There was a dot in the input path
local _first = ; # Fixed first elements
#Echo "_RatPath called with '" $(_in) "'" ;
@@ -1388,6 +1388,10 @@ rule NormDstPaths
# If paths is empty, nothing is returned.
# paths = NormPaths paths : dir : type ;
# (This and the other rules it calls, is probably a good candidate for speed optimization!)
+#
+# ~~~~~ This isn't working correctly -
+# i.e. given "." where . = ccast and "../ccast",
+# it still returns "../ccast".
rule _NormPaths
{
local _p _i _t ;
@@ -1409,7 +1413,7 @@ rule _NormPaths
{
#Echo "_i = '" $(_i) "'" ;
_t = [ _SepPath $(_i) ] ;
-#Echo "_SepPath _i = '" $(_i) "'" ;
+#Echo "_SepPath _i = '" $(_t) "'" ;
_t = [ _RootPath $(_p) : $(_t) ] ;
#Echo "_RootPath _t = '" $(_t) "'" ;
diff --git a/Jamfile b/Jamfile
index b1e9be1..6cee41c 100644..100755
--- a/Jamfile
+++ b/Jamfile
@@ -6,7 +6,7 @@
PREF_CCFLAGS = $(CCOPTFLAG) ; # Turn optimisation on
#PREF_CCFLAGS = $(CCDEBUGFLAG) ; # Debugging flags
-#PREF_CCFLAGS = $(CCHEAPDEBUG) ; # Heap Debugging flags
+#PREF_CCFLAGS = $(CCHEAPDEBUG) ; # Heap Debugging & Debugging flags
#PREF_LINKFLAGS = $(LINKOPTFLAG) ; # Link optimization flags
PREF_LINKFLAGS = $(LINKDEBUGFLAG) ; # Link debugging flags
#PREF_CCFLAGS = $(CCPROFFLAG) ; # Profile flags
diff --git a/Jamtop b/Jamtop
index 3a5d80c..141abd2 100644..100755
--- a/Jamtop
+++ b/Jamtop
@@ -99,6 +99,8 @@ if $(UNIX) {
} else {
if [ GLOB /usr/X11R6/lib : libX11.so libX11.a ] {
LibWinD = /usr/X11R6/lib ;
+ } else if [ GLOB /usr/lib/i386-linux-gnu : libX11.so libX11.a ] {
+ LibWinD = /usr/lib/i386-linux-gnu ;
} else if [ GLOB /usr/lib : libX11.so libX11.a ] {
LibWinD = /usr/lib ;
} else if [ GLOB /usr/local/lib : libX11.so libX11.a ] {
@@ -120,21 +122,27 @@ if $(UNIX) {
# Standard system library support:
-# Check rule. $(<) is library name, $(>) is optional directory name
+# Check rule. $(<) is library name, $(>) is optional alternate library name
+# $(3) is optional #include sub-directory, i.e. "/openssl"
rule CheckForLibrary {
UCASE = $(<:U) ;
lcase = $(<:L) ;
libname = $(lcase) ;
+ subd = "" ;
if $(>) {
libname = $(>) ;
}
+ if $(3) {
+ subd = $(3) ;
+ }
+
if ! $(BUILTIN_$(UCASE)) && $(UNIX) {
- if [ GLOB /usr/include : $(lcase).h $(lcase)lib.h ]
- || [ GLOB /usr/local/include : $(lcase).h $(lcase)lib.h ]
- || [ GLOB /usr/include/x86_64-linux-gnu : $(lcase).h $(lcase)lib.h ]
- || [ GLOB /usr/include/i386-linux-gnu : $(lcase).h $(lcase)lib.h ] {
+ if [ GLOB /usr/include$(subd) : $(lcase).h $(lcase)lib.h ]
+ || [ GLOB /usr/local/include$(subd) : $(lcase).h $(lcase)lib.h ]
+ || [ GLOB /usr/include/x86_64-linux-gnu$(subd) : $(lcase).h $(lcase)lib.h ]
+ || [ GLOB /usr/include/i386-linux-gnu$(subd) : $(lcase).h $(lcase)lib.h ] {
if [ GLOB /usr/lib : lib$(lcase).so ] || [ GLOB /usr/lib : lib$(lcase).a ]
|| [ GLOB /usr/local/lib : lib$(lcase).so ] || [ GLOB /usr/local/lib : lib$(lcase).a ]
|| [ GLOB /usr/lib64 : lib$(lcase).so ] || [ GLOB /usr/lib64 : lib$(lcase).a ]
@@ -160,11 +168,20 @@ rule CheckForLibrary {
}
# See if we have a system TIFF, JPEG, PNG or ZLIB library.
+# Note this generates: $(TIFFLIB) $(TIFFINC) $(JPEGLIB) $(JPEGINC) $(PNGLIB)
+# $(PNGINC) $(ZLIBLIB) $(ZINC)
CheckForLibrary "TIFF" ;
CheckForLibrary "JPEG" ;
CheckForLibrary "PNG" ;
CheckForLibrary "Z" : "zlib" ;
+CheckForLibrary "SSL" : : "/openssl" ;
+# if OpenSSL not found:
+if $(SSLLIB) {
+ SSLINC = ../ccast/axTLS ;
+ SSLLIB = ../ccast/axTLS/libaxtls ;
+}
+
# testing
#DSTDIR = var ;
#SRCDIR = .. ;
diff --git a/License.txt b/License.txt
index a871fcf..a871fcf 100644..100755
--- a/License.txt
+++ b/License.txt
diff --git a/License2.txt b/License2.txt
index 05ca889..05ca889 100644..100755
--- a/License2.txt
+++ b/License2.txt
diff --git a/License3.txt b/License3.txt
index 94a9ed0..94a9ed0 100644..100755
--- a/License3.txt
+++ b/License3.txt
diff --git a/Makefile b/Makefile
index 44fb7f1..44fb7f1 100644..100755
--- a/Makefile
+++ b/Makefile
diff --git a/Readme.txt b/Readme.txt
index 2fc1b4b..2fc1b4b 100644..100755
--- a/Readme.txt
+++ b/Readme.txt
diff --git a/adirs b/adirs
index 9c15248..9c15248 100644..100755
--- a/adirs
+++ b/adirs
diff --git a/afiles b/afiles
index 7bf76cf..6e84a85 100644..100755
--- a/afiles
+++ b/afiles
@@ -20,3 +20,4 @@ makeall.sh
ziparch.sh
makeinstall.sh
makepackagebin.sh
+makeoemdnldbin.sh
diff --git a/binfiles b/binfiles
index 93615a4..93615a4 100644..100755
--- a/binfiles
+++ b/binfiles
diff --git a/blddirs b/blddirs
index 73d667b..73d667b 100644..100755
--- a/blddirs
+++ b/blddirs
diff --git a/ccast/Jamfile b/ccast/Jamfile
index ff216ff..3d03a2f 100644..100755
--- a/ccast/Jamfile
+++ b/ccast/Jamfile
@@ -9,9 +9,12 @@ if $(NT) {
DEFINES += WIN32 ;
}
-SubInclude axTLS ;
+if $(SSLLIB) {
+ DEFINES += USING_AXTLS ; # Trigger right #include
+ SubInclude axTLS ;
+}
-HDRS = ../h ../numlib ../spectro axTLS chan ../yajl ;
+HDRS = ../h ../numlib ../spectro $(SSLINC) chan ../yajl ;
# We create the channel protocol buffers implementation files thus:
# /src/protobuf_c/protobuf.exe --c_out=chan cast_channel.proto
@@ -21,14 +24,19 @@ CHAN_SRC =
chan/protobuf-c.c
;
+Objects ccmes.c $(CHAN_SRC) : : : axTLS ;
+Objects ccmdns.c ccpacket.c ccast.c dpat.c ;
+
# ccast library
-Library libccast : ccmdns.c ccpacket.c ccmes.c ccast.c $(CHAN_SRC) dpat.c ;
+LibraryFromObjects libccast : ccmdns ccpacket ccmes ccast $(CHAN_SRC) dpat ;
-LINKLIBS = ./libccast axTLS/libaxtls ../yajl/libyajl ../numlib/libnum ../spectro/libconv ;
+LINKLIBS = ./libccast $(SSLLIB) ../yajl/libyajl ../numlib/libnum ../spectro/libconv ;
+
+# If run in ccast dir, the following don't link from clean,
+# due to the _NormPaths rule not resolving ../ccast into .
# Test harness
#Main cctest : cctest.c ;
Main filt : filt.c ;
-
MainVariant dpat : dpat.c : : STANDALONE_TEST ;
diff --git a/ccast/License.txt b/ccast/License.txt
index a871fcf..a871fcf 100644..100755
--- a/ccast/License.txt
+++ b/ccast/License.txt
diff --git a/ccast/afiles b/ccast/afiles
index 0f8ffda..3d81ff0 100644
--- a/ccast/afiles
+++ b/ccast/afiles
@@ -22,7 +22,7 @@ axTLS/bigint.c
axTLS/bigint.h
axTLS/bigint_impl.h
axTLS/cert.h
-axTLS/config.h
+axTLS/axTLS_config.h
axTLS/crypto.h
axTLS/crypto_misc.c
axTLS/crypto_misc.h
@@ -46,7 +46,7 @@ axTLS/tls1.c
axTLS/tls1.h
axTLS/tls1_clnt.c
axTLS/tls1_svr.c
-axTLS/version.h
+axTLS/axTLS_version.h
axTLS/x509.c
chan/cast_channel.pb-c.c
chan/cast_channel.pb-c.h
diff --git a/ccast/axTLS/Jamfile b/ccast/axTLS/Jamfile
index 2e8b027..9a8aff4 100644..100755
--- a/ccast/axTLS/Jamfile
+++ b/ccast/axTLS/Jamfile
@@ -3,11 +3,9 @@ PREF_CCFLAGS = $(CCOPTFLAG) ; # Turn optimisation on
#PREF_CCFLAGS = $(CCDEBUGFLAG) ; # Debugging flags
PREF_LINKFLAGS = $(LINKDEBUGFLAG) ;
-# Copy the configuration file
if $(NT) {
DEFINES += WIN32 ;
} else {
-# File conf.h : tiffconf.vc.h ;
if $(OS) = MACOSX {
} else if $(OS) = FREEBSD {
} else {
diff --git a/ccast/axTLS/aes.c b/ccast/axTLS/aes.c
index 9b07e27..9b07e27 100644..100755
--- a/ccast/axTLS/aes.c
+++ b/ccast/axTLS/aes.c
diff --git a/ccast/axTLS/asn1.c b/ccast/axTLS/asn1.c
index b082275..b082275 100644..100755
--- a/ccast/axTLS/asn1.c
+++ b/ccast/axTLS/asn1.c
diff --git a/ccast/axTLS/config.h b/ccast/axTLS/axTLS_config.h
index ffda4e3..ffda4e3 100644..100755
--- a/ccast/axTLS/config.h
+++ b/ccast/axTLS/axTLS_config.h
diff --git a/ccast/axTLS/version.h b/ccast/axTLS/axTLS_version.h
index e8158cc..e8158cc 100644..100755
--- a/ccast/axTLS/version.h
+++ b/ccast/axTLS/axTLS_version.h
diff --git a/ccast/axTLS/bigint.c b/ccast/axTLS/bigint.c
index e9ca04c..e9ca04c 100644..100755
--- a/ccast/axTLS/bigint.c
+++ b/ccast/axTLS/bigint.c
diff --git a/ccast/axTLS/bigint.h b/ccast/axTLS/bigint.h
index 2966a3e..2966a3e 100644..100755
--- a/ccast/axTLS/bigint.h
+++ b/ccast/axTLS/bigint.h
diff --git a/ccast/axTLS/bigint_impl.h b/ccast/axTLS/bigint_impl.h
index 820620d..820620d 100644..100755
--- a/ccast/axTLS/bigint_impl.h
+++ b/ccast/axTLS/bigint_impl.h
diff --git a/ccast/axTLS/cert.h b/ccast/axTLS/cert.h
index 30c7b65..30c7b65 100644..100755
--- a/ccast/axTLS/cert.h
+++ b/ccast/axTLS/cert.h
diff --git a/ccast/axTLS/crypto.h b/ccast/axTLS/crypto.h
index 8a314a3..bf2c187 100644..100755
--- a/ccast/axTLS/crypto.h
+++ b/ccast/axTLS/crypto.h
@@ -39,7 +39,7 @@
extern "C" {
#endif
-#include "config.h"
+#include "axTLS_config.h"
#include "bigint_impl.h"
#include "bigint.h"
diff --git a/ccast/axTLS/crypto_misc.c b/ccast/axTLS/crypto_misc.c
index f43fd04..f43fd04 100644..100755
--- a/ccast/axTLS/crypto_misc.c
+++ b/ccast/axTLS/crypto_misc.c
diff --git a/ccast/axTLS/crypto_misc.h b/ccast/axTLS/crypto_misc.h
index acb5c73..acb5c73 100644..100755
--- a/ccast/axTLS/crypto_misc.h
+++ b/ccast/axTLS/crypto_misc.h
diff --git a/ccast/axTLS/gen_cert.c b/ccast/axTLS/gen_cert.c
index d5cb4d5..fa22c4e 100644..100755
--- a/ccast/axTLS/gen_cert.c
+++ b/ccast/axTLS/gen_cert.c
@@ -28,7 +28,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
+#include "axTLS_config.h"
#ifdef CONFIG_SSL_GENERATE_X509_CERT
#include <string.h>
diff --git a/ccast/axTLS/hmac.c b/ccast/axTLS/hmac.c
index 24a04d7..24a04d7 100644..100755
--- a/ccast/axTLS/hmac.c
+++ b/ccast/axTLS/hmac.c
diff --git a/ccast/axTLS/loader.c b/ccast/axTLS/loader.c
index 92167be..92167be 100644..100755
--- a/ccast/axTLS/loader.c
+++ b/ccast/axTLS/loader.c
diff --git a/ccast/axTLS/md2.c b/ccast/axTLS/md2.c
index dee909a..dee909a 100644..100755
--- a/ccast/axTLS/md2.c
+++ b/ccast/axTLS/md2.c
diff --git a/ccast/axTLS/md5.c b/ccast/axTLS/md5.c
index 7f50713..7f50713 100644..100755
--- a/ccast/axTLS/md5.c
+++ b/ccast/axTLS/md5.c
diff --git a/ccast/axTLS/openssl.c b/ccast/axTLS/openssl.c
index e700436..e3f8972 100644..100755
--- a/ccast/axTLS/openssl.c
+++ b/ccast/axTLS/openssl.c
@@ -36,7 +36,7 @@
* port is.
*/
-#include "config.h"
+#include "axTLS_config.h"
#ifdef CONFIG_OPENSSL_COMPATIBLE
#include <stdlib.h>
diff --git a/ccast/axTLS/os_int.h b/ccast/axTLS/os_int.h
index 4918111..8ae5878 100644..100755
--- a/ccast/axTLS/os_int.h
+++ b/ccast/axTLS/os_int.h
@@ -33,7 +33,8 @@ extern "C" {
#if (__STDC_VERSION__ >= 199901L) /* C99 */ \
|| defined(_STDINT_H_) || defined(_STDINT_H) \
- || defined(_SYS_TYPES_H)
+ || defined(_SYS_TYPES_H) \
+ || (defined(__APPLE__) && defined(__POWERPC__))
#include <stdint.h>
diff --git a/ccast/axTLS/os_port.c b/ccast/axTLS/os_port.c
index 0bb74f8..0bb74f8 100644..100755
--- a/ccast/axTLS/os_port.c
+++ b/ccast/axTLS/os_port.c
diff --git a/ccast/axTLS/os_port.h b/ccast/axTLS/os_port.h
index 8ede75a..8ede75a 100644..100755
--- a/ccast/axTLS/os_port.h
+++ b/ccast/axTLS/os_port.h
diff --git a/ccast/axTLS/p12.c b/ccast/axTLS/p12.c
index 2bafaf7..2bafaf7 100644..100755
--- a/ccast/axTLS/p12.c
+++ b/ccast/axTLS/p12.c
diff --git a/ccast/axTLS/private_key.h b/ccast/axTLS/private_key.h
index ce7985c..ce7985c 100644..100755
--- a/ccast/axTLS/private_key.h
+++ b/ccast/axTLS/private_key.h
diff --git a/ccast/axTLS/rc4.c b/ccast/axTLS/rc4.c
index 12a1211..12a1211 100644..100755
--- a/ccast/axTLS/rc4.c
+++ b/ccast/axTLS/rc4.c
diff --git a/ccast/axTLS/rsa.c b/ccast/axTLS/rsa.c
index e707f2b..e707f2b 100644..100755
--- a/ccast/axTLS/rsa.c
+++ b/ccast/axTLS/rsa.c
diff --git a/ccast/axTLS/sha1.c b/ccast/axTLS/sha1.c
index 1082733..1082733 100644..100755
--- a/ccast/axTLS/sha1.c
+++ b/ccast/axTLS/sha1.c
diff --git a/ccast/axTLS/ssl.h b/ccast/axTLS/ssl.h
index 3f001da..3f001da 100644..100755
--- a/ccast/axTLS/ssl.h
+++ b/ccast/axTLS/ssl.h
diff --git a/ccast/axTLS/temp b/ccast/axTLS/temp
index 859e8be..859e8be 100644..100755
--- a/ccast/axTLS/temp
+++ b/ccast/axTLS/temp
diff --git a/ccast/axTLS/tls1.c b/ccast/axTLS/tls1.c
index b635263..b635263 100644..100755
--- a/ccast/axTLS/tls1.c
+++ b/ccast/axTLS/tls1.c
diff --git a/ccast/axTLS/tls1.h b/ccast/axTLS/tls1.h
index 0086302..14c6382 100644..100755
--- a/ccast/axTLS/tls1.h
+++ b/ccast/axTLS/tls1.h
@@ -40,8 +40,8 @@
extern "C" {
#endif
-#include "version.h"
-#include "config.h"
+#include "axTLS_version.h"
+#include "axTLS_config.h"
#include "os_int.h"
#include "crypto.h"
#include "crypto_misc.h"
diff --git a/ccast/axTLS/tls1_clnt.c b/ccast/axTLS/tls1_clnt.c
index cb8b990..cb8b990 100644..100755
--- a/ccast/axTLS/tls1_clnt.c
+++ b/ccast/axTLS/tls1_clnt.c
diff --git a/ccast/axTLS/tls1_svr.c b/ccast/axTLS/tls1_svr.c
index 51c9d76..51c9d76 100644..100755
--- a/ccast/axTLS/tls1_svr.c
+++ b/ccast/axTLS/tls1_svr.c
diff --git a/ccast/axTLS/x509.c b/ccast/axTLS/x509.c
index c2ca49f..c2ca49f 100644..100755
--- a/ccast/axTLS/x509.c
+++ b/ccast/axTLS/x509.c
diff --git a/ccast/cast_channel.proto b/ccast/cast_channel.proto
index d321eaf..d321eaf 100644..100755
--- a/ccast/cast_channel.proto
+++ b/ccast/cast_channel.proto
diff --git a/ccast/ccast.c b/ccast/ccast.c
index 5c1ed7b..981b5ae 100644..100755
--- a/ccast/ccast.c
+++ b/ccast/ccast.c
@@ -27,20 +27,19 @@
#else
#include "numsup.h"
#endif
-#include "yajl.h"
#include "conv.h"
#include "base64.h"
+#include "yajl.h"
#include "ccpacket.h"
#include "ccmes.h"
#include "ccast.h"
-#undef DEBUG
-#undef CHECK_JSON
+#undef DEBUG /* [und] */
+#undef USE_DEF_RECIEVER /* [und] */
+#undef CHECK_JSON /* [und] */
#ifdef DEBUG
-# define dbgo stdout
-# define DBG(xxx) fprintf xxx ;
-void cc_dump_bytes(FILE *fp, char *pfx, unsigned char *buf, int len);
+# define DBG(xxx) a1logd xxx ;
#else
# define DBG(xxx) ;
#endif /* DEBUG */
@@ -59,8 +58,8 @@ static void check_json(char *mesbuf) {
char errbuf[1024];
if ((node = yajl_tree_parse(mesbuf, errbuf, sizeof(errbuf))) == NULL) {
- fprintf(dbgo,"yajl_tree_parse of send message failed with '%s'\n",errbuf);
- fprintf(dbgo,"JSON = '%s'\n",mesbuf);
+ fprintf(g_log,0,"yajl_tree_parse of send message failed with '%s'\n",errbuf);
+ fprintf(g_log,0,"JSON = '%s'\n",mesbuf);
exit(1);
}
yajl_tree_free(node);
@@ -85,7 +84,7 @@ static int cc_rec_thread(void *context) {
yajl_val tyn, idn;
int rv = 0;
- DBG((dbgo,"ccthread starting\n"))
+ DBG((g_log,0,"ccthread starting\n"))
ccmes_init(&mes);
ccmes_init(&smes);
@@ -101,21 +100,21 @@ static int cc_rec_thread(void *context) {
if ((merr = sv->receive(sv, &mes)) != ccmessv_OK) {
if (merr == ccmessv_timeout) {
- DBG((dbgo,"ccthread: got receive timeout (OK)\n"))
+ DBG((g_log,0,"ccthread: got receive timeout (OK)\n"))
msec_sleep(100);
} else {
- DBG((dbgo,"ccthread: messv->receive failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"ccthread: messv->receive failed with '%s'\n",ccmessv_emes(merr)))
msec_sleep(100);
#ifdef NEVER
//This won't work - we need to re-join the session etc.,
if (p->messv->pk->reconnect(p->messv->pk)) {
- DBG((dbgo,"ccthread: reconnect after error failed\n"))
+ DBG((g_log,0,"ccthread: reconnect after error failed\n"))
rv = 1;
break;
}
#endif
if (errc++ > 20) { /* Too many failures */
- DBG((dbgo,"ccthread: too many errors - giving up\n"))
+ DBG((g_log,0,"ccthread: too many errors - giving up\n"))
/* Hmm. The connection seems to have gone down ? */
rv = 1;
break;
@@ -130,13 +129,13 @@ static int cc_rec_thread(void *context) {
if (mes.mtype != NULL && strcmp(mes.mtype, "CLOSE") == 0) {
/* Hmm. That indicates an error */
- DBG((dbgo,"ccthread: got CLOSE message - giving up\n"))
+ DBG((g_log,0,"ccthread: got CLOSE message - giving up\n"))
rv = 1;
break;
} else if (mes.mtype != NULL && strcmp(mes.mtype, "PING") == 0) {
if ((merr = sv->send(sv, &smes)) != ccmessv_OK) {
- DBG((dbgo,"ccthread: send PONG failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"ccthread: send PONG failed with '%s'\n",ccmessv_emes(merr)))
}
/* Got reply - add to linked list */
@@ -144,12 +143,12 @@ static int cc_rec_thread(void *context) {
int found;
#ifdef DEBUG
if (p->w_rq) {
- DBG((dbgo,"ccthread: waiting for ns '%s' and mes->ns '%s'\n",
+ DBG((g_log,0,"ccthread: waiting for ns '%s' and mes->ns '%s'\n",
p->w_rqns, mes.namespace))
- DBG((dbgo,"ccthread: waiting for id %d and mes->id %d\n",
+ DBG((g_log,0,"ccthread: waiting for id %d and mes->id %d\n",
p->w_rqid, mes.rqid))
} else {
- DBG((dbgo,"ccthread: has no client waiting\n"))
+ DBG((g_log,0,"ccthread: has no client waiting\n"))
}
#endif
@@ -161,18 +160,18 @@ static int cc_rec_thread(void *context) {
if (found || mes.rqid != 0) {
ccmes *nmes;
if ((nmes = (ccmes *)calloc(1, sizeof(ccmes))) == NULL) {
- DBG((dbgo,"ccthread: calloc failed\n"))
+ DBG((g_log,0,"ccthread: calloc failed\n"))
} else {
ccmes_transfer(nmes, &mes);
- DBG((dbgo,"ccthread: adding message type '%s' id %d to list (found %d)\n",nmes->mtype,nmes->rqid,found))
+ DBG((g_log,0,"ccthread: adding message type '%s' id %d to list (found %d)\n",nmes->mtype,nmes->rqid,found))
amutex_lock(p->rlock); /* We're modifying p->rmes list */
nmes->next = p->rmes; /* Put at start of list */
p->rmes = nmes;
/* Client is waiting for this */
if (found) {
- DBG((dbgo,"ccthread: client was waiting for this message\n"))
+ DBG((g_log,0,"ccthread: client was waiting for this message\n"))
acond_signal(p->rcond);
}
amutex_unlock(p->rlock); /* We've finished modifying p->rmes list */
@@ -183,7 +182,7 @@ static int cc_rec_thread(void *context) {
/* Got anonomous status message */
ccmes_empty(&mes);
}
- DBG((dbgo, "ccthread: about to exit - stop = %d\n",p->stop))
+ DBG((g_log,0, "ccthread: about to exit - stop = %d\n",p->stop))
/* We're bailing out or stopping */
p->stopped = 1;
@@ -191,12 +190,12 @@ static int cc_rec_thread(void *context) {
/* Release client if it was waiting */
amutex_lock(p->rlock);
if (p->w_rq != 0) {
- DBG((dbgo,"ccthread: client was waiting for message - abort it\n"))
+ DBG((g_log,0,"ccthread: client was waiting for message - abort it\n"))
acond_signal(p->rcond);
}
amutex_unlock(p->rlock);
- DBG((dbgo,"ccthread returning %d\n",rv))
+ DBG((g_log,0,"ccthread returning %d\n",rv))
return rv;
}
@@ -211,14 +210,14 @@ static int get_a_reply_id(ccast *p, char *namespace, int rqid, ccmes *rmes, int
ccmes *mes, *xmes, *fmes = NULL;
int rv = 0;
- DBG((dbgo," get_a_reply_id getting namespace '%s' id %d\n",
+ DBG((g_log,0," get_a_reply_id getting namespace '%s' id %d\n",
namespace == NULL ? "(none)" : namespace, rqid))
amutex_lock(p->rlock); /* We're modifying p->rmes list */
if (p->stop || p->stopped) {
amutex_unlock(p->rlock); /* Allow thread to modify p->rmes list */
- DBG((dbgo," get_a_reply_id: thread is stopping or stopped\n"))
+ DBG((g_log,0," get_a_reply_id: thread is stopping or stopped\n"))
return 1;
}
@@ -253,29 +252,29 @@ static int get_a_reply_id(ccast *p, char *namespace, int rqid, ccmes *rmes, int
/* We need to wait until it turns up */
/* Allow thread to modify p->rmes list and signal us */
if (acond_timedwait(p->rcond, p->rlock, to) != 0) {
- DBG((dbgo," get_a_reply_id timed out after %f secs\n",to/1000.0))
+ DBG((g_log,0," get_a_reply_id timed out after %f secs\n",to/1000.0))
rv = 2;
break;
}
#else
acond_wait(p->rcond, p->rlock);
#endif
- DBG((dbgo," get_a_reply_id got released\n"))
+ DBG((g_log,0," get_a_reply_id got released\n"))
}
p->w_rq = 0; /* We're not looking for anything now */
amutex_unlock(p->rlock); /* Allow thread to modify p->rmes list */
if (p->stop || p->stopped) {
- DBG((dbgo," get_a_reply_id failed because thread is stopped or stopping\n"))
+ DBG((g_log,0," get_a_reply_id failed because thread is stopped or stopping\n"))
ccmes_init(rmes);
return 1;
}
if (rv != 0) {
- DBG((dbgo," get_a_reply_id returning error %d\n",rv))
+ DBG((g_log,0," get_a_reply_id returning error %d\n",rv))
} else {
ccmes_transfer(rmes, fmes);
- DBG((dbgo," get_a_reply_id returning type '%s' id %d\n",rmes->mtype,rmes->rqid))
+ DBG((g_log,0," get_a_reply_id returning type '%s' id %d\n",rmes->mtype,rmes->rqid))
}
return rv;
@@ -288,7 +287,7 @@ void ccast_delete_from_cleanup_list(ccast *p);
/* Cleanup any created objects */
static void cleanup_ccast(ccast *p) {
- DBG((dbgo," cleanup_ccast() called\n"))
+ DBG((g_log,0," cleanup_ccast() called\n"))
p->stop = 1; /* Tell the thread to exit */
@@ -336,7 +335,7 @@ static void cleanup_ccast(ccast *p) {
static void shutdown_ccast(ccast *p) {
ccmes mes;
- DBG((dbgo," shutdown_ccast() called\n"))
+ DBG((g_log,0," shutdown_ccast() called\n"))
ccmes_init(&mes);
@@ -428,19 +427,19 @@ static int start_ccast(ccast *p) {
/* Hmm. Could put creation of pk inside new_ccmessv() ? */
if ((pk = new_ccpacket()) == NULL) {
- DBG((dbgo,"start_ccast: new_ccpacket() failed\n"))
+ DBG((g_log,0,"start_ccast: new_ccpacket() failed\n"))
goto retry;
}
if ((perr = pk->connect(pk, p->id.ip, 8009)) != ccpacket_OK) {
- DBG((dbgo,"start_ccast: ccpacket connect failed with '%s'\n",ccpacket_emes(perr)))
+ DBG((g_log,0,"start_ccast: ccpacket connect failed with '%s'\n",ccpacket_emes(perr)))
goto retry;
}
- DBG((dbgo,"Got TLS connection to '%s\n'",p->id.name))
+ DBG((g_log,0,"Got TLS connection to '%s\n'",p->id.name))
if ((p->messv = new_ccmessv(pk)) == NULL) {
- DBG((dbgo,"start_ccast: new_ccmessv() failed\n"))
+ DBG((g_log,0,"start_ccast: new_ccmessv() failed\n"))
goto retry;
}
pk = NULL; /* Will get deleted with messv now */
@@ -452,7 +451,7 @@ static int start_ccast(ccast *p) {
mes.binary = 0;
mes.data = (ORD8 *)"{ \"type\": \"CONNECT\" }";
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"start_ccast: CONNECT failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"start_ccast: CONNECT failed with '%s'\n",ccmessv_emes(merr)))
goto retry;
}
@@ -460,7 +459,7 @@ static int start_ccast(ccast *p) {
/* We don't want to start this until the TLS negotiations and */
/* the synchronous ssl_readi()'s it uses are complete. */
if ((p->rmesth = new_athread(cc_rec_thread, (void *)p)) == NULL) {
- DBG((dbgo,"start_ccast: creating message thread failed\n"))
+ DBG((g_log,0,"start_ccast: creating message thread failed\n"))
goto retry;
}
@@ -469,7 +468,7 @@ static int start_ccast(ccast *p) {
mes.namespace = heartbeat_chan;
mes.data = (ORD8 *)"{ \"type\": \"PING\" }";
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"start_ccast: PING failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"start_ccast: PING failed with '%s'\n",ccmessv_emes(merr)))
return 1;
}
@@ -498,14 +497,14 @@ static int start_ccast(ccast *p) {
sprintf(mesbuf, "{ \"requestId\": %d, \"type\": \"LAUNCH\", \"appId\": \"%s\" }",
reqid, appid);
- DBG((dbgo,"start_ccast: about to do LAUNCH\n"))
+ DBG((g_log,0,"start_ccast: about to do LAUNCH\n"))
/* Launch the default application */
/* (Presumably we would use the com.google.cast.receiver channel */
/* for monitoring and controlling the reciever) */
mes.namespace = receiver_chan;
mes.data = (ORD8 *)mesbuf;
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"start_ccast: LAUNCH failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"start_ccast: LAUNCH failed with '%s'\n",ccmessv_emes(merr)))
goto retry;
}
@@ -516,7 +515,7 @@ static int start_ccast(ccast *p) {
/* Wait for a reply to the LAUNCH (15 sec) */
if (get_a_reply_id(p, receiver_chan, reqid, &rmes, 15000) != 0) {
- DBG((dbgo,"start_ccast: LAUNCH failed to get a reply\n"))
+ DBG((g_log,0,"start_ccast: LAUNCH failed to get a reply\n"))
goto retry;
}
@@ -530,7 +529,7 @@ static int start_ccast(ccast *p) {
|| strcmp(rmes.mtype, "LAUNCH_ERROR") != 0
|| rmes.tnode == NULL
|| (app+1) >= naps) {
- DBG((dbgo,"start_ccast: LAUNCH failed to get a RECEIVER_STATUS or LAUNCH ERROR reply\n"))
+ DBG((g_log,0,"start_ccast: LAUNCH failed to get a RECEIVER_STATUS or LAUNCH ERROR reply\n"))
ccmes_empty(&rmes);
goto retry;
}
@@ -538,33 +537,33 @@ static int start_ccast(ccast *p) {
/* Try the next application */
}
- DBG((dbgo,"start_ccast: LAUNCH soceeded, load delay = %d msec\n",p->load_delay))
+ DBG((g_log,0,"start_ccast: LAUNCH soceeded, load delay = %d msec\n",p->load_delay))
{
yajl_val idn, tpn;
if ((idn = yajl_tree_get_first(rmes.tnode, "sessionId", yajl_t_string)) == NULL
|| (tpn = yajl_tree_get_first(rmes.tnode, "transportId", yajl_t_string)) == NULL) {
- DBG((dbgo,"start_ccast: LAUNCH failed to get sessionId & transportId\n"))
+ DBG((g_log,0,"start_ccast: LAUNCH failed to get sessionId & transportId\n"))
ccmes_empty(&rmes);
goto retry;
}
- p->sessionId = strdup(YAJL_GET_STRING(idn));
- p->transportId = strdup(YAJL_GET_STRING(tpn));
+ p->sessionId = YAJL_GET_STRINGDUP(idn);
+ p->transportId = YAJL_GET_STRINGDUP(tpn);
if (p->sessionId == NULL || p->transportId == NULL) {
- DBG((dbgo,"start_ccast: strdup failed\n"))
+ DBG((g_log,0,"start_ccast: strdup failed\n"))
ccmes_empty(&rmes);
goto retry;
}
}
ccmes_empty(&rmes);
- DBG((dbgo,"### Got sessionId = '%s', transportId = '%s'\n",p->sessionId, p->transportId))
+ DBG((g_log,0,"### Got sessionId = '%s', transportId = '%s'\n",p->sessionId, p->transportId))
/* Connect up to the reciever media channels */
mes.destination_id = p->transportId;
mes.namespace = connection_chan;
mes.data = (ORD8 *)"{ \"type\": \"CONNECT\" }";
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"messv->send CONNECT failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"messv->send CONNECT failed with '%s'\n",ccmessv_emes(merr)))
goto retry;
}
@@ -586,11 +585,11 @@ static int start_ccast(ccast *p) {
}
if (tries >= maxtries) {
- DBG((dbgo,"Failed to start ChromeCast\n"))
+ DBG((g_log,0,"Failed to start ChromeCast\n"))
return 1;
}
- DBG((dbgo,"Succeeded in starting ChromeCast\n"))
+ DBG((g_log,0,"Succeeded in starting ChromeCast\n"))
ccast_install_signal_handlers(p);
@@ -613,11 +612,11 @@ static int get_direct_send(ccast *p) {
/* Create a new ChromeCast */
/* Return NULL on error */
ccast *new_ccast(ccast_id *id,
-int forcedef) {
+int forcedef) { // Force default reciever
ccast *p = NULL;
if ((p = (ccast *)calloc(1, sizeof(ccast))) == NULL) {
- DBG((dbgo, "new_ccast: calloc failed\n"))
+ DBG((g_log,0, "new_ccast: calloc failed\n"))
return NULL;
}
@@ -628,6 +627,9 @@ int forcedef) {
p->get_load_delay = get_load_delay;
p->get_direct_send = get_direct_send;
+#ifdef USE_DEF_RECIEVER
+ forcedef = 1;
+#endif
p->forcedef = forcedef;
ccast_id_copy(&p->id, id);
@@ -672,15 +674,15 @@ static int load_ccast(
size_t iilen = ilen;
firstid = lastid = reqid = ++p->requestId;
- DBG((dbgo,"##### load_ccast try %d/%d\n",i+1,maxtries))
+ DBG((g_log,0,"##### load_ccast try %d/%d\n",i+1,maxtries))
if (p->messv == NULL) {
- DBG((dbgo,"mes->send LOAD failed due to lost connection\n"))
+ DBG((g_log,0,"mes->send LOAD failed due to lost connection\n"))
} else {
if (url == NULL && !p->patgenrcv) {
- DBG((dbgo,"mes->send not given URL\n"))
+ DBG((g_log,0,"mes->send not given URL\n"))
return 1;
}
@@ -720,7 +722,7 @@ static int load_ccast(
check_json((char *)mes.data);
#endif
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
rv = 1;
goto retry; /* Failed */
}
@@ -733,7 +735,7 @@ static int load_ccast(
int dlen;
if ((mesbuf = malloc(1024 + EBASE64LEN(iilen))) == NULL) {
- DBG((dbgo,"mes->send malloc failed\n"))
+ DBG((g_log,0,"mes->send malloc failed\n"))
return 1;
}
@@ -742,7 +744,7 @@ static int load_ccast(
"{ \"contentId\": \"data:image/png;base64,",reqid);
ebase64(&dlen, cp, iibuf, iilen);
cp += dlen;
- DBG((dbgo,"base64 encoded PNG = %d bytes\n",dlen))
+ DBG((g_log,0,"base64 encoded PNG = %d bytes\n",dlen))
sprintf(cp, "|rgb(%d, %d, %d)|%f|%f|%f|%f\","
"\"streamType\": \"LIVE\",\"contentType\": \"text/plain\" } }",
(int)(bg[0] * 255.0 + 0.5), (int)(bg[1] * 255.0 + 0.5), (int)(bg[2] * 255.0 + 0.5),
@@ -757,7 +759,7 @@ static int load_ccast(
check_json((char *)mes.data);
#endif
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
free(mesbuf);
rv = 1;
goto retry; /* Failed */
@@ -773,7 +775,7 @@ static int load_ccast(
int dlen; /* Encoded length to send */
if ((mesbuf = malloc(61 * 1024)) == NULL) {
- DBG((dbgo,"mes->send malloc failed\n"))
+ DBG((g_log,0,"mes->send malloc failed\n"))
return 1;
}
@@ -793,7 +795,7 @@ static int load_ccast(
cp += sprintf(cp, "\"encoding\": \"base64\",");
cp += sprintf(cp, "\"data\": \"");
ebase64(&dlen, cp, iibuf, meslen);
- DBG((dbgo,"part base64 encoded PNG = %d bytes\n",dlen))
+ DBG((g_log,0,"part base64 encoded PNG = %d bytes\n",dlen))
iibuf += meslen;
iilen -= meslen;
senclen += dlen;
@@ -821,7 +823,7 @@ static int load_ccast(
#endif
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
free(mesbuf);
rv = 1;
goto retry; /* Failed */
@@ -835,7 +837,7 @@ static int load_ccast(
if (meslen > maxlen)
meslen = maxlen;
- DBG((dbgo,"Sending %d bytes of %d remaining in image\n",meslen,iilen))
+ DBG((g_log,0,"Sending %d bytes of %d remaining in image\n",meslen,iilen))
lastid = reqid = ++p->requestId;
@@ -844,7 +846,7 @@ static int load_ccast(
cp += sprintf(cp, "\"requestId\": %d,",reqid);
cp += sprintf(cp, "\"foreground\": \"");
ebase64(&dlen, cp, iibuf, meslen);
- DBG((dbgo,"part base64 encoded PNG = %d bytes\n",dlen))
+ DBG((g_log,0,"part base64 encoded PNG = %d bytes\n",dlen))
iibuf += meslen;
iilen -= meslen;
senclen += dlen;
@@ -862,7 +864,7 @@ static int load_ccast(
check_json((char *)mes.data);
#endif
if ((merr = p->messv->send(p->messv, &mes)) != ccmessv_OK) {
- DBG((dbgo,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
+ DBG((g_log,0,"mes->send LOAD failed with '%s'\n",ccmessv_emes(merr)))
free(mesbuf);
rv = 1;
goto retry; /* Failed */
@@ -872,41 +874,41 @@ static int load_ccast(
/* Wait for an ACK, to make sure the channel doesn't get choked up */
if (get_a_reply_id(p, direct_chan, firstid, &mes, 10000) != 0) {
- DBG((dbgo,"load_ccast: failed to get reply\n"))
+ DBG((g_log,0,"load_ccast: failed to get reply\n"))
rv = 2;
goto retry; /* Failed */
}
if (mes.mtype == NULL) {
- DBG((dbgo,"load_ccast: mtype == NULL\n"))
+ DBG((g_log,0,"load_ccast: mtype == NULL\n"))
rv = 2;
goto retry; /* Failed */
} else if (dchan && strcmp(mes.mtype, "ACK") == 0) {
- DBG((dbgo,"load_ccast: got ACK\n"))
+ DBG((g_log,0,"load_ccast: got ACK\n"))
} else if (dchan && strcmp(mes.mtype, "NACK") == 0) {
/* Failed. Get error status */
yajl_val errors;
if ((errors = yajl_tree_get_first(mes.tnode, "errors", yajl_t_array)) != NULL) {
- DBG((dbgo,"NACK returned errors:\n"))
+ DBG((g_log,0,"NACK returned errors:\n"))
if (YAJL_IS_ARRAY(errors)) {
for (i = 0; i < errors->u.array.len; i++) {
yajl_val error = errors->u.array.values[i];
- DBG((dbgo,"%s\n",error->u.string))
+ DBG((g_log,0,"%s\n",error->u.string))
}
} else {
- DBG((dbgo,"NACK errors is not an array!\n"))
+ DBG((g_log,0,"NACK errors is not an array!\n"))
}
} else {
- DBG((dbgo,"NACK failed to return errors\n"))
+ DBG((g_log,0,"NACK failed to return errors\n"))
}
rv = 2;
goto retry; /* Failed */
} else {
rv = 3;
- DBG((dbgo,"load_ccast: got mtype '%s'\n",mes.mtype))
+ DBG((g_log,0,"load_ccast: got mtype '%s'\n",mes.mtype))
goto retry; /* Failed */
}
ccmes_empty(&mes);
@@ -922,7 +924,7 @@ static int load_ccast(
#endif /* !NEVER */
} else {
- DBG((dbgo,"mes->send not given URL or png data\n"))
+ DBG((g_log,0,"mes->send not given URL or png data\n"))
return 1;
}
}
@@ -931,7 +933,7 @@ static int load_ccast(
for (reqid = firstid; reqid <= lastid; reqid++) {
if (get_a_reply_id(p, dchan ? direct_chan : media_chan, reqid, &mes, 5000) != 0) {
- DBG((dbgo,"load_ccast: failed to get reply\n"))
+ DBG((g_log,0,"load_ccast: failed to get reply\n"))
rv = 2;
goto retry; /* Failed */
}
@@ -946,29 +948,29 @@ static int load_ccast(
NACK
*/
if (mes.mtype == NULL) {
- DBG((dbgo,"load_ccast: mtype == NULL\n"))
+ DBG((g_log,0,"load_ccast: mtype == NULL\n"))
rv = 2;
goto retry; /* Failed */
} else if (dchan && strcmp(mes.mtype, "ACK") == 0) {
- DBG((dbgo,"load_ccast: got ACK\n"))
+ DBG((g_log,0,"load_ccast: got ACK\n"))
} else if (dchan && strcmp(mes.mtype, "NACK") == 0) {
/* Failed. Get error status */
yajl_val errors;
if ((errors = yajl_tree_get_first(mes.tnode, "errors", yajl_t_array)) != NULL) {
- DBG((dbgo,"NACK returned errors:\n"))
+ DBG((g_log,0,"NACK returned errors:\n"))
if (YAJL_IS_ARRAY(errors)) {
for (i = 0; i < errors->u.array.len; i++) {
yajl_val error = errors->u.array.values[i];
- DBG((dbgo,"%s\n",error->u.string))
+ DBG((g_log,0,"%s\n",error->u.string))
}
} else {
- DBG((dbgo,"NACK errors is not an array!\n"))
+ DBG((g_log,0,"NACK errors is not an array!\n"))
}
} else {
- DBG((dbgo,"NACK failed to return errors\n"))
+ DBG((g_log,0,"NACK failed to return errors\n"))
}
rv = 2;
goto retry; /* Failed */
@@ -977,15 +979,15 @@ static int load_ccast(
yajl_val node, i;
if ((i = yajl_tree_get_first(mes.tnode, "mediaSessionId", yajl_t_number)) != NULL) {
p->mediaSessionId = YAJL_GET_INTEGER(i);
- DBG((dbgo,"MEDIA_STATUS returned mediaSessionId %d\n",p->mediaSessionId))
+ DBG((g_log,0,"MEDIA_STATUS returned mediaSessionId %d\n",p->mediaSessionId))
} else {
- DBG((dbgo,"MEDIA_STATUS failed to return mediaSessionId\n"))
+ DBG((g_log,0,"MEDIA_STATUS failed to return mediaSessionId\n"))
}
/* Suceeded */
} else {
rv = 3;
- DBG((dbgo,"load_ccast: got mtype '%s'\n",mes.mtype))
+ DBG((g_log,0,"load_ccast: got mtype '%s'\n",mes.mtype))
goto retry; /* Failed */
}
ccmes_empty(&mes);
@@ -1000,10 +1002,10 @@ static int load_ccast(
return rv; /* Too many tries - give up */
}
- DBG((dbgo,"load_ccast: failed on try %d/%d - re-connecting to chrome cast\n",i+1,maxtries))
+ DBG((g_log,0,"load_ccast: failed on try %d/%d - re-connecting to chrome cast\n",i+1,maxtries))
shutdown_ccast(p); /* Tear connection down */
if (start_ccast(p)) { /* Set it up again */
- DBG((dbgo,"load_ccast: re-connecting failed\n"))
+ DBG((g_log,0,"load_ccast: re-connecting failed\n"))
return 1;
}
/* And retry */
@@ -1135,6 +1137,7 @@ void ccastQuant(void *ctx, double out[3], double in[3]) {
double r = in[0], g = in[1], b = in[2];
double Y, Cb, Cr;
+double or = r, og = g, ob = b;
// printf("ccastQuant: %f %f %f",r,g,b);
/* Scale RGB to 8 bit then quantize, since that's the limit of the frame buffer */
@@ -1198,6 +1201,11 @@ void ccastQuant(void *ctx, double out[3], double in[3]) {
out[1] = g;
out[2] = b;
+if (fabs(or - r) > 3.0
+ || fabs(og - g) > 3.0
+ || fabs(ob - b) > 3.0) {
+ printf("%f %f %f -> %f %f %f\n",or,og,ob,r,g,b);
+}
// printf(" -> %f %f %f\n",r,g,b);
}
diff --git a/ccast/ccast.h b/ccast/ccast.h
index 7014679..7014679 100644..100755
--- a/ccast/ccast.h
+++ b/ccast/ccast.h
diff --git a/ccast/ccmdns.c b/ccast/ccmdns.c
index 8dd889e..0ba3318 100644..100755
--- a/ccast/ccmdns.c
+++ b/ccast/ccmdns.c
@@ -126,9 +126,7 @@ typedef int SOCKET;
#endif
#ifdef DEBUG
-# define dbgo stdout
-# define DBG(xxx) fprintf xxx ;
-void cc_dump_bytes(FILE *fp, char *pfx, unsigned char *buf, int len);
+# define DBG(xxx) a1logd xxx ;
#else
# define DBG(xxx) ;
#endif /* DEBUG */
@@ -190,7 +188,7 @@ static int init_mDNS() {
#ifdef NT
WSADATA data;
if (WSAStartup(MAKEWORD(2,2), &data)) {
- DBG((dbgo,"WSAStartup failed\n"))
+ DBG((g_log,0,"WSAStartup failed\n"))
return 1;
}
#endif
@@ -206,12 +204,12 @@ static int init_send_mDNS(SOCKET *psock) {
SOCKET sock;
struct sockaddr_in stSourceAddr;
- DBG((dbgo,"init_send_mDNS() called\n"))
+ DBG((g_log,0,"init_send_mDNS() called\n"))
/* get a datagram (UDP) socket */
sock = socket(PF_INET, SOCK_DGRAM, 0);
if (sock == INVALID_SOCKET) {
- DBG((dbgo,"opening UDP socked failed with %d\n",ERRNO))
+ DBG((g_log,0,"opening send UDP socked failed with %d\n",ERRNO))
return 1;
}
@@ -231,7 +229,7 @@ static int init_send_mDNS(SOCKET *psock) {
{
int on = 1;
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char *)&on, sizeof(on))) {
- DBG((dbgo,"setsockopt(SO_REUSEADDR) failed with %d\n",ERRNO))
+ DBG((g_log,0,"setsockopt(SO_REUSEADDR) failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -246,7 +244,7 @@ static int init_send_mDNS(SOCKET *psock) {
# endif
# endif
if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (const char *)&on, sizeof(on))) {
- DBG((dbgo,"setsockopt(SO_REUSEPORT) failed with %d\n",ERRNO))
+ DBG((g_log,0,"setsockopt(SO_REUSEPORT) failed with %d\n",ERRNO))
}
#endif
}
@@ -264,7 +262,7 @@ static int init_send_mDNS(SOCKET *psock) {
nRet = bind(sock, (struct sockaddr *)&stSourceAddr,
sizeof(struct sockaddr));
if (nRet == SOCKET_ERROR) {
- DBG((dbgo,"bind failed with %d\n",ERRNO))
+ DBG((g_log,0,"bind failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -283,7 +281,7 @@ static int init_send_mDNS(SOCKET *psock) {
* with loopback disabled), so this failure is of no consequence.
* However, if we *do* get loop-backed data, we'll know why
*/
- DBG((dbgo,"[disabling loopback failed with %d]\n",ERRNO))
+ DBG((g_log,0,"[disabling loopback failed with %d]\n",ERRNO))
}
#ifdef NEVER // We only want this to be local
@@ -294,7 +292,7 @@ static int init_send_mDNS(SOCKET *psock) {
nRet = setsockopt(sock, IPPROTO_IP, IP_MULTICAST_TTL,
(char *)&nOptVal, sizeof(int));
if (nRet == SOCKET_ERROR) {
- DBG((dbgo,"increasing TTL failed with %d\n",ERRNO))
+ DBG((g_log,0,"increasing TTL failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -303,7 +301,7 @@ static int init_send_mDNS(SOCKET *psock) {
if (psock != NULL)
*psock = sock;
- DBG((dbgo,"init sending mDNS succeed\n",ERRNO))
+ DBG((g_log,0,"init sending mDNS succeed\n",ERRNO))
return 0;
}
@@ -317,7 +315,7 @@ static int send_mDNS(SOCKET sock) {
ORD8 achOutBuf[BUFSIZE];
struct sockaddr_in stDestAddr;
- DBG((dbgo,"send_mDNS() called\n"))
+ DBG((g_log,0,"send_mDNS() called\n"))
/* Initialize the Destination Address structure and send */
stDestAddr.sin_family = PF_INET;
@@ -325,22 +323,22 @@ static int send_mDNS(SOCKET sock) {
stDestAddr.sin_port = htons(DESTINATION_PORT);
/* Setup the FQDN data packet to send */
- write_ORD16_be(0, achOutBuf + 0); /* ID */
- write_ORD16_be(0, achOutBuf + 2); /* Flags */
- write_ORD16_be(1, achOutBuf + 4); /* QDCOUNT - one question */
- write_ORD16_be(0, achOutBuf + 6); /* ANCOUNT */
- write_ORD16_be(0, achOutBuf + 8); /* NSCOUNT */
- write_ORD16_be(0, achOutBuf + 10); /* ARCOUNT */
+ write_ORD16_be(achOutBuf + 0, 0); /* ID */
+ write_ORD16_be(achOutBuf + 2, 0); /* Flags */
+ write_ORD16_be(achOutBuf + 4, 1); /* QDCOUNT - one question */
+ write_ORD16_be(achOutBuf + 6, 0); /* ANCOUNT */
+ write_ORD16_be(achOutBuf + 8, 0); /* NSCOUNT */
+ write_ORD16_be(achOutBuf + 10, 0); /* ARCOUNT */
off = 12;
off = write_string(achOutBuf, off, "_googlecast");
off = write_string(achOutBuf, off, "_tcp");
off = write_string(achOutBuf, off, "local");
- write_ORD8(0, achOutBuf + off); /* null string */
+ write_ORD8(achOutBuf + off, 0); /* null string */
off += 1;
- write_ORD16_be(0x000c, achOutBuf + off); /* QCOUNT */
+ write_ORD16_be(achOutBuf + off, 0x000c); /* QCOUNT */
off += 2;
/* Set top bit to get a unicast response (not for ChromeCast though) */
- write_ORD16_be(0x0001, achOutBuf + off); /* QCLASS */
+ write_ORD16_be(achOutBuf + off, 0x0001); /* QCLASS */
off += 2;
nRet = sendto(sock, (char *)achOutBuf, off,
@@ -348,11 +346,11 @@ static int send_mDNS(SOCKET sock) {
(struct sockaddr *) &stDestAddr,
sizeof(struct sockaddr));
if (nRet == SOCKET_ERROR) {
- DBG((dbgo,"sending mDNS query failed with %d\n",ERRNO))
+ DBG((g_log,0,"sending mDNS query failed with %d\n",ERRNO))
return 1;
}
- DBG((dbgo,"sending mDNS query succeed\n",ERRNO))
+ DBG((g_log,0,"sending mDNS query succeed\n",ERRNO))
return 0;
}
@@ -384,12 +382,12 @@ static int init_receive_mDNS(SOCKET *psock) {
struct ip_mreq stIpMreq;
SOCKET sock;
- DBG((dbgo,"init_receive_mDNS() called\n"))
+ DBG((g_log,0,"init_receive_mDNS() called\n"))
/* get a datagram (UDP) socket */
sock = socket(PF_INET, SOCK_DGRAM, 0);
if (sock == INVALID_SOCKET) {
- DBG((dbgo,"opening UDP socked failed with %d\n",ERRNO))
+ DBG((g_log,0,"opening receive UDP socked failed with %d\n",ERRNO))
return 1;
}
@@ -399,7 +397,7 @@ static int init_receive_mDNS(SOCKET *psock) {
{
int on = 1, off = 0;
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char *) &on, sizeof(on))) {
- DBG((dbgo,"setsockopt(SO_REUSEADDR) failed with %d\n",ERRNO))
+ DBG((g_log,0,"setsockopt(SO_REUSEADDR) failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -414,7 +412,7 @@ static int init_receive_mDNS(SOCKET *psock) {
# endif
# endif
if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (const char *)&on, sizeof(on))) {
- DBG((dbgo,"setsockopt(SO_REUSEPORT) failed with %d\n",ERRNO))
+ DBG((g_log,0,"setsockopt(SO_REUSEPORT) failed with %d\n",ERRNO))
}
#endif
}
@@ -432,7 +430,7 @@ static int init_receive_mDNS(SOCKET *psock) {
nRet = bind(sock, (struct sockaddr *)&stSourceAddr,
sizeof(struct sockaddr));
if (nRet == SOCKET_ERROR) {
- DBG((dbgo,"bind failed with %d\n",ERRNO))
+ DBG((g_log,0,"bind failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -444,7 +442,7 @@ static int init_receive_mDNS(SOCKET *psock) {
(char *)&stIpMreq, sizeof (struct ip_mreq));
if (nRet == SOCKET_ERROR) {
- DBG((dbgo,"registering for read events failed with %d\n",ERRNO))
+ DBG((g_log,0,"registering for read events failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -455,7 +453,7 @@ static int init_receive_mDNS(SOCKET *psock) {
DWORD tv;
tv = 100;
if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
- DBG((dbgo,"setsockopt timout failed with %d\n",ERRNO))
+ DBG((g_log,0,"setsockopt timout failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -466,7 +464,7 @@ static int init_receive_mDNS(SOCKET *psock) {
tv.tv_sec = 0;
tv.tv_usec = 100 * 1000;
if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
- DBG((dbgo,"setsockopt timout failed with %d\n",ERRNO))
+ DBG((g_log,0,"setsockopt timout failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -497,7 +495,7 @@ static int receive_mDNS(SOCKET sock, ccast_id ***ids, int emsec) {
;
}
- DBG((dbgo,"receive_mDNS() called with %d ids\n",nids))
+ DBG((g_log,0,"receive_mDNS() called with %d ids\n",nids))
for (smsec = msec_time(), emsec += smsec;msec_time() <= emsec;) {
int i;
@@ -511,20 +509,20 @@ static int receive_mDNS(SOCKET sock, ccast_id ***ids, int emsec) {
if (size == SOCKET_ERROR) {
if (ERRNO == UDP_SOCKET_TIMEOUT)
continue; /* Timeout */
- DBG((dbgo,"recvfrom failed with %d\n",ERRNO))
+ DBG((g_log,0,"recvfrom failed with %d\n",ERRNO))
free_ccids(*ids);
*ids = NULL;
return 1;
}
- DBG((dbgo,"Got mDNS message length %d bytes\n",size))
+ DBG((g_log,0,"Got mDNS message length %d bytes\n",size))
#ifdef DEBUG
- cc_dump_bytes(dbgo, " ", achInBuf, size);
+ adump_bytes(g_log, " ", achInBuf, 0, size);
#endif
if (parse_dns(&name, &ip, achInBuf, size) != 0) {
- DBG((dbgo,"Failed to parse the reply\n"))
+ DBG((g_log,0,"Failed to parse the reply\n"))
} else {
- DBG((dbgo,"Parsed reply OK\n"))
+ DBG((g_log,0,"Parsed reply OK\n"))
//if (*pnids > 0) {
// name = strdup("Argyll1234");
@@ -532,7 +530,7 @@ static int receive_mDNS(SOCKET sock, ccast_id ***ids, int emsec) {
//}
/* If we found an entry */
if (name != NULL && ip != NULL) {
- DBG((dbgo,"Got a name '%s' & IP '%s'\n",name,ip))
+ DBG((g_log,0,"Got a name '%s' & IP '%s'\n",name,ip))
/* Check if it is a duplcate */
for (i = 0; i < nids; i++) {
if (strcmp((*ids)[i]->name, name) == 0
@@ -540,21 +538,21 @@ static int receive_mDNS(SOCKET sock, ccast_id ***ids, int emsec) {
break; /* yes */
}
if (i < nids) {
- DBG((dbgo,"Duplicate\n"))
+ DBG((g_log,0,"Duplicate\n"))
free(name);
free(ip);
} else {
ccast_id **tids;
if ((tids = realloc(*ids, (nids + 2) * sizeof(ccast_id *))) == NULL
|| (*ids = tids, (*ids)[nids] = malloc(sizeof(ccast_id)), (*ids)[nids]) == NULL) {
- DBG((dbgo,"realloc/malloc fail\n"))
+ DBG((g_log,0,"realloc/malloc fail\n"))
free(name);
free(ip);
free_ccids(*ids);
*ids = NULL;
return 1;
} else {
- DBG((dbgo,"Adding entry\n"))
+ DBG((g_log,0,"Adding entry\n"))
(*ids)[nids]->name = name;
(*ids)[nids]->ip = ip;
(*ids)[++nids] = NULL; /* End marker */
@@ -564,7 +562,7 @@ static int receive_mDNS(SOCKET sock, ccast_id ***ids, int emsec) {
}
}
- DBG((dbgo,"receive_mDNS() returning %d in list\n",nids))
+ DBG((g_log,0,"receive_mDNS() returning %d in list\n",nids))
return 0;
}
@@ -581,33 +579,33 @@ ccast_id **get_ccids() {
SOCKET ssock, rsock;
if (init_mDNS()) {
- DBG((dbgo,"init_mDNS() failed\n"))
+ DBG((g_log,0,"init_mDNS() failed\n"))
return NULL;
}
if (init_send_mDNS(&ssock)) {
- DBG((dbgo,"init_send_mDNS() failed\n"))
+ DBG((g_log,0,"init_send_mDNS() failed\n"))
return NULL;
}
if (init_receive_mDNS(&rsock)) {
- DBG((dbgo,"init_receive_mDNS() failed\n"))
+ DBG((g_log,0,"init_receive_mDNS() failed\n"))
closesocket(ssock);
return NULL;
}
smsec = msec_time();
- DBG((dbgo,"Sending mDNS query:\n"))
+ DBG((g_log,0,"Sending mDNS query:\n"))
if (send_mDNS(ssock)) {
- DBG((dbgo,"send_mDNS() #1 failed\n"))
+ DBG((g_log,0,"send_mDNS() #1 failed\n"))
closesocket(ssock);
closesocket(rsock);
return NULL;
}
if (receive_mDNS(rsock, &ids, 100)) {
- DBG((dbgo,"receive_mDNS() #1 failed\n"))
+ DBG((g_log,0,"receive_mDNS() #1 failed\n"))
closesocket(ssock);
closesocket(rsock);
return NULL;
@@ -615,16 +613,16 @@ ccast_id **get_ccids() {
if (ids == NULL && (msec_time() - smsec) < 200) {
- DBG((dbgo,"Sending another mDNS query:\n"))
+ DBG((g_log,0,"Sending another mDNS query:\n"))
if (send_mDNS(ssock)) {
- DBG((dbgo,"send_mDNS() #2 failed\n"))
+ DBG((g_log,0,"send_mDNS() #2 failed\n"))
closesocket(ssock);
closesocket(rsock);
return NULL;
}
if (receive_mDNS(rsock, &ids, 500)) {
- DBG((dbgo,"receive_mDNS() #2 failed\n"))
+ DBG((g_log,0,"receive_mDNS() #2 failed\n"))
closesocket(ssock);
closesocket(rsock);
return NULL;
@@ -633,16 +631,16 @@ ccast_id **get_ccids() {
if (ids == NULL) {
- DBG((dbgo,"Sending a final mDNS query:\n"))
+ DBG((g_log,0,"Sending a final mDNS query:\n"))
if (send_mDNS(ssock)) {
- DBG((dbgo,"send_mDNS() #3 failed\n"))
+ DBG((g_log,0,"send_mDNS() #3 failed\n"))
closesocket(ssock);
closesocket(rsock);
return NULL;
}
if (receive_mDNS(rsock, &ids, 500)) {
- DBG((dbgo,"receive_mDNS() #3 failed\n"))
+ DBG((g_log,0,"receive_mDNS() #3 failed\n"))
closesocket(ssock);
closesocket(rsock);
return NULL;
@@ -655,7 +653,7 @@ ccast_id **get_ccids() {
/* If no ChromCasts found, return an empty list */
if (ids == NULL) {
if ((ids = calloc(sizeof(ccast_id *), 1)) == NULL) {
- DBG((dbgo,"calloc fail\n"))
+ DBG((g_log,0,"calloc fail\n"))
return NULL;
}
}
@@ -814,21 +812,21 @@ int parse_query(ORD8 *buf, int off, int size) {
char *sv;
int qtype, qclass;
- DBG((dbgo,"Parsing query at 0x%x:\n",off))
+ DBG((g_log,0,"Parsing query at 0x%x:\n",off))
if ((off = read_string(&sv, buf, off, size)) < 0)
return -1;
- DBG((dbgo," Got string '%s'\n",sv))
+ DBG((g_log,0," Got string '%s'\n",sv))
free(sv);
if ((size - off) < 2)
return -1;
qtype = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," QTYPE = 0x%04x\n",qtype))
+ DBG((g_log,0," QTYPE = 0x%04x\n",qtype))
if ((size - off) < 2)
return -1;
qclass = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," QCLASS = 0x%04x\n",qtype))
+ DBG((g_log,0," QCLASS = 0x%04x\n",qtype))
return off;
}
@@ -840,29 +838,29 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
int rtype, rclass, rdlength;
unsigned int ttl;
- DBG((dbgo,"Parsing reply at 0x%x:\n",off))
+ DBG((g_log,0,"Parsing reply at 0x%x:\n",off))
if ((off = read_string(&sv, buf, off, size)) < 0)
return -1;
- DBG((dbgo," Got string '%s'\n",sv))
+ DBG((g_log,0," Got string '%s'\n",sv))
if ((size - off) < 2) {
free(sv);
return -1;
}
rtype = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," RTYPE = %d\n",rtype))
+ DBG((g_log,0," RTYPE = %d\n",rtype))
if ((size - off) < 2) {
free(sv);
return -1;
}
rclass = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," RCLASS = 0x%04x\n",rclass))
+ DBG((g_log,0," RCLASS = 0x%04x\n",rclass))
/* rclass top bit is cache flush bit */
if ((rclass & 0x7fff) != DNS_CLASS_IN) {
- DBG((dbgo," response has RCLASS != 0x%04x\n",DNS_CLASS_IN))
+ DBG((g_log,0," response has RCLASS != 0x%04x\n",DNS_CLASS_IN))
free(sv);
return -1;
}
@@ -870,15 +868,15 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
if ((size - off) < 4)
return -1;
ttl = read_ORD32_be(buf + off); off += 4;
- DBG((dbgo," TTL = %u\n",ttl))
+ DBG((g_log,0," TTL = %u\n",ttl))
if ((size - off) < 2)
return -1;
rdlength = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," RDLENGTH = %d\n",rdlength))
+ DBG((g_log,0," RDLENGTH = %d\n",rdlength))
if ((off + rdlength) > size) {
- DBG((dbgo," response RDLENGTH is longer than remaining buffer (%d)\n",size - off))
+ DBG((g_log,0," response RDLENGTH is longer than remaining buffer (%d)\n",size - off))
free(sv);
return -1;
}
@@ -892,31 +890,31 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
}
*cp = '\000';
if (strcmp(cp+1, "_googlecast._tcp.local") != 0) {
- DBG((dbgo,"Not a chromecast (got '%s')\n",cp+1))
+ DBG((g_log,0,"Not a chromecast (got '%s')\n",cp+1))
free(sv);
return -1;
}
- DBG((dbgo," Chromacast '%s'\n", sv))
+ DBG((g_log,0," Chromacast '%s'\n", sv))
if ((*pname = strdup(sv)) == NULL) {
- DBG((dbgo,"strdup failed\n"))
+ DBG((g_log,0,"strdup failed\n"))
free(sv);
return -1;
}
} else if (rtype == DNS_TYPE_A) {
/* Should we check name matches ? */
if ((*pip = malloc(3 * 4 + 3 + 1)) == NULL) {
- DBG((dbgo,"malloc failed\n"))
+ DBG((g_log,0,"malloc failed\n"))
free(*pname);
free(sv);
}
sprintf(*pip, "%d.%d.%d.%d", buf[off], buf[off+1], buf[off+2], buf[off+3]);
- DBG((dbgo," V4 address = %s\n",*pip))
+ DBG((g_log,0," V4 address = %s\n",*pip))
} else if (rtype == DNS_TYPE_AAAA) { /* The IPV6 address */
/* Should we check name matches ? */
if ((*pip = malloc(8 * 4 + 7 + 1)) == NULL) {
- DBG((dbgo,"malloc failed\n"))
+ DBG((g_log,0,"malloc failed\n"))
free(*pname);
free(sv);
}
@@ -929,10 +927,10 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
buf[off+10] * 245 + buf[off+11],
buf[off+12] * 245 + buf[off+13],
buf[off+14] * 245 + buf[off+15]);
- DBG((dbgo," V6 address = %s\n",*pip))
+ DBG((g_log,0," V6 address = %s\n",*pip))
} else {
- DBG((dbgo," Skipping reply at 0x%x\n",off))
+ DBG((g_log,0," Skipping reply at 0x%x\n",off))
}
off += rdlength;
free(sv);
@@ -947,7 +945,7 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
int i, off = 0;
int id, flags, qdcount, ancount, nscount, arcount;
- DBG((dbgo,"Parsing mDNS reply:\n"))
+ DBG((g_log,0,"Parsing mDNS reply:\n"))
*pname = NULL;
*pip = NULL;
@@ -955,34 +953,34 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
// Parse reply header
if ((size - off) < 2) return 1;
id = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," ID = %d\n",id))
+ DBG((g_log,0," ID = %d\n",id))
if ((size - off) < 2) return 1;
flags = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," FLAGS = 0x%04x\n",flags))
+ DBG((g_log,0," FLAGS = 0x%04x\n",flags))
if ((size - off) < 2) return 1;
qdcount = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," QDCOUNT = %d\n",qdcount))
+ DBG((g_log,0," QDCOUNT = %d\n",qdcount))
if ((size - off) < 2) return 1;
ancount = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," ANCOUNT = %d\n",ancount))
+ DBG((g_log,0," ANCOUNT = %d\n",ancount))
if ((size - off) < 2) return 1;
nscount = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," NSCOUNT = %d\n",nscount))
+ DBG((g_log,0," NSCOUNT = %d\n",nscount))
if ((size - off) < 2) return 1;
arcount = read_ORD16_be(buf + off); off += 2;
- DBG((dbgo," ARCOUNT = %d\n",arcount))
+ DBG((g_log,0," ARCOUNT = %d\n",arcount))
//printf("~1 after strings, off = 0x%x\n",off);
// Parse all the queries (QDCOUNT)
for (i = 0; i < qdcount; i++) {
if ((off = parse_query(buf, off, size)) < 0) {
- DBG((dbgo," ### Parsing query failed ###\n"))
+ DBG((g_log,0," ### Parsing query failed ###\n"))
return 1;
}
}
@@ -990,7 +988,7 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
// Parse all the answers (ANCOUNT)
for (i = 0; i < ancount; i++) {
if ((off = parse_reply(pname, pip, buf, off, size)) < 0) {
- DBG((dbgo," ### Parsing answer failed ###\n"))
+ DBG((g_log,0," ### Parsing answer failed ###\n"))
return 1;
}
}
@@ -998,7 +996,7 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
// Parse all the NS records (NSCOUNT)
for (i = 0; i < nscount; i++) {
if ((off = parse_reply(pname, pip, buf, off, size)) < 0) {
- DBG((dbgo," ### Parsing NS record failed ###\n"))
+ DBG((g_log,0," ### Parsing NS record failed ###\n"))
return 1;
}
}
@@ -1006,7 +1004,7 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
// Parse all the addition RR answers (ARCOUNT)
for (i = 0; i < arcount; i++) {
if ((off = parse_reply(pname, pip, buf, off, size)) < 0) {
- DBG((dbgo," ### Parsing additional records failed ###\n"))
+ DBG((g_log,0," ### Parsing additional records failed ###\n"))
return 1;
}
}
@@ -1066,31 +1064,3 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
*/
-/* ================================================================== */
-/* Debug */
-
-// Print bytes as hex to stdout
-void cc_dump_bytes(FILE *fp, char *pfx, unsigned char *buf, int len) {
- int i, j, ii;
- char oline[200] = { '\000' }, *bp = oline;
- for (i = j = 0; i < len; i++) {
- if ((i % 16) == 0)
- bp += sprintf(bp,"%s%04x:",pfx,i);
- bp += sprintf(bp," %02x",buf[i]);
- if ((i+1) >= len || ((i+1) % 16) == 0) {
- for (ii = i; ((ii+1) % 16) != 0; ii++)
- bp += sprintf(bp," ");
- bp += sprintf(bp," ");
- for (; j <= i; j++) {
- if (!(buf[j] & 0x80) && isprint(buf[j]))
- bp += sprintf(bp,"%c",buf[j]);
- else
- bp += sprintf(bp,".");
- }
- bp += sprintf(bp,"\n");
- fprintf(fp, "%s", oline);
- bp = oline;
- }
- }
-}
-
diff --git a/ccast/ccmdns.h b/ccast/ccmdns.h
index 5144448..5144448 100644..100755
--- a/ccast/ccmdns.h
+++ b/ccast/ccmdns.h
diff --git a/ccast/ccmes.c b/ccast/ccmes.c
index dbd5fd9..d0581d9 100644..100755
--- a/ccast/ccmes.c
+++ b/ccast/ccmes.c
@@ -28,13 +28,14 @@
#include "copyright.h"
#include "aconfig.h"
#include <sys/types.h>
-#ifndef SALONEINSTLIB
#include "numlib.h"
+
+#ifndef USING_AXTLS
+# include "openssl/ssl.h" /* OpenSSL header */
#else
-#include "numsup.h"
+# include "ssl.h" /* axTLS header */
#endif
-#include "ssl.h" /* axTLS header */
#include "yajl.h"
#include "conv.h"
#include "ccpacket.h"
@@ -47,11 +48,10 @@
/* ------------------------------------------------------------------- */
#ifdef DEBUG
-# define DBG(xxx) fprintf xxx ;
+# define DBG(xxx) a1logd xxx ;
#else
# define DBG(xxx) ;
#endif /* DEBUG */
-# define dbgo stdout
/* Error message from error number */
char *ccmessv_emes(ccmessv_err rv) {
@@ -91,50 +91,50 @@ char *ccmessv_emes(ccmessv_err rv) {
#if defined(LOWVERBTRACE) || defined(DEBUG)
static void mes_dump(ccmes *mes, char *pfx) {
#ifdef DEBUG
- fprintf(dbgo,"%s message:\n",pfx);
- fprintf(dbgo," source_id = '%s'\n",mes->source_id);
- fprintf(dbgo," destination_id = '%s'\n",mes->destination_id);
- fprintf(dbgo," namespace = '%s'\n",mes->namespace);
+ a1logd(g_log,0,"%s message:\n",pfx);
+ a1logd(g_log,0," source_id = '%s'\n",mes->source_id);
+ a1logd(g_log,0," destination_id = '%s'\n",mes->destination_id);
+ a1logd(g_log,0," namespace = '%s'\n",mes->namespace);
if (mes->binary) {
- fprintf(dbgo," payload =\n");
- cc_dump_bytes(dbgo," ", mes->data, mes->bin_len);
+ a1logd(g_log,0," payload =\n");
+ adump_bytes(g_log," ", mes->data, 0, mes->bin_len);
} else {
- fprintf(dbgo," payload = '%s'\n",mes->data);
+ a1logd(g_log,0," payload = '%s'\n",mes->data);
}
#else
- fprintf(dbgo,"%s '%s'",pfx,mes->namespace);
+ a1logd(g_log,0,"%s '%s'",pfx,mes->namespace);
#endif
if (mes->binary) {
#ifdef DEBUG
- fprintf(dbgo," %d bytes of binary data:\n",mes->bin_len);
- cc_dump_bytes(dbgo," ", mes->data, mes->bin_len);
+ a1logd(g_log,0," %d bytes of binary data:\n",mes->bin_len);
+ adump_bytes(g_log," ", mes->data, 0, mes->bin_len);
#else
- fprintf(dbgo,", %d bytes of bin data:\n",mes->bin_len);
+ a1logd(g_log,0,", %d bytes of bin data:\n",mes->bin_len);
#endif
} else {
/* Would like to pretty print the JSON data */
/* ie. convert json_reformat.c to a function */
#ifdef DEBUG
- fprintf(dbgo," %d bytes of text data:\n",strlen(mes->data));
- fprintf(dbgo," '%s'\n",mes->data);
+ a1logd(g_log,0," %d bytes of text data:\n",strlen(mes->data));
+ a1logd(g_log,0," '%s'\n",mes->data);
#else
yajl_val tnode, v, i;
int len = strlen((char *)mes->data);
tnode = yajl_tree_parse((char *)mes->data, NULL, 0);
if (tnode == NULL) {
- fprintf(dbgo,", %d bytes of text data\n",len);
+ a1logd(g_log,0,", %d bytes of text data\n",len);
} else {
if ((v = yajl_tree_get_first(tnode, "type", yajl_t_string)) != NULL) {
char *mtype = YAJL_GET_STRING(v);
if ((i = yajl_tree_get_first(tnode, "requestId", yajl_t_number)) != NULL) {
int rqid = YAJL_GET_INTEGER(i);
- fprintf(dbgo,", %d bytes of JSON data, type '%s' id %d\n",
+ a1logd(g_log,0,", %d bytes of JSON data, type '%s' id %d\n",
len,mtype,rqid);
} else {
- fprintf(dbgo,", %d bytes of JSON data, type '%s'\n",len,mtype);
+ a1logd(g_log,0,", %d bytes of JSON data, type '%s'\n",len,mtype);
}
} else {
- fprintf(dbgo,", %d bytes of JSON data\n",len);
+ a1logd(g_log,0,", %d bytes of JSON data\n",len);
}
}
#endif
@@ -284,15 +284,15 @@ ccmessv_err receive_ccmessv(ccmessv *p, ccmes *mes) {
char errbuf[1024];
if ((mes->tnode = yajl_tree_parse((char *)mes->data, errbuf, sizeof(errbuf))) == NULL) {
- DBG((dbgo,"ccthread: yajl_tree_parse failed with '%s'\n",errbuf))
+ DBG((g_log,0,"ccthread: yajl_tree_parse failed with '%s'\n",errbuf))
} else if ((tyn = yajl_tree_get_first(mes->tnode, "type", yajl_t_string)) == NULL) {
- DBG((dbgo,"ccthread: no type\n"))
+ DBG((g_log,0,"ccthread: no type\n"))
} else {
mes->mtype = YAJL_GET_STRING(tyn);
if ((idn = yajl_tree_get_first(mes->tnode, "requestId", yajl_t_number)) != NULL)
mes->rqid = YAJL_GET_INTEGER(idn);
else {
- DBG((dbgo,"ccthread: no id\n"))
+ DBG((g_log,0,"ccthread: no id\n"))
}
}
}
@@ -316,7 +316,7 @@ ccmessv *new_ccmessv(ccpacket *pk) {
ccmessv *p = NULL;
if ((p = (ccmessv *)calloc(1, sizeof(ccmessv))) == NULL) {
- DBG((dbgo, "calloc failed\n"))
+ DBG((g_log,0, "calloc failed\n"))
return NULL;
}
diff --git a/ccast/ccmes.h b/ccast/ccmes.h
index 5eae02a..5eae02a 100644..100755
--- a/ccast/ccmes.h
+++ b/ccast/ccmes.h
diff --git a/ccast/ccpacket.c b/ccast/ccpacket.c
index 4c138f2..97e28d7 100644..100755
--- a/ccast/ccpacket.c
+++ b/ccast/ccpacket.c
@@ -28,13 +28,14 @@
#include "copyright.h"
#include "aconfig.h"
#include <sys/types.h>
-#ifndef SALONEINSTLIB
#include "numlib.h"
+#include "conv.h"
+
+#ifdef USING_AXTLS
+# include "ssl.h" /* axTLS header */
#else
-#include "numsup.h"
+# include "openssl/ssl.h" /* OpenSSL header */
#endif
-#include "conv.h"
-#include "ssl.h" /* axTLS header */
#undef DEBUG
#undef DUMPSDATA /* Send data */
@@ -95,13 +96,15 @@ typedef int SOCKET;
/* ------------------------------------------------------------------- */
#ifdef DEBUG
-# define dbgo stdout
-# define DBG(xxx) fprintf xxx ;
-void cc_dump_bytes(FILE *fp, char *pfx, unsigned char *buf, int len);
+# define DBG(xxx) a1logd xxx ;
#else
# define DBG(xxx) ;
#endif /* DEBUG */
+/* Some OpenSSL's support
+ ERR_print_errors_fp(stderr);
+*/
+
/* Error message from error number */
char *ccpacket_emes(ccpacket_err rv) {
#ifndef SERVER_ONLY
@@ -150,14 +153,25 @@ static ccpacket_err connect_ccpacket_imp(
server.sin_addr.s_addr = inet_addr(p->dip);
server.sin_port = htons((short)p->dport);
- if ((p->ctx = ssl_ctx_new(SSL_SERVER_VERIFY_LATER, 1)) == NULL) {
- DBG((dbgo, "connect ssl_ctx_new failed\n"))
+#ifdef USING_AXTLS
+ if ((p->ctx = ssl_ctx_new(SSL_SERVER_VERIFY_LATER, 1)) == NULL)
+#else
+ // Want to use TLS_client_method(), but older OpenSSL doesn't have it...
+ if ((p->ctx = SSL_CTX_new(TLSv1_client_method())) == NULL)
+#endif
+ {
+ DBG((g_log,0, "connect ssl_ctx_new failed\n"))
return ccpacket_context;
}
+#ifndef USING_AXTLS
+ // SSL_CTX_set_mode();
+ SSL_CTX_set_verify(p->ctx, SSL_VERIFY_NONE, NULL);
+#endif
+
/* Open socket */
if ((p->sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET) {
- DBG((dbgo, "socket() failed with errno %d\n",ERRNO))
+ DBG((g_log,0, "socket() failed with errno %d\n",ERRNO))
return ccpacket_connect;
}
@@ -173,13 +187,13 @@ static ccpacket_err connect_ccpacket_imp(
#endif
if ((rv = setsockopt(p->sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv,
sizeof(tv))) < 0) {
- DBG((dbgo,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
+ DBG((g_log,0,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
return ccpacket_connect;
}
tv = 2000;
if ((rv = setsockopt(p->sock, SOL_SOCKET, SO_SNDTIMEO, (const char*)&tv,
sizeof(tv))) < 0) {
- DBG((dbgo,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
+ DBG((g_log,0,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
return ccpacket_connect;
}
#else
@@ -193,14 +207,14 @@ static ccpacket_err connect_ccpacket_imp(
#endif
if ((rv = setsockopt(p->sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv,
sizeof(tv))) < 0) {
- DBG((dbgo,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
+ DBG((g_log,0,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
return ccpacket_connect;
}
tv.tv_sec = 2;
tv.tv_usec = 0;
if ((rv = setsockopt(p->sock, SOL_SOCKET, SO_SNDTIMEO, (const char*)&tv,
sizeof(tv))) < 0) {
- DBG((dbgo,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
+ DBG((g_log,0,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
return ccpacket_connect;
}
#endif
@@ -210,7 +224,7 @@ static ccpacket_err connect_ccpacket_imp(
ling.l_linger = 2; /* Two seconds */
if ((rv = setsockopt(p->sock, SOL_SOCKET, SO_LINGER, (const char*)&ling,
sizeof(ling))) < 0) {
- DBG((dbgo,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
+ DBG((g_log,0,"setsockopt timout failed with %d, errno %d",rv,ERRNO))
return ccpacket_connect;
}
#endif /* NEVER */
@@ -218,19 +232,26 @@ static ccpacket_err connect_ccpacket_imp(
/* Connect */
if (rv = (connect(p->sock, (struct sockaddr *)&server, sizeof(server))) != 0) {
- DBG((dbgo, "TCP connect IP '%s' port %d failed with %d, errno %d\n",p->dip, p->dport,rv,ERRNO))
+ DBG((g_log,0, "TCP connect IP '%s' port %d failed with %d, errno %d\n",p->dip, p->dport,rv,ERRNO))
return ccpacket_connect;
}
- DBG((dbgo, "socket connect IP '%s' port %d success\n",p->dip, p->dport))
+ DBG((g_log,0, "socket connect IP '%s' port %d success\n",p->dip, p->dport))
/* Establish TLS */
/* Return nz if we can send PNG directly as base64 + bg RGB, */
/* else have to setup webserver and send URL */
- if ((p->ssl = ssl_client_new(p->ctx, p->sock, sesid, 32)) == NULL) {
- DBG((dbgo, "connect IP '%s' port %d ssl_ctx_new failed\n",p->dip, p->dport))
+#ifdef USING_AXTLS
+ if ((p->ssl = ssl_client_new(p->ctx, p->sock, sesid, 32)) == NULL)
+#else
+ if ((p->ssl = SSL_new(p->ctx)) == NULL
+ || SSL_set_fd(p->ssl, p->sock) != 1
+ || SSL_connect(p->ssl) != 1)
+#endif
+ {
+ DBG((g_log,0, "connect IP '%s' port %d ssl_ctx_new failed\n",p->dip, p->dport))
return ccpacket_ssl;
}
- DBG((dbgo, "TLS connect IP '%s' port %d success\n",p->dip, p->dport))
+ DBG((g_log,0, "TLS connect IP '%s' port %d success\n",p->dip, p->dport))
return ccpacket_OK;
}
@@ -270,7 +291,7 @@ static ccpacket_err re_connect_ccpacket(
static ccpacket_err send_ccpacket(ccpacket *p,
ORD8 *buf, ORD32 len /* Message body to send */
) {
- int lens, rv;
+ int lens, ilen;
ORD8 *sbuf;
ORD32 slen;
@@ -281,17 +302,17 @@ static ccpacket_err send_ccpacket(ccpacket *p,
return ccpacket_malloc;
}
- write_ORD32_be(len, sbuf);
+ write_ORD32_be(sbuf, len);
memcpy(sbuf+4, buf, len);
slen = len + 4;
#if defined(DEBUG) && defined(DUMPSDATA)
printf("send_ccpacket sending packet:\n");
- cc_dump_bytes(dbgo," ", sbuf, slen);
+ adump_bytes(g_log," ", sbuf, 0, slen);
#endif
- for (lens = 0; lens < slen; lens += rv) {
- DBG((dbgo, "Sending packet %d bytes\n",slen - lens))
+ for (lens = 0; lens < slen; lens += ilen) {
+ DBG((g_log,0, "Sending packet %d bytes\n",slen - lens))
if (p->ssl == NULL) {
return ccpacket_ssl;
}
@@ -299,14 +320,29 @@ static ccpacket_err send_ccpacket(ccpacket *p,
amutex_lock(p->lock);
printf("~1 send locked\n");
#endif
- if ((rv = ssl_write(p->ssl, sbuf + lens, slen - lens)) < 0) {
- DBG((dbgo, "TLS send body failed with '%s'\n",ssl_error_string(rv)))
+#ifdef USING_AXTLS
+ if ((ilen = ssl_write(p->ssl, sbuf + lens, slen - lens)) < 0)
+#else
+ if ((ilen = SSL_write(p->ssl, sbuf + lens, slen - lens)) < 0)
+#endif
+ {
+#ifdef USING_AXTLS
+ DBG((g_log,0, "send failed with '%s'\n",ssl_error_string(ilen)))
+#else
+ DBG((g_log,0, "send failed with %d\n",SSL_get_error(p->ssl, ilen)))
+#endif
#ifdef SYNC_SSL
printf("~1 send unlocked\n");
amutex_unlock(p->lock);
#endif
free(sbuf);
- if (rv == SSL_TIMEDOUT)
+
+#ifdef USING_AXTLS
+ if (ilen == SSL_TIMEDOUT)
+#else
+ if (SSL_get_error(p->ssl, ilen) == SSL_ERROR_WANT_READ
+ || SSL_get_error(p->ssl, ilen) == SSL_ERROR_WANT_WRITE)
+#endif
return ccpacket_timeout;
return ccpacket_send;
}
@@ -338,24 +374,53 @@ static ccpacket_err receive_ccpacket(ccpacket *p,
printf("~1 receive locked\n");
#endif
+ tlen = 4;
+
+#ifndef USING_AXTLS
+ if ((ibuf = malloc(tlen)) == NULL) {
+ return ccpacket_malloc;
+ }
+ ibuf[0] = ibuf[1] = ibuf[2] = ibuf[2] = 0;
+#endif
+
/* Until we have 4 bytes for the header */
- for (tlen = 4, rlen = 0; rlen < tlen;) {
+ for (rlen = 0; rlen < tlen;) {
ioff = 0;
- if ((ilen = ssl_read(p->ssl, &ibuf)) < 0) {
- DBG((dbgo, "header recv failed with '%s'\n",ssl_error_string(ilen)))
- if (ilen == SSL_OK) /* Hmm. */
- continue;
+#ifdef USING_AXTLS
+ if ((ilen = ssl_read(p->ssl, &ibuf)) < 0)
+#else
+ if ((ilen = SSL_read(p->ssl, ibuf, tlen)) < 0)
+#endif
+ {
+#ifdef USING_AXTLS
+ DBG((g_log,0, "header recv failed with '%s'\n",ssl_error_string(ilen)))
+#else
+ DBG((g_log,0, "header recv failed with %d\n",SSL_get_error(p->ssl, ilen)))
+#endif
#ifdef SYNC_SSL
printf("~1 receive unlocked\n");
amutex_unlock(p->lock);
#endif
+#ifdef USING_AXTLS
if (ilen == SSL_TIMEDOUT)
+#else
+ free(ibuf);
+ if (SSL_get_error(p->ssl, ilen) == SSL_ERROR_WANT_READ
+ || SSL_get_error(p->ssl, ilen) == SSL_ERROR_WANT_WRITE)
+#endif
return ccpacket_timeout;
return ccpacket_recv;
}
- DBG((dbgo, "receive_ccpacket read %d bytes\n",ilen))
- if (ilen == 0)
+ DBG((g_log,0, "receive_ccpacket read %d bytes\n",ilen))
+ if (ilen == 0) {
+#ifdef USING_AXTLS
continue;
+#else
+ DBG((g_log,0, "SSL_read failed\n"))
+ free(ibuf);
+ return ccpacket_recv;
+#endif
+ }
if ((clen = ilen) > (tlen - rlen)) /* More than we need */
clen = tlen - rlen;
memcpy(rbuf + rlen, ibuf + ioff, clen);
@@ -364,17 +429,17 @@ printf("~1 receive unlocked\n");
ilen -= clen;
}
/* We have ilen left in ibuf at offset ioff */
- DBG((dbgo, "receive_ccpacket %d bytes left over\n",ilen))
+ DBG((g_log,0, "receive_ccpacket %d bytes left over\n",ilen))
- tlen = read_ORD32_be(ibuf);
- DBG((dbgo, "receive_ccpacket expecting %d more bytes\n",tlen))
+ tlen = read_ORD32_be(rbuf);
+ DBG((g_log,0, "receive_ccpacket expecting %d more bytes\n",tlen))
if (tlen < 0 || tlen > 64 * 2014) {
#ifdef SYNC_SSL
printf("~1 receive unlocked\n");
amutex_unlock(p->lock);
#endif
- DBG((dbgo, "receive_ccpacket got bad data length - returning error\n"))
+ DBG((g_log,0, "receive_ccpacket got bad data length - returning error\n"))
return ccpacket_recv;
}
@@ -383,7 +448,7 @@ printf("~1 receive unlocked\n");
printf("~1 receive unlocked\n");
amutex_unlock(p->lock);
#endif
- DBG((dbgo, "receive_ccpacket malloc failed\n"))
+ DBG((g_log,0, "receive_ccpacket malloc failed\n"))
return ccpacket_malloc;
}
rlen = 0;
@@ -392,31 +457,58 @@ printf("~1 receive unlocked\n");
if (ilen > 0) {
if ((clen = ilen) > (tlen - rlen))
clen = tlen - rlen;
- DBG((dbgo, "receive_ccpacket using %d spair bytesr\n",clen))
+ DBG((g_log,0, "receive_ccpacket using %d spair bytesr\n",clen))
memcpy(rbuf + rlen, ibuf + ioff, clen);
rlen += clen;
ioff += clen;
ilen -= clen;
}
+#ifndef USING_AXTLS
+ free(ibuf);
+ if ((ibuf = malloc(tlen)) == NULL) {
+ return ccpacket_malloc;
+ }
+#endif
+
/* Get the remainder of the body if we need to */
for (; rlen < tlen;) {
ioff = 0;
- if ((ilen = ssl_read(p->ssl, &ibuf)) < 0) {
- DBG((dbgo, "body recv failed with '%s'\n",ssl_error_string(ilen)))
- if (ilen == SSL_OK)
- continue;
+#ifdef USING_AXTLS
+ if ((ilen = ssl_read(p->ssl, &ibuf)) < 0)
+#else
+ if ((ilen = SSL_read(p->ssl, ibuf, tlen)) < 0)
+#endif
+ {
+#ifdef USING_AXTLS
+ DBG((g_log,0, "body recv failed with '%s'\n",ssl_error_string(ilen)))
+#else
+ DBG((g_log,0, "body recv failed with %d\n",SSL_get_error(p->ssl, ilen)))
+#endif
#ifdef SYNC_SSL
printf("~1 receive unlocked\n");
amutex_unlock(p->lock);
#endif
+#ifdef USING_AXTLS
if (ilen == SSL_TIMEDOUT)
+#else
+ free(ibuf);
+ if (SSL_get_error(p->ssl, ilen) == SSL_ERROR_WANT_READ
+ || SSL_get_error(p->ssl, ilen) == SSL_ERROR_WANT_WRITE)
+#endif
return ccpacket_timeout;
return ccpacket_recv;
}
- DBG((dbgo, "receive_ccpacket read %d bytes\n",ilen))
- if (ilen == 0)
+ DBG((g_log,0, "receive_ccpacket read %d bytes\n",ilen))
+ if (ilen == 0) {
+#ifdef USING_AXTLS
continue;
+#else
+ DBG((g_log,0, "SSL_read failed\n"))
+ free(ibuf);
+ return ccpacket_recv;
+#endif
+ }
if ((clen = ilen) > (tlen - rlen))
clen = tlen - rlen;
memcpy(rbuf + rlen, ibuf + ioff, clen);
@@ -429,11 +521,14 @@ printf("~1 receive unlocked\n");
amutex_unlock(p->lock);
#endif
if (ilen > 0) { /* Hmm. We should keep this for the next read ?*/
- DBG((dbgo, " ################## got %d byts left over ###########\n", ilen))
+ DBG((g_log,0, " ################## got %d byts left over ###########\n", ilen))
}
+#ifndef USING_AXTLS
+ free(ibuf);
+#endif
#if defined(DEBUG) && defined(DUMPRDATA)
printf("receive_ccpacket got:\n");
- cc_dump_bytes(dbgo," ", rbuf, rlen);
+ adump_bytes(g_log," ", rbuf, 0, rlen);
#endif
*pbuf = rbuf;
*plen = rlen;
@@ -446,11 +541,19 @@ static void clear_ccpacket(ccpacket *p) {
if (p != NULL) {
if (p->ssl != NULL) {
+#ifdef USING_AXTLS
ssl_free(p->ssl);
+#else
+ SSL_free(p->ssl);
+#endif
p->ssl = NULL;
}
if (p->ctx != NULL) {
+#ifdef USING_AXTLS
ssl_ctx_free(p->ctx);
+#else
+ SSL_CTX_free(p->ctx);
+#endif
p->ctx = NULL;
}
if (p->sock != INVALID_SOCKET) {
@@ -480,8 +583,13 @@ static void del_ccpacket(ccpacket *p) {
ccpacket *new_ccpacket() {
ccpacket *p = NULL;
+#ifndef USING_AXTLS
+ SSL_load_error_strings();
+ SSL_library_init();
+#endif
+
if ((p = (ccpacket *)calloc(1, sizeof(ccpacket))) == NULL) {
- DBG((dbgo, "calloc failed\n"))
+ DBG((g_log,0, "calloc failed\n"))
return NULL;
}
diff --git a/ccast/ccpacket.h b/ccast/ccpacket.h
index e4f6f76..e4f6f76 100644..100755
--- a/ccast/ccpacket.h
+++ b/ccast/ccpacket.h
diff --git a/ccast/cctest.c b/ccast/cctest.c
index 2c95ae1..2000cc5 100644..100755
--- a/ccast/cctest.c
+++ b/ccast/cctest.c
@@ -67,7 +67,7 @@ static int get_a_reply(ccmessv *mes, ORD8 **pdata) {
printf(" binary = %d\n",binary);
if (binary) {
printf(" payload =\n");
- cc_dump_bytes(stdout, " ", data, bin_len);
+ adump_bytes(g_log, " ", data, 0, bin_len);
} else {
printf(" payload = '%s'\n",data);
}
diff --git a/ccast/chan/cast_channel.pb-c.c b/ccast/chan/cast_channel.pb-c.c
index ec79608..ec79608 100644..100755
--- a/ccast/chan/cast_channel.pb-c.c
+++ b/ccast/chan/cast_channel.pb-c.c
diff --git a/ccast/chan/cast_channel.pb-c.h b/ccast/chan/cast_channel.pb-c.h
index 982e420..982e420 100644..100755
--- a/ccast/chan/cast_channel.pb-c.h
+++ b/ccast/chan/cast_channel.pb-c.h
diff --git a/ccast/chan/protobuf-c.c b/ccast/chan/protobuf-c.c
index 1157d8b..1157d8b 100644..100755
--- a/ccast/chan/protobuf-c.c
+++ b/ccast/chan/protobuf-c.c
diff --git a/ccast/chan/protobuf-c.h b/ccast/chan/protobuf-c.h
index 8c4ba1d..8c4ba1d 100644..100755
--- a/ccast/chan/protobuf-c.h
+++ b/ccast/chan/protobuf-c.h
diff --git a/ccast/dpat.c b/ccast/dpat.c
index 4962ae1..106c52a 100644..100755
--- a/ccast/dpat.c
+++ b/ccast/dpat.c
@@ -392,7 +392,7 @@ double get_ccast_dith(double ipat[DISIZE][DISIZE][3], double val[3]) {
/* 32 bit pseudo random sequencer based on XOR feedback */
/* generates number between 1 and 4294967295 */
-#define PSRAND32(S) (((S) & 0x80000000) ? (((S) << 1) ^ 0xa398655d) : ((S) << 1))
+#define PSRAND32F(S) (((S) & 0x80000000) ? (((S) << 1) ^ 0xa398655d) : ((S) << 1))
/* Locate the 8 surrounding RGB verticies */
for (n = 0; n < 8; n++) {
@@ -662,7 +662,7 @@ double get_ccast_dith(double ipat[DISIZE][DISIZE][3], double val[3]) {
// dot += d_rand(-rlevel, rlevel);
/* use a deterministic random element, so that */
/* the dither patterns are repeatable. */
- randv = PSRAND32(randv);
+ randv = PSRAND32F(randv);
dot += rlevel * 2.0 * ((randv - 1)/4294967294.0 - 0.5);
if (dot <= 0.0)
diff --git a/ccast/filt.c b/ccast/filt.c
index ab075ae..ab075ae 100644..100755
--- a/ccast/filt.c
+++ b/ccast/filt.c
diff --git a/cgats/Jamfile b/cgats/Jamfile
index 813269a..813269a 100644..100755
--- a/cgats/Jamfile
+++ b/cgats/Jamfile
diff --git a/cgats/License.txt b/cgats/License.txt
index 7655233..7655233 100644..100755
--- a/cgats/License.txt
+++ b/cgats/License.txt
diff --git a/cgats/Makefile b/cgats/Makefile
index 5312104..5312104 100644..100755
--- a/cgats/Makefile
+++ b/cgats/Makefile
diff --git a/cgats/Makefile.IBMNT b/cgats/Makefile.IBMNT
index 26a2bd2..26a2bd2 100644..100755
--- a/cgats/Makefile.IBMNT
+++ b/cgats/Makefile.IBMNT
diff --git a/cgats/Makefile.OSX b/cgats/Makefile.OSX
index fb1c88f..fb1c88f 100644..100755
--- a/cgats/Makefile.OSX
+++ b/cgats/Makefile.OSX
diff --git a/cgats/Makefile.UNIX b/cgats/Makefile.UNIX
index 91d6005..91d6005 100644..100755
--- a/cgats/Makefile.UNIX
+++ b/cgats/Makefile.UNIX
diff --git a/cgats/Makefile.WNT b/cgats/Makefile.WNT
index 4ca291d..4ca291d 100644..100755
--- a/cgats/Makefile.WNT
+++ b/cgats/Makefile.WNT
diff --git a/cgats/Readme.txt b/cgats/Readme.txt
index 94f3e3d..94f3e3d 100644..100755
--- a/cgats/Readme.txt
+++ b/cgats/Readme.txt
diff --git a/cgats/afiles b/cgats/afiles
index dc20cb4..e185eb7 100644..100755
--- a/cgats/afiles
+++ b/cgats/afiles
@@ -7,6 +7,7 @@ pars.c
pars.h
parsstd.c
cgatsstd.c
+test.txt
Jamfile
Makefile
Makefile.WNT
diff --git a/cgats/cgats.c b/cgats/cgats.c
index a39ec04..3e6e642 100644..100755
--- a/cgats/cgats.c
+++ b/cgats/cgats.c
@@ -68,7 +68,8 @@ extern void error(const char *fmt, ...), warning(const char *fmt, ...);
#include "pars.h"
#include "cgats.h"
-#define REAL_SIGDIG 6 /* Number of significant digits in real representation */
+#undef EMIT_KEYWORDS /* [und] Emit unknown keywords by default */
+#define REAL_SIGDIG 6 /* [6] Number of significant digits in real representation */
static int cgats_read(cgats *p, cgatsFile *fp);
static int find_kword(cgats *p, int table, const char *ksym);
@@ -147,6 +148,10 @@ cgatsAlloc *al /* memory allocator */
p->write_name = NULL;
#endif
+#ifdef EMIT_KEYWORDS
+ p->emit_keywords = 1;
+#endif
+
return p;
}
@@ -668,6 +673,7 @@ cgats_read(cgats *p, cgatsFile *fp) {
for (j = 0; j < ct->nsets; j++) {
data_type ty;
ty = guess_type(((char *)ct->rfdata[j][i]));
+
if (ty == cs_t) {
bt = cs_t;
break; /* Early out */
@@ -678,7 +684,7 @@ cgats_read(cgats *p, cgatsFile *fp) {
if (bt == i_t)
bt = ty;
} else { /* ty == i_t */
- bt = ty;
+ /* This is the default */
}
}
/* Got guessed type bt. Sanity check against known field types */
@@ -1446,7 +1452,7 @@ cgats_write(cgats *p, cgatsFile *fp) {
/* Keyword and data if it is present */
if (t->ksym[i] != NULL && t->kdata[i] != NULL) {
- if (!standard_kword(t->ksym[i])) { /* Do the right thing */
+ if (p->emit_keywords && !standard_kword(t->ksym[i])) { /* Do the right thing */
if ((qs = quote_cs(al, t->ksym[i])) == NULL) {
al->free(al, sfield);
return err(p,-2,"quote_cs() malloc failed!");
@@ -1485,7 +1491,7 @@ cgats_write(cgats *p, cgatsFile *fp) {
/* Declare any non-standard fields */
for (field = 0; field < t->nfields; field++) {
- if (!sfield[field]) /* Non-standard */ {
+ if (p->emit_keywords && !sfield[field]) /* Non-standard */ {
char *qs;
if ((qs = quote_cs(al, t->fsym[field])) == NULL) {
al->free(al, sfield);
@@ -1931,21 +1937,22 @@ real_format(double value, int nsd, char *fmt) {
xtot++;
}
if (value < 1.0) {
+ int thr = -5;
ndigs = (int)(log10(value));
- if (ndigs <= -2) {
+ if (ndigs <= thr) {
sprintf(fmt,"%%%d.%de",xtot,tot-2);
return;
}
sprintf(fmt,"%%%d.%df",xtot-ndigs,nsd-ndigs);
return;
} else {
+ int thr = -0;
ndigs = (int)(log10(value));
- if (ndigs >= (nsd -1))
- {
+ if (ndigs >= (nsd + thr)) {
sprintf(fmt,"%%%d.%de",xtot,tot-2);
return;
- }
- sprintf(fmt,"%%%d.%df",xtot,(nsd-1)-ndigs);
+ }
+ sprintf(fmt,"%%%d.%df",xtot,(nsd + thr)-ndigs);
return;
}
}
@@ -2090,24 +2097,29 @@ main(int argc, char *argv[]) {
|| pp->add_field(pp, 0, "XYZ_X", r_t) < 0)
error("Initial error: '%s'",pp->err);
- if (pp->add_set(pp, 0, "1", "A1", 0.000012345678) < 0
- || pp->add_set(pp, 0, "2", "A2", 0.00012345678) < 0
- || pp->add_set(pp, 0, "3 ", "A#5",0.0012345678) < 0
- || pp->add_set(pp, 0, "4", "A5", 0.012345678) < 0
- || pp->add_set(pp, 0, "5", "A5", 0.12345678) < 0
- || pp->add_set(pp, 0, "5", "A5", 0.00000000) < 0
- || pp->add_set(pp, 0, "6", "A5", 1.2345678) < 0
- || pp->add_set(pp, 0, "7", "A5", 12.345678) < 0
- || pp->add_set(pp, 0, "8", "A5", 123.45678) < 0
- || pp->add_set(pp, 0, "9", "A5", 1234.5678) < 0
- || pp->add_set(pp, 0, "10", "A5", 12345.678) < 0
- || pp->add_set(pp, 0, "12", "A5", 123456.78) < 0
- || pp->add_set(pp, 0, "13", "A5", 1234567.8) < 0
- || pp->add_set(pp, 0, "14", "A5", 12345678.0) < 0
- || pp->add_set(pp, 0, "15", "A5", 123456780.0) < 0
- || pp->add_set(pp, 0, "16", "A5", 1234567800.0) < 0
- || pp->add_set(pp, 0, "17", "A5", 12345678000.0) < 0
- || pp->add_set(pp, 0, "18", "A5", 123456780000.0) < 0)
+ if (pp->add_set(pp, 0, "1", "A1", 0.000000012345678) < 0
+ || pp->add_set(pp, 0, "2", "A1", 0.00000012345678) < 0
+ || pp->add_set(pp, 0, "3", "A1", 0.0000012345678) < 0
+ || pp->add_set(pp, 0, "4", "A1", 0.000012345678) < 0
+ || pp->add_set(pp, 0, "5", "A1", 0.000012345678) < 0
+ || pp->add_set(pp, 0, "6", "A2", 0.00012345678) < 0
+ || pp->add_set(pp, 0, "7", "A5",0.0012345678) < 0
+ || pp->add_set(pp, 0, "8", "A5", 0.012345678) < 0
+ || pp->add_set(pp, 0, "9", "A5", 0.12345678) < 0
+ || pp->add_set(pp, 0, "10", "A5", 0.00000000) < 0
+ || pp->add_set(pp, 0, "11", "A5", 1.2345678) < 0
+ || pp->add_set(pp, 0, "12", "A5", 12.345678) < 0
+ || pp->add_set(pp, 0, "13", "A5", 123.45678) < 0
+ || pp->add_set(pp, 0, "14", "A5", 1234.5678) < 0
+ || pp->add_set(pp, 0, "15", "A5", 12345.678) < 0
+ || pp->add_set(pp, 0, "16", "A5", 123456.78) < 0
+ || pp->add_set(pp, 0, "17", "A5", 1234567.8) < 0
+ || pp->add_set(pp, 0, "18", "A5", 12345678.0) < 0
+ || pp->add_set(pp, 0, "19", "A5", 123456780.0) < 0
+ || pp->add_set(pp, 0, "20", "A5", 1234567800.0) < 0
+ || pp->add_set(pp, 0, "21", "A5", 12345678000.0) < 0
+ || pp->add_set(pp, 0, "22", "A5", 123456780000.0) < 0
+ || pp->add_set(pp, 0, "23", "A5", 1234567800000.0) < 0)
error("Adding set error '%s'",pp->err);
if (pp->add_table(pp, cgats_5, 0) < 0 /* Start the second table */
diff --git a/cgats/cgats.h b/cgats/cgats.h
index 7537a48..bc0cdd7 100644..100755
--- a/cgats/cgats.h
+++ b/cgats/cgats.h
@@ -87,6 +87,9 @@ struct _cgats {
int nothers; /* Number of other identifiers */
char **others; /* Other file type identifiers */
+ /* Options */
+ int emit_keywords; /* NZ to emit "KEYWORD" for non-standard keywords (default no) */
+
/* Public Methods */
int (*set_cgats_type)(struct _cgats *p, const char *osym);
/* Define the (one) variable CGATS type */
diff --git a/cgats/cgatsstd.c b/cgats/cgatsstd.c
index d8fbb34..d8fbb34 100644..100755
--- a/cgats/cgatsstd.c
+++ b/cgats/cgatsstd.c
diff --git a/cgats/makezip.ksh b/cgats/makezip.ksh
index 8cc5f6c..8cc5f6c 100644..100755
--- a/cgats/makezip.ksh
+++ b/cgats/makezip.ksh
diff --git a/cgats/pars.c b/cgats/pars.c
index a0e694c..8a4e4b9 100644..100755
--- a/cgats/pars.c
+++ b/cgats/pars.c
@@ -606,7 +606,7 @@ main() {
error("Failed to create parse object with file 'test.txt'");
/* Setup our token parsing charaters */
- pp->add_del(pp, " ,\to"," ,\t", "#", "\"");
+ pp->add_del(pp, " ,\t"," ,\t", "#", "\"");
for (;;) {
char *tp;
diff --git a/cgats/pars.h b/cgats/pars.h
index 83bbdad..83bbdad 100644..100755
--- a/cgats/pars.h
+++ b/cgats/pars.h
diff --git a/cgats/parsstd.c b/cgats/parsstd.c
index 4443e0a..4443e0a 100644..100755
--- a/cgats/parsstd.c
+++ b/cgats/parsstd.c
diff --git a/cgats/test.txt b/cgats/test.txt
new file mode 100755
index 0000000..5036d32
--- /dev/null
+++ b/cgats/test.txt
@@ -0,0 +1,73 @@
+CGATS.5
+
+# Comment only test comment
+KEYWORD "TEST_KEY_WORD"
+TEST_KEY_WORD "try this out" # Keyword comment
+KEYWORD "TEST_KEY_WORD2"
+TEST_KEY_WORD2 "try this"" out """" huh !"
+ORIGINATOR "Not specified"
+DESCRIPTOR "Not specified"
+CREATED "November 16, 2000"
+INSTRUMENTATION "Not specified"
+MEASUREMENT_SOURCE "Not specified"
+PRINT_CONDITIONS "Not specified"
+
+KEYWORD "SAMPLE_LOC"
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+SAMPLE_ID SAMPLE_LOC XYZ_X
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 22
+BEGIN_DATA
+1 A1 1.2346e-09
+2 A1 1.2346e-08
+3 A1 1.2346e-07
+4 A1 1.2346e-06
+5 A1 1.2346e-05
+6 A2 1.2346e-04
+"7 " "A#5" 1.2346e-03
+8 A5 0.012346
+9 A5 0.12346
+10 A5 0.0000
+11 A5 1.2346
+12 A5 12.346
+13 A5 123.46
+14 A5 1234.6
+16 A5 1.2346e+04
+17 A5 1.2346e+05
+18 A5 1.2346e+06
+19 A5 1.2346e+07
+20 A5 1.2346e+08
+21 A5 1.2346e+09
+22 A5 1.2346e+10
+23 A5 1.2346e+11
+END_DATA
+
+
+# Second Comment only test comment
+
+NUMBER_OF_SETS 22
+BEGIN_DATA
+1 A4 -1.2346e-09
+2 A4 -1.2346e-08
+3 A4 -1.2346e-07
+4 A4 -1.2346e-06
+5 A4 -1.2346e-05
+6 A5 -1.2346e-04
+7 A5 -1.2346e-03
+8 A5 -0.012346
+9 A5 -0.12346
+10 A5 -1.2346
+11 A5 -12.346
+12 A5 -123.46
+13 A5 -1234.6
+14 A5 -1.2346e+04
+15 A5 -1.2346e+05
+16 A5 -1.2346e+06
+17 A5 -1.2346e+07
+18 A5 -1.2346e+08
+19 A5 -1.2346e+09
+20 A5 -1.2346e+10
+21 A5 -1.2346e+11
+E7D_DATA
diff --git a/doc/3dformat.html b/doc/3dformat.html
index e60a432..da256c5 100644..100755
--- a/doc/3dformat.html
+++ b/doc/3dformat.html
@@ -30,7 +30,7 @@
&nbsp;&nbsp;&nbsp; Any web browser supporting javascript and WebGL
can be used to display this.<br>
<br>
- By default ArgyllCMS tools will output VRML format, but the defaul
+ By default ArgyllCMS tools will output X3DOM format, but the defaul
can be overridden by setting the environment variable<br>
<b>"ARGYLL_3D_DISP_FORMAT"</b> to <b>"VRML"</b>, <b>"X3D"</b> or <b>"X3DOM"</b><br>
<br>
@@ -78,8 +78,7 @@
<th>Function</th>
<th>Key</th>
</tr>
- </thead>
- <tbody>
+ </thead> <tbody>
<tr>
<td>Reset view</td>
<td>r</td>
diff --git a/doc/ArgyllCMS_arts_tag.html b/doc/ArgyllCMS_arts_tag.html
index 826aa30..826aa30 100644..100755
--- a/doc/ArgyllCMS_arts_tag.html
+++ b/doc/ArgyllCMS_arts_tag.html
diff --git a/doc/ArgyllDoc.html b/doc/ArgyllDoc.html
index f7a0141..5f617e0 100644..100755
--- a/doc/ArgyllDoc.html
+++ b/doc/ArgyllDoc.html
@@ -10,9 +10,9 @@
<title>Argyll Documentation Top</title>
</head>
<body>
- <h1> Argyll CMS documentation index (V1.7.0)<br>
+ <h1> Argyll CMS documentation index (V1.8.0)<br>
</h1>
- Date:&nbsp;&nbsp; 1st May 2015<br>
+ Date:&nbsp;&nbsp; 20th August 2015<br>
Author: Graeme Gill
<h2><u><a name="Intro"></a>Introduction</u></h2>
ArgyllCMS is an ICC compatible color management system, available as
@@ -34,7 +34,7 @@
provided for each major tool, and a general guide to using the tools
for typical color management tasks is also available. A mailing list
provides support for more advanced usage.<br>
- <p>This is Version 1.7.0, a feature and bug fix update to V1.6.3.
+ <p>This is Version 1.8.0, a feature and bug fix update to V1.7.0.
The first public release of icclib was in November 1998, and of
Argyll was in October 2000. Code development commenced in 1995.
See <a href="ChangesSummary.html">Changes Summary</a> for an
@@ -47,10 +47,10 @@
<p><font color="#cc0000"><span style="font-weight: bold;">Please
note that instruments are being driven by ArgyllCMS drivers,
and that any problems or queries regarding instrument<br>
- operation </span><span style="font-weight: bold;">should be
- directed to the Argyll's author(s) or the Argyll mailing list,
- and not to any</span> <span style="font-weight: bold;">other
- party.</span></font> </p>
+ operation </span><span style="font-weight: bold;">should
+ first be directed to the Argyll's author(s) or the Argyll
+ mailing list, and not to any</span> <span style="font-weight:
+ bold;">other party.</span></font> </p>
<p> </p>
<h2><a href="ColorManagement.html">An Introduction to Color
Management</a></h2>
@@ -98,6 +98,10 @@
+
+
+
+
discussion</a> of what color management is, and why we need it,
together with a brief overview of the ICC profile format.<br>
@@ -189,6 +193,64 @@
+
+
+
+
+
+ - Tele-Spectro-Radiometer<br>
+ <br>
+ Image Engineering:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#ex1">EX1</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- Tele-Spectro-Radiometer<br>
<br>
@@ -216,6 +278,10 @@
+
+
+
+
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
@@ -311,6 +377,10 @@
+
+
+
+
- "swipe" type reflective spectrometer, that can be used untethered.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP22">DTP22 Digital
@@ -400,6 +470,10 @@
+
+
+
+
- spot type reflective spectrometer.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP41">DTP41</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -488,6 +562,10 @@
+
+
+
+
- spot and strip reading reflective spectrometer.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP41">DTP41T</a>
@@ -578,6 +656,10 @@
+
+
+
+
- spot and strip reading reflective/transmissive spectrometer.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#dtp51">DTP51</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -666,6 +748,10 @@
+
+
+
+
- strip reading reflective colorimeter.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP92">DTP92</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -754,6 +840,10 @@
+
+
+
+
- CRT display colorimeter.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP94">DTP94</a> <font
@@ -903,6 +993,10 @@
+
+
+
+
- display colorimeter. (Treated as a Eye-One Display 2)<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d">CalMAN X2</a>
@@ -992,6 +1086,10 @@
+
+
+
+
- display colorimeter. (Treated as a Eye-One Display 2)<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#Huey">Huey</a> &nbsp;
@@ -1090,6 +1188,10 @@
+
+
+
+
[The Sequel Chroma 4 may also work.]<br>
<br>
@@ -1180,6 +1282,10 @@
+
+
+
+
- see <a href="instruments.html#i1d">Eye-One Display</a><br>
<br>
@@ -1275,6 +1381,10 @@
+
+
+
+
[The Spyder 1 has also been reported as working, but this has not
been confirmed.]<br>
@@ -1297,7 +1407,11 @@
<br>
Other:<br>
&nbsp;&nbsp;&nbsp; <span class="titre"><a
- href="instruments.html#HCFR">Colorimtre HCFR</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ href="instruments.html#HCFR">Colorimtre HCFR</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
@@ -1456,8 +1570,16 @@
+
+
+
+
- display colorimeter<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#SMCube">SwatchMate
+ Cube</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ - reflective colorimeter<br>
<span style="font-weight: bold;"></span><span class="titre"><br>
See </span><a href="instruments.html">Operation of particular
instruments</a> for more instrument specific detail.<br>
@@ -1510,6 +1632,10 @@
+
+
+
+
GNU</span> license <span style="font-weight: bold;">prohibits</span>
extending these tools<span style="font-weight: bold;"></span>
@@ -1652,6 +1778,10 @@
+
+
+
+
the jcnf library in <span style="font-weight: bold;">jcnf</span>/,
@@ -1738,6 +1868,10 @@
+
+
+
+
the files <span style="font-weight: bold;">spectro/xdg_bds.*</span>,
<span style="font-weight: bold;">spectro/aglob.*</span> and the
@@ -1907,6 +2041,10 @@ calibration
+
+
+
+
and profiling is <a href="http://hoech.net/dispcalGUI/">dispcalGUI</a>
by Florian Hch. Others can be found with a suitable <a
@@ -2003,6 +2141,10 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
-? </b>(or some other unrecognized flag, if the "?" character is
treated specially in your shell, i.e. try "--" on OS X zsh).<br>
@@ -2106,6 +2248,10 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
Verbose mode<br>
&nbsp;&nbsp; -d
@@ -2195,6 +2341,10 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
Choose a depth 0-4<br>
&nbsp;&nbsp; -r
@@ -2284,6 +2434,10 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
Use a random depth<br>
&nbsp;&nbsp; -f
@@ -2376,6 +2530,10 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
Manual<br>
&nbsp;&nbsp; infile
@@ -2465,6 +2623,10 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
Input file<br>
&nbsp;&nbsp; outfile
@@ -2558,7 +2720,7 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
converting color spaces of raster files. <br>
<br>
Although it is is a couple of years old now, this <a
- href="http://www.argyllcms.com/doc/FCMS2010_ArgyllTute.pdf">tutorial</a>
+ href="http://www.argyllcms.com/doc2/FCMS2010_ArgyllTute.pdf">tutorial</a>
may also be of interest.<br>
&nbsp; <br>
<h3 style="color: rgb(0, 0, 0);"><u><a name="Topics"></a>Topical
@@ -2705,6 +2867,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span><big>Generate a profiling test target values .ti1 file. </big><br
style="font-family: monospace;">
@@ -2795,6 +2961,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
film recorder TIFF files from Argyll .ti1 file. </big><br
style="font-family: monospace;">
@@ -2885,6 +3055,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a PS, EPS or TIFF file containing test patch values, ready for
printing.</big></small>
@@ -2977,6 +3151,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a test chart using an instrument to create a .ti3 data file.</big><span
style="font-family: monospace;"> </span><br style="font-family:
@@ -3068,6 +3246,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
and read colorimetric values from a display </big><br
style="font-family: monospace;">
@@ -3158,6 +3340,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
film colorimetric values using a SpectroScanT (Deprecated ?)</big><br
style="font-family: monospace;">
@@ -3248,6 +3434,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span><big>Convert a TIFF&nbsp; image of a test chart into .ti3
device values. <br>
@@ -3343,6 +3533,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
the reading of a device using an ICC or MPP profile. <br>
</big></small><small><a style="font-family: monospace;"
@@ -3437,6 +3631,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span><big>Convert Colorblind format CMY/RGB test chart into
Argyll .ti3 CGATS format. </big><br style="font-family:
@@ -3528,6 +3726,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Kodak Colorflow format CMYK test chart into Argyll .ti3 CGATS
format. </big><br style="font-family: monospace;">
@@ -3618,6 +3820,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span><big>Convert Gretag/Logo/X-Rite/Barbieri or other format
RGB or CMYK test chart results into Argyll .ti3 CGATS format. </big></small><br
@@ -3647,6 +3853,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
LightSpace format RGB .bcs test chart results into Argyll
.ti3 CGATS format.</big></small></big><br>
@@ -3737,6 +3947,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span><big>Create a fake Argyll .ti3 CMY data file from a CMYK
profile, as a basis of creating a CMY to CMYK separation<br>
@@ -3757,6 +3971,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
or Merge two or more measurement data files, or average patches
within a single file.</big></small><br>
@@ -3848,6 +4066,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Create an ICC profile from the .ti3 test data. <br>
<small><a style="font-family: monospace;" href="mppprof.html">mppprof</a><span
@@ -3937,6 +4159,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Create a Model Printer Profile (MPP) from the .ti3
test data. <br>
@@ -4027,6 +4253,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Regenerate a device profiles B2A table data by
inverting the A2B table.
@@ -4118,6 +4348,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Link two device ICC profiles to create a device
link profile.
@@ -4210,6 +4444,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Color convert a TIFF or JPEG file using a sequence
of ICC device, device link, abstract profiles and calibration files.
@@ -4300,6 +4538,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
calibration curves to an ICC profile.<br>
<small><a style="font-family: monospace;" href="icclu.html">icclu&nbsp;</a><span
@@ -4389,6 +4631,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Lookup individual color values through any ICC
profile table. <br>
@@ -4479,6 +4725,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Lookup individual color values forward or inverted
though an ICC profile or CAL table. <br>
@@ -4569,6 +4819,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Lookup individual color values though an MPP
profile. Also create MPP gamut files/views.<br>
@@ -4659,6 +4913,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a TIFF file to monochrome using an ICC device profile <br>
<h3>Color Tweaking tools<br>
@@ -4757,6 +5015,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a gamut file or VRML file of the color gamut of an ICC profile. <br>
<small><a style="font-family: monospace;" href="tiffgamut.html">tiffgamut</a><span
@@ -4846,6 +5108,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a gamut file or VRML file of the color gamut of a TIFF or JPEG
image. <br>
@@ -4936,6 +5202,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Convert one or more gamuts into a VRML 3D
visualization file. Compute an intersection.<br>
@@ -5028,6 +5298,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Dump the contents of an ICC profile as text. <br>
<small><a style="font-family: monospace;" href="profcheck.html">profcheck</a><span
@@ -5117,6 +5391,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an ICC profile against .ti3 test chart data, create pruned .ti3
file.<br>
@@ -5206,6 +5484,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</small>Check ICC forward against inverse lookup. <br>
<small><a style="font-family: monospace;" href="splitti3.html">splitsti3</a><span
@@ -5294,6 +5576,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a CGATS file (ie. a .ti3) into two parts randomly to verify
profiling. <br>
@@ -5387,6 +5673,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an MPP profile against .ti3 test chart data. <br>
<small><a style="font-family: monospace;" href="spotread.html">spotread</a><span
@@ -5475,6 +5765,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an instrument to read a single spot color value. <br>
<small><a style="font-family: monospace;" href="colverify.html">colverify</a><span
@@ -5507,6 +5801,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
matching of CIE in two CGATS/.ti3 files (also view differences as
VRML)<br>
@@ -5596,6 +5894,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a synthetic input, display or output calibration (<a
href="File_Formats.html#.cal">.cal</a>)file.
@@ -5686,6 +5988,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a Spectrometer to create a Colorimeter Correction Matrix
(CCMX)&nbsp; or a Colorimeter Calibration Spectral Set (CCSS)&nbsp;
@@ -5778,6 +6084,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an embedded ICC profile from a TIFF or JPEG file.<br>
</small><small><a style="font-family: monospace;"
@@ -5873,6 +6183,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
or uninstall display profile, set display calibration from profile
or .cal file, test displace and dispwin access to a display.<br>
@@ -5969,6 +6283,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Plot a spectrum (.sp, .cmf, .ccss) and calculate CCT and VCT.<br>
<small><a style="font-family: monospace;" href="spec2cie.html">spec2cie</a><span
@@ -6059,6 +6377,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
reflective spectral .ti3 readings into CIE XYZ and D50 L*a*b*
readings. Apply FWA, plot spectrums.<br>
@@ -6151,6 +6473,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
calibration curves to an ICC profile.<br>
<small><a style="font-family: monospace;" href="average.html">average</a><span
@@ -6240,6 +6566,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small><small><big>Average or Merge two or more
measurement data files, or average patches within a single file.</big></small><br>
@@ -6330,6 +6660,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Convert Colorblind format CMY/RGB test chart into
Argyll .ti3 CGATS format. <br>
@@ -6420,6 +6754,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Color convert a TIFF or JPEG file using a sequence
of ICC device, device link, abstract profiles and calibration files.<br>
@@ -6509,6 +6847,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a Spectrometer to create a Colorimeter Correction Matrix
(CCMX)&nbsp; or a Colorimeter Calibration Spectral Set (CCSS)&nbsp;
@@ -6600,6 +6942,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a test chart using an instrument to create a .ti3 data file. <br>
<small><a style="font-family: monospace;" href="collink.html">collink</a><span
@@ -6689,6 +7035,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Link two device ICC profiles to create a device
link profile. <br>
@@ -6779,6 +7129,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Create an ICC profile from the .ti3 test data.<br>
<font size="-1"><a style="font-family: monospace;"
@@ -6869,6 +7223,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
matching of CIE in two CGATS/.ti3 files (also view differences as
VRML)<br>
@@ -6962,6 +7320,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
and read colorimetric values from a display <br>
<small><a style="font-family: monospace;" href="dispwin.html">dispwin</a><span
@@ -7052,6 +7414,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
or uninstall display profile, set display calibration from profile
or .cal file, test displace and dispwin access to a display.<br>
@@ -7143,6 +7509,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an embedded ICC profile from a TIFF or JPEG file.<br>
</small><small><a style="font-family: monospace;"
@@ -7237,6 +7607,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Create a fake Argyll .ti3 CMY data file from a CMYK
profile, as a basis of creating a CMY to CMYK separation <br>
@@ -7327,6 +7701,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
the reading of a device using an ICC or MPP profile. <br>
<small><a style="font-family: monospace;" href="filmread.html">filmread</a><span
@@ -7416,6 +7794,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
film colorimetric values using a SpectroScanT (Deprecated ?)<br>
<small><a style="font-family: monospace;" href="filmtarg.html">filmtarg</a><span
@@ -7505,6 +7887,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
film recorder TIFF files from Argyll .ti1 file. <br>
<small><a style="font-family: monospace;" href="greytiff.html">greytiff</a><span
@@ -7594,6 +7980,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a TIFF file to monochrome using an ICC device profile <small><a
style="font-family: monospace;" href="oeminst.html"></a></small><br>
@@ -7684,6 +8074,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Dump the contents of an ICC profile as text. <br>
<small><a style="font-family: monospace;" href="iccgamut.html">iccgamut</a><span
@@ -7773,6 +8167,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a gamut file or VRML file of the color gamut of an ICC profile. <br>
<small><a style="font-family: monospace;" href="icclu.html">icclu&nbsp;</a><span
@@ -7862,6 +8260,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Lookup individual color values through any ICC
profile table. <br>
@@ -7951,6 +8353,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an instrument to measure an illuminant spectrum, and estimate its UV
content.<br>
@@ -8044,6 +8450,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Kodak Colorflow format CMYK test chart into Argyll .ti3 CGATS
format. <br>
@@ -8135,6 +8545,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span><big>Convert LightSpace format RGB .bcs test chart
results into Argyll .ti3 CGATS format.</big></small></big></small><br>
@@ -8225,6 +8639,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an MPP profile against .ti3 test chart data. <br>
<small><a style="font-family: monospace;" href="mpplu.html">mpplu</a><span
@@ -8314,6 +8732,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Lookup individual color values though an MPP
profile. Also create MPP gamut files/views. <br>
@@ -8404,6 +8826,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Create a Model Printer Profile (MPP) from the .ti3
test data. <br>
@@ -8498,6 +8924,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a printer calibration .cal file from a .ti3 data file<small><big>.</big></small><br>
<small><a style="font-family: monospace;" href="printtarg.html">printtarg</a><span
@@ -8587,6 +9017,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a PS, EPS or TIFF file containing test patch values, ready for
printing.</big></small><br>
@@ -8677,6 +9111,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an ICC profile against .ti3 test chart data, create pruned .ti3
file.<br>
@@ -8772,6 +9210,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Regenerate a device profiles B2A table data by
inverting the A2B table. <br>
@@ -8862,6 +9304,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Convert a TIFF&nbsp; image of a test chart into
.ti3 device values. <br>
@@ -8953,6 +9399,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
reflective spectral .ti3 readings into CIE XYZ and D50 L*a*b*
readings. Apply FWA, plot spectrums.<br>
@@ -9044,6 +9494,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Plot a spectrum (.sp, .cmf, .ccss) and calculate CCT and VCT.<br>
<small><a style="font-family: monospace;" href="splitti3.html">splitsti3</a><span
@@ -9132,6 +9586,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a CGATS file (ie. a .ti3) into two parts randomly to verify
profiling. <br>
@@ -9221,6 +9679,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
an instrument to read a single spot color value. <small><a
style="font-family: monospace;" href="oeminst.html"></a></small><br>
@@ -9310,6 +9772,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a synthetic input, display or output calibration (<a
href="File_Formats.html#.cal">.cal</a>)file.<br>
@@ -9400,6 +9866,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
the reading of a device using a synthetic device model. </big></small><br>
<small><a style="font-family: monospace;" href="targen.html">targen</a><span
@@ -9489,6 +9959,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Generate a profiling test target values .ti1 file.
<br>
@@ -9579,6 +10053,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
a gamut file or VRML file of the color gamut of a TIFF or JPEG
image. <br>
@@ -9673,6 +10151,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small><small><big>Convert Gretag/Logo/X-Rite/Barbieri or
other format RGB or CMYK test chart results into Argyll .ti3
@@ -9764,6 +10246,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
one or more gamuts into a VRML 3D visualization file. Compute an
intersection.<br>
@@ -9854,6 +10340,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
</span></small>Lookup individual color values forward or inverted
though an ICC profile or CAL table. <br>
@@ -9971,6 +10461,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Device test values <br>
<a href="File_Formats.html#.ti2">.ti2</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -10059,6 +10553,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Device test values &amp; chart layout <br>
<a href="File_Formats.html#.ti3">.ti3</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -10147,6 +10645,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Device test values &amp; CIE tristimulus/spectral results&nbsp; <a
href="ti3_format.html">Format details.</a><br>
@@ -10239,6 +10741,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Test chart recognition template. <a href="cht_format.html">Format
details.</a> <br>
@@ -10328,6 +10834,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
3D gamut surface description <br>
<a href="File_Formats.html#.sp">.sp</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -10416,6 +10926,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Illuminant spectral description <br>
<a href="File_Formats.html#.cmf">.cmf</a>
@@ -10512,6 +11026,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Standard text based data exchange format <br>
<a href="File_Formats.html#ICC">ICC</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -10600,6 +11118,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
International Color Consortium profile format <br>
<a href="File_Formats.html#MPP">MPP</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -10688,6 +11210,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Model device profile format <br>
<a href="File_Formats.html#TIFF">TIFF</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -10776,6 +11302,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Tag Image File Format raster files. <br>
<a href="File_Formats.html#JPEG">JPEG</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -10864,6 +11394,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Joint Photographic Experts Group, JPEG File Interchange Format
raster files. <br>
@@ -10957,6 +11491,10 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
Virtual Reality Modelling Language 3D file format. <br>
<a href="File_Formats.html#X3D">X3D</a>
diff --git a/doc/ArgyllFlow.jpg b/doc/ArgyllFlow.jpg
index 962e42a..962e42a 100644..100755
--- a/doc/ArgyllFlow.jpg
+++ b/doc/ArgyllFlow.jpg
Binary files differ
diff --git a/doc/ArgyllFlowThumb.jpg b/doc/ArgyllFlowThumb.jpg
index a98b4ff..a98b4ff 100644..100755
--- a/doc/ArgyllFlowThumb.jpg
+++ b/doc/ArgyllFlowThumb.jpg
Binary files differ
diff --git a/doc/CMP_DT_003.jpg b/doc/CMP_DT_003.jpg
index 1975eeb..1975eeb 100644..100755
--- a/doc/CMP_DT_003.jpg
+++ b/doc/CMP_DT_003.jpg
Binary files differ
diff --git a/doc/CMP_Digital_Target-4.jpg b/doc/CMP_Digital_Target-4.jpg
index f8cb7a9..f8cb7a9 100644..100755
--- a/doc/CMP_Digital_Target-4.jpg
+++ b/doc/CMP_Digital_Target-4.jpg
Binary files differ
diff --git a/doc/CRTspectrum.jpg b/doc/CRTspectrum.jpg
index 82ddd17..82ddd17 100644..100755
--- a/doc/CRTspectrum.jpg
+++ b/doc/CRTspectrum.jpg
Binary files differ
diff --git a/doc/ChangesSummary.html b/doc/ChangesSummary.html
index d0eee96..559f521 100644..100755
--- a/doc/ChangesSummary.html
+++ b/doc/ChangesSummary.html
@@ -16,6 +16,48 @@
<h1> Summary of Argyll CMS Changes since last release</h1>
<h3>For a <span style="text-decoration: underline;">complete</span>
and more detailed list of changes, please see the log.txt file.</h3>
+ <h1>[V1.7.0 -&gt; V1.8.0] 20th August 2015</h1>
+ <ul>
+ <li>Added support for the Image Engineering EX1 spectroradiometer.</li>
+ <li>Added support for the SwatchMate Cube reflective colorimeter,
+ with improved accuracy.</li>
+ <li>Added Added Television Lighting Consistency Index (EBU
+ TLCI-2012 Qa)&nbsp; to spotread and specplot output.</li>
+ <li>Added R9 value to CRI value in spotread and specplot output.</li>
+ <li>Added support for "EMISINPUT" type .ti3 file.</li>
+ <li>Build using OpenSSL rather than axTLS if it is built on Linux.</li>
+ <li>Fixed stack space problem in OS X UI programs by expanding
+ main thread proxy to have 8MB instead of the default 512K.</li>
+ <li>Updated built in libtiff to V4.0.4beta.</li>
+ <li>Changed CGATS format to not emit unknown keyword declaration
+ ("KEYWORD") by default.</li>
+ <li>Added inst_calc_cond_mask to inst.h to allow for flags in
+ calibration conditions. A consequence of this is that calc needs
+ to be masked with this when comparing against a specific
+ condition, and the inst_calc_optional_flag should be cleared if
+ it is set, before callint inst-&gt;calibrate() if the user wants
+ to proceed with a particular calibration.</li>
+ <li>Fixed bug with dispcal -e N</li>
+ <li>Fixed bug in xicclu -fg and -kp</li>
+ <li>Added dispcal -x x option to allow reading a chart and
+ manually entering the XYZ values.</li>
+ <li>Fix spyder4 &amp; 5 bug where some display types were set as
+ refresh when they shouldn't be.</li>
+ <li>Fix collink "Warning :- RGB black hack trigger more than
+ once!" when -b is used with input video encoding (-e).</li>
+ <li>Changed colprof so that the default ICC description is the
+ base filename rather than the whole file path.</li>
+ <li>Fix technology type and display type selector
+ "uniqueification" bug&nbsp; that shows up in "ccxxmake -??".</li>
+ <li>Add OEM field to ccmx and ccss files to mark files that have
+ been installed from OEM disk, so that custom ccmx &amp; ccss
+ files can be given suggested selector letter priority (+
+ ref/CRT.ccss).</li>
+ <li>Tweak CGATS write format to avoid scientific notation until
+ the numbers are bigger and smaller (i.e until e6 and e-6 are
+ needed).<br>
+ </li>
+ </ul>
<h1>[V1.6.3 -&gt; V1.7.0] 1st May 2015</h1>
<ul>
<li>Improved gamut mapping to reduce unnecessary changes to less
@@ -924,6 +966,7 @@
+
</span>for systems with &gt; 3Gig Ram.</li>
<li>Add support for the Eye-One Monitor spectrometer.</li>
<li>Added -L option to <span style="font-weight: bold;">printtarg</span>
@@ -960,6 +1003,7 @@
+
and memory usage issues.</li>
<li>Fixed issues with Eye-One Pro Rev B timeouts.</li>
<li>Added new option to collink -fk, that forces 000K input to K
diff --git a/doc/Chroma4.jpg b/doc/Chroma4.jpg
index 917a9e5..917a9e5 100644..100755
--- a/doc/Chroma4.jpg
+++ b/doc/Chroma4.jpg
Binary files differ
diff --git a/doc/ColorHug.jpg b/doc/ColorHug.jpg
index 6c5d16a..6c5d16a 100644..100755
--- a/doc/ColorHug.jpg
+++ b/doc/ColorHug.jpg
Binary files differ
diff --git a/doc/ColorManagement.html b/doc/ColorManagement.html
index 3adcbe8..3adcbe8 100644..100755
--- a/doc/ColorManagement.html
+++ b/doc/ColorManagement.html
diff --git a/doc/ColorMunki.jpg b/doc/ColorMunki.jpg
index 513d770..513d770 100644..100755
--- a/doc/ColorMunki.jpg
+++ b/doc/ColorMunki.jpg
Binary files differ
diff --git a/doc/ColorMunkiCreate.jpg b/doc/ColorMunkiCreate.jpg
index 64b3dbd..64b3dbd 100644..100755
--- a/doc/ColorMunkiCreate.jpg
+++ b/doc/ColorMunkiCreate.jpg
Binary files differ
diff --git a/doc/Compiling.html b/doc/Compiling.html
index 942e15e..942e15e 100644..100755
--- a/doc/Compiling.html
+++ b/doc/Compiling.html
diff --git a/doc/CrushedDisplyBlacks.html b/doc/CrushedDisplyBlacks.html
index 3038384..3038384 100644..100755
--- a/doc/CrushedDisplyBlacks.html
+++ b/doc/CrushedDisplyBlacks.html
diff --git a/doc/DC.jpg b/doc/DC.jpg
index 4b3508e..4b3508e 100644..100755
--- a/doc/DC.jpg
+++ b/doc/DC.jpg
Binary files differ
diff --git a/doc/DTP20.jpg b/doc/DTP20.jpg
index f5ec164..f5ec164 100644..100755
--- a/doc/DTP20.jpg
+++ b/doc/DTP20.jpg
Binary files differ
diff --git a/doc/DTP22.jpg b/doc/DTP22.jpg
index 93d7400..93d7400 100644..100755
--- a/doc/DTP22.jpg
+++ b/doc/DTP22.jpg
Binary files differ
diff --git a/doc/DTP41.jpg b/doc/DTP41.jpg
index 1a946e9..1a946e9 100644..100755
--- a/doc/DTP41.jpg
+++ b/doc/DTP41.jpg
Binary files differ
diff --git a/doc/DTP51.jpg b/doc/DTP51.jpg
index 946810c..946810c 100644..100755
--- a/doc/DTP51.jpg
+++ b/doc/DTP51.jpg
Binary files differ
diff --git a/doc/DTP92.jpg b/doc/DTP92.jpg
index 2570daa..2570daa 100644..100755
--- a/doc/DTP92.jpg
+++ b/doc/DTP92.jpg
Binary files differ
diff --git a/doc/DTP94.jpg b/doc/DTP94.jpg
index d99feaf..d99feaf 100644..100755
--- a/doc/DTP94.jpg
+++ b/doc/DTP94.jpg
Binary files differ
diff --git a/doc/DocLicense.txt b/doc/DocLicense.txt
index cd2b3b1..cd2b3b1 100644..100755
--- a/doc/DocLicense.txt
+++ b/doc/DocLicense.txt
diff --git a/doc/EX1.jpg b/doc/EX1.jpg
new file mode 100755
index 0000000..0192ba8
--- /dev/null
+++ b/doc/EX1.jpg
Binary files differ
diff --git a/doc/Environment.html b/doc/Environment.html
index d02bf6c..b4cd9ca 100644..100755
--- a/doc/Environment.html
+++ b/doc/Environment.html
@@ -41,6 +41,12 @@
&nbsp;&nbsp;&nbsp; Note that while a reading is being made, a
character input can abort the reading, just as with normal
interactive mode.<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Note that on MSWin systems, the character and
+ return or line fee characters must be written to stdin in a single
+ operation (i.e. testing <span style="font-weight: bold;">ARGYLL_NOT_INTERACTIVE&nbsp;
+ </span>mode manually will probably fail, because the character and
+ return get split up.)<br>
</div>
<span style="font-weight: bold;"></span><br>
<b><a name="ARGYLL_3D_DISP_FORMAT"></a>ARGYLL_3D_DISP_FORMAT<br>
@@ -51,11 +57,13 @@
+
</b>or <b>X3DOM</b>, which will result in <b>.wrl</b>, <b>.x3d</b>
and <b>.x3d.html</b> files respectively. See <a href="3dformat">3d
+
Viewing Format</a>.<br>
</blockquote>
<b><br>
@@ -88,6 +96,7 @@ a
+
delay of 200 msec is allowed between changing a patch color in
software, and that change appearing in the displayed color itself.
For some instuments (ie. i1d3, i1pro, ColorMunki, Klein K10-A)
@@ -106,6 +115,7 @@ environment
+
variable, ie. ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS=400 would set a
400 msec minimum delay.<br>
<span style="font-weight: bold;"><br>
@@ -246,6 +256,7 @@ Base
+
Directory Specification</a>, and uses the <span
style="font-weight: bold;">XDG_CACHE_HOME</span> environment
variable to place per instrument calibration information, and
diff --git a/doc/FWA.html b/doc/FWA.html
index c6b1f4b..c6b1f4b 100644..100755
--- a/doc/FWA.html
+++ b/doc/FWA.html
diff --git a/doc/FWA_measure.jpg b/doc/FWA_measure.jpg
index 7d97fff..7d97fff 100644..100755
--- a/doc/FWA_measure.jpg
+++ b/doc/FWA_measure.jpg
Binary files differ
diff --git a/doc/File_Formats.html b/doc/File_Formats.html
index 1741701..70a196a 100644..100755
--- a/doc/File_Formats.html
+++ b/doc/File_Formats.html
@@ -117,7 +117,7 @@
href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
used to hold a set of display spectral samples. For Colorimeters
that have known sensor spectral sensitivity information (such as the
- i1d3 and Spyder4), this allows a calibration to be created that is
+ i1d3 and Spyder4 & Spyder5), this allows a calibration to be created that is
tuned for a particular display. The file contains a description of
the display, the display technology type, the type of spectrometer
used for taking the readings. See <a href="oeminst.html">oeminst</a>
diff --git a/doc/Fluorescent.jpg b/doc/Fluorescent.jpg
index acabf74..acabf74 100644..100755
--- a/doc/Fluorescent.jpg
+++ b/doc/Fluorescent.jpg
Binary files differ
diff --git a/doc/HCFR.jpg b/doc/HCFR.jpg
index 9454842..9454842 100644..100755
--- a/doc/HCFR.jpg
+++ b/doc/HCFR.jpg
Binary files differ
diff --git a/doc/HCT.jpg b/doc/HCT.jpg
index a1f1f23..a1f1f23 100644..100755
--- a/doc/HCT.jpg
+++ b/doc/HCT.jpg
Binary files differ
diff --git a/doc/HiResLaser.jpg b/doc/HiResLaser.jpg
index 66da2eb..66da2eb 100644..100755
--- a/doc/HiResLaser.jpg
+++ b/doc/HiResLaser.jpg
Binary files differ
diff --git a/doc/Huey.jpg b/doc/Huey.jpg
index 5f25980..5f25980 100644..100755
--- a/doc/Huey.jpg
+++ b/doc/Huey.jpg
Binary files differ
diff --git a/doc/Installing.html b/doc/Installing.html
index 79d8ade..79d8ade 100644..100755
--- a/doc/Installing.html
+++ b/doc/Installing.html
diff --git a/doc/Installing_Linux.html b/doc/Installing_Linux.html
index a26d64c..a26d64c 100644..100755
--- a/doc/Installing_Linux.html
+++ b/doc/Installing_Linux.html
diff --git a/doc/Installing_MSWindows.html b/doc/Installing_MSWindows.html
index 40dcd2c..bb610cd 100644..100755
--- a/doc/Installing_MSWindows.html
+++ b/doc/Installing_MSWindows.html
@@ -61,9 +61,9 @@
<br>
&nbsp;So if the current value of PATH is
"%SystemRoot%\system32;%SystemRoot%" and you unpacked Argyll version
- 1.7.0 in <span style="font-weight: bold;">d:\bin\</span>, then you
+ 1.8.0 in <span style="font-weight: bold;">d:\bin\</span>, then you
would modify PATH to be
- "%SystemRoot%\system32;%SystemRoot%;d:\bin\Argyll_V1.7.0\bin", -
+ "%SystemRoot%\system32;%SystemRoot%;d:\bin\Argyll_V1.8.0\bin", -
i.e. you append the path to the Argyll binaries to your PATH,
separated by the ';' character. The change will take effect when you
start a new command shell, which you start from Start
diff --git a/doc/Installing_OSX.html b/doc/Installing_OSX.html
index fb01e4a..fb01e4a 100644..100755
--- a/doc/Installing_OSX.html
+++ b/doc/Installing_OSX.html
diff --git a/doc/JETI_1211.jpg b/doc/JETI_1211.jpg
index efbf291..efbf291 100644..100755
--- a/doc/JETI_1211.jpg
+++ b/doc/JETI_1211.jpg
Binary files differ
diff --git a/doc/K10A.jpg b/doc/K10A.jpg
index 1a93349..1a93349 100644..100755
--- a/doc/K10A.jpg
+++ b/doc/K10A.jpg
Binary files differ
diff --git a/doc/Kgraph1.jpg b/doc/Kgraph1.jpg
index 9f6edf9..9f6edf9 100644..100755
--- a/doc/Kgraph1.jpg
+++ b/doc/Kgraph1.jpg
Binary files differ
diff --git a/doc/Kgraph2.jpg b/doc/Kgraph2.jpg
index a7d532d..a7d532d 100644..100755
--- a/doc/Kgraph2.jpg
+++ b/doc/Kgraph2.jpg
Binary files differ
diff --git a/doc/Kgraph3.jpg b/doc/Kgraph3.jpg
index f916558..f916558 100644..100755
--- a/doc/Kgraph3.jpg
+++ b/doc/Kgraph3.jpg
Binary files differ
diff --git a/doc/Kgraph4.jpg b/doc/Kgraph4.jpg
index 603c9bd..603c9bd 100644..100755
--- a/doc/Kgraph4.jpg
+++ b/doc/Kgraph4.jpg
Binary files differ
diff --git a/doc/Kgraph5.jpg b/doc/Kgraph5.jpg
index 1de1b88..1de1b88 100644..100755
--- a/doc/Kgraph5.jpg
+++ b/doc/Kgraph5.jpg
Binary files differ
diff --git a/doc/Kgraph6.jpg b/doc/Kgraph6.jpg
index f3981d2..f3981d2 100644..100755
--- a/doc/Kgraph6.jpg
+++ b/doc/Kgraph6.jpg
Binary files differ
diff --git a/doc/Kgraph7.jpg b/doc/Kgraph7.jpg
index c2d0686..c2d0686 100644..100755
--- a/doc/Kgraph7.jpg
+++ b/doc/Kgraph7.jpg
Binary files differ
diff --git a/doc/Kgraph8.jpg b/doc/Kgraph8.jpg
index 1bb9569..1bb9569 100644..100755
--- a/doc/Kgraph8.jpg
+++ b/doc/Kgraph8.jpg
Binary files differ
diff --git a/doc/Kparams.jpg b/doc/Kparams.jpg
index 04e344b..04e344b 100644..100755
--- a/doc/Kparams.jpg
+++ b/doc/Kparams.jpg
Binary files differ
diff --git a/doc/LSDC.jpg b/doc/LSDC.jpg
index 2ad2a67..2ad2a67 100644..100755
--- a/doc/LSDC.jpg
+++ b/doc/LSDC.jpg
Binary files differ
diff --git a/doc/LabSteps.jpg b/doc/LabSteps.jpg
index d25590f..d25590f 100644..100755
--- a/doc/LabSteps.jpg
+++ b/doc/LabSteps.jpg
Binary files differ
diff --git a/doc/License.txt b/doc/License.txt
index a871fcf..a871fcf 100644..100755
--- a/doc/License.txt
+++ b/doc/License.txt
diff --git a/doc/License2.txt b/doc/License2.txt
index 05ca889..05ca889 100644..100755
--- a/doc/License2.txt
+++ b/doc/License2.txt
diff --git a/doc/License3.txt b/doc/License3.txt
index 94a9ed0..94a9ed0 100644..100755
--- a/doc/License3.txt
+++ b/doc/License3.txt
diff --git a/doc/Limitations.html b/doc/Limitations.html
index f3fb811..f3fb811 100644..100755
--- a/doc/Limitations.html
+++ b/doc/Limitations.html
diff --git a/doc/MinorTools.html b/doc/MinorTools.html
index 5e9a5c4..5e9a5c4 100644..100755
--- a/doc/MinorTools.html
+++ b/doc/MinorTools.html
diff --git a/doc/Organisation.html b/doc/Organisation.html
index 738b4ba..738b4ba 100644..100755
--- a/doc/Organisation.html
+++ b/doc/Organisation.html
diff --git a/doc/Overview.html b/doc/Overview.html
index 373d195..373d195 100644..100755
--- a/doc/Overview.html
+++ b/doc/Overview.html
diff --git a/doc/Performance.html b/doc/Performance.html
index 340cec0..340cec0 100644..100755
--- a/doc/Performance.html
+++ b/doc/Performance.html
diff --git a/doc/Q60.jpg b/doc/Q60.jpg
index 1521e04..1521e04 100644..100755
--- a/doc/Q60.jpg
+++ b/doc/Q60.jpg
Binary files differ
diff --git a/doc/QPcard201.jpg b/doc/QPcard201.jpg
index dbe1448..dbe1448 100644..100755
--- a/doc/QPcard201.jpg
+++ b/doc/QPcard201.jpg
Binary files differ
diff --git a/doc/QPcard202.jpg b/doc/QPcard202.jpg
index 3332bdd..3332bdd 100644..100755
--- a/doc/QPcard202.jpg
+++ b/doc/QPcard202.jpg
Binary files differ
diff --git a/doc/SG.jpg b/doc/SG.jpg
index 7dc20e1..7dc20e1 100644..100755
--- a/doc/SG.jpg
+++ b/doc/SG.jpg
Binary files differ
diff --git a/doc/SG_footer.txt b/doc/SG_footer.txt
index e82fbc2..e82fbc2 100644..100755
--- a/doc/SG_footer.txt
+++ b/doc/SG_footer.txt
diff --git a/doc/SG_header.txt b/doc/SG_header.txt
index 83af2cd..83af2cd 100644..100755
--- a/doc/SG_header.txt
+++ b/doc/SG_header.txt
diff --git a/doc/SMCube.jpg b/doc/SMCube.jpg
new file mode 100755
index 0000000..e38d23a
--- /dev/null
+++ b/doc/SMCube.jpg
Binary files differ
diff --git a/doc/Scenarios.html b/doc/Scenarios.html
index 7b5899f..8cd45c9 100644..100755
--- a/doc/Scenarios.html
+++ b/doc/Scenarios.html
@@ -180,6 +180,7 @@
+
and profiling a display that doesn't have VideoLUT access</a>.<br>
<br>
@@ -258,6 +259,7 @@
+
-r</span> for an LCD display, or <span style="text-decoration:
underline; color: rgb(204, 51, 204);">dispcal -yc -r</span> for a
@@ -640,6 +642,7 @@
+
(<span style="font-weight: bold;">-Iw</span>) changes by doing on
the fly calibrations during the measurements. Instrument black level
@@ -710,6 +713,7 @@
+
Correction Matrix</a>. These are specific to a particular
Colorimeter and Display make and model combination, although a
@@ -878,6 +882,7 @@
+
SG</a> charts:<br>
<br>
@@ -946,6 +951,7 @@
+
HCT</a> :<br>
<br>
@@ -1019,6 +1025,7 @@
+
Imaging DCPro Target</a>:<br>
<br>
@@ -1083,6 +1090,7 @@
+
201</a>:&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a
href="http://www.qpcard.com/en_b2c/color-reference-cards/instant-camera-raw-profiling-with-qpcard-202.html">QPcard
@@ -1135,6 +1143,7 @@ href="http://www.qpcard.com/en_b2c/color-reference-cards/instant-camera-raw-prof
+
202</a>:<br>
<br>
@@ -1193,7 +1202,7 @@ href="http://www.qpcard.com/en_b2c/color-reference-cards/instant-camera-raw-prof
create your own reference file using an instrument and chartread,
making use of the chart reference file <span style="font-weight:
bold;">ref/ColorChecker.ti2</span>:<br>
- &nbsp;&nbsp; <a href="chartread.html">chartread</a> -n -a
+ &nbsp;&nbsp; <a href="chartread.html">chartread</a> -n
ColorChecker.ti2<br>
Note that due to the small number of patches, a profile created
from such a chart is not likely to be very detailed.<br>
@@ -1271,6 +1280,7 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
header</a>, and appending <a href="SG_footer.txt">this footer</a>,
making sure there are no blank lines inserted in the process.
@@ -1298,7 +1308,7 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
instrument (usually the Eye-One Pro). This can be done using
chartread,&nbsp; making use of the chart reference file <span
style="font-weight: bold;">ref/i1_RGB_Scan_1.4.ti2</span>:<br>
- &nbsp;&nbsp;&nbsp; <a href="chartread.html">chartread</a> -n -a
+ &nbsp;&nbsp;&nbsp; <a href="chartread.html">chartread</a> -n
i1_RGB_Scan_1.4<br>
and then rename the resulting <span style="font-weight: bold;">i1_RGB_Scan_1.4.ti3</span>
file to <span style="font-weight: bold;">i1_RGB_Scan_1.4.cie</span><br>
@@ -1403,6 +1413,7 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
documentation</a>).<br>
<br>
@@ -1856,6 +1867,7 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
scanner or camera must be configured and used exactly the same
as it was when it was profiled.</span></big><br>
@@ -2005,6 +2017,7 @@ then
+
it can save considerable processing time and space if the -b flag is
used, and the -S flag not used.<br>
@@ -2137,6 +2150,7 @@ then
+
and then used <a href="xicclu.html#g">xicclu</a> to explore the
effect of the parameters.<br>
@@ -2602,6 +2616,7 @@ chart,
+
and/or to have it included in .ti3 file.<br>
&nbsp;&nbsp;&nbsp; <a href="cctiff.html#p2">cctiff</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2668,6 +2683,7 @@ an
+
image file.<br>
&nbsp;&nbsp;&nbsp; <a href="applycal.html#p1">applycal</a>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2726,6 +2742,7 @@ an
+
To incorporate calibration into an ICC profile.<br>
&nbsp;&nbsp;&nbsp; <a href="chartread.html#I">chartread</a>&nbsp;&nbsp;
@@ -2792,6 +2809,7 @@ a
+
profile chart.<br>
<br>
@@ -3134,6 +3152,7 @@ a
MadVR rather than Argyll, start madTPG and then use the option "<b>-d
+
madvr</b>" in dispcal, dispread and dispwin. Leave the MadTPG
"VideoLUT" and "3dluts" buttons in their default&nbsp; (enabled)
@@ -3195,6 +3214,7 @@ a
+
interactive adjustment mode can be used to set the white point.
Note that while adjusting the neutral axis for neutrality may
@@ -3228,6 +3248,7 @@ a
+
of where to apply display per channel calibration curves.</b></li>
<li>Choose one of the Absolute Colorimetric intents in collink
@@ -3720,6 +3741,7 @@ a
+
TV.cal </tt>EBU3213_PAL.icm TV.icm SD_PAL.icm</tt><tt><br>
</tt><tt> </tt><tt><br>
@@ -3745,6 +3767,7 @@ a
+
TV.cal </tt>SMPTE_RP145_NTSC.icm TV.icm SD_NTSC.icm</tt><br>
<br>
@@ -3777,6 +3800,7 @@ a
+
TV.cal </tt>EBU3213_PAL.icm TV.icm SD_PAL.icm</tt><tt><br>
</tt><tt> </tt><tt><br>
@@ -3802,6 +3826,7 @@ a
+
TV.cal </tt>SMPTE_RP145_NTSC.icm TV.icm SD_NTSC.icm</tt><br>
<br>
diff --git a/doc/Smile.jpg b/doc/Smile.jpg
index 66a6b00..66a6b00 100644..100755
--- a/doc/Smile.jpg
+++ b/doc/Smile.jpg
Binary files differ
diff --git a/doc/Source.html b/doc/Source.html
index 5ea423e..5ea423e 100644..100755
--- a/doc/Source.html
+++ b/doc/Source.html
diff --git a/doc/Spyd2.jpg b/doc/Spyd2.jpg
index 8f8eff5..8f8eff5 100644..100755
--- a/doc/Spyd2.jpg
+++ b/doc/Spyd2.jpg
Binary files differ
diff --git a/doc/Spyd3.jpg b/doc/Spyd3.jpg
index e1ab16f..e1ab16f 100644..100755
--- a/doc/Spyd3.jpg
+++ b/doc/Spyd3.jpg
Binary files differ
diff --git a/doc/Spyd3x.jpg b/doc/Spyd3x.jpg
index 8916915..8916915 100644..100755
--- a/doc/Spyd3x.jpg
+++ b/doc/Spyd3x.jpg
Binary files differ
diff --git a/doc/Spyd4.jpg b/doc/Spyd4.jpg
index 0d1b1b6..0d1b1b6 100644..100755
--- a/doc/Spyd4.jpg
+++ b/doc/Spyd4.jpg
Binary files differ
diff --git a/doc/Spyd5.jpg b/doc/Spyd5.jpg
new file mode 100755
index 0000000..86b4be2
--- /dev/null
+++ b/doc/Spyd5.jpg
Binary files differ
diff --git a/doc/SpyderChecker.jpg b/doc/SpyderChecker.jpg
index e50a205..e50a205 100644..100755
--- a/doc/SpyderChecker.jpg
+++ b/doc/SpyderChecker.jpg
Binary files differ
diff --git a/doc/VideoEOTFs.html b/doc/VideoEOTFs.html
index 526477c..526477c 100644..100755
--- a/doc/VideoEOTFs.html
+++ b/doc/VideoEOTFs.html
diff --git a/doc/WideGamutColmters.html b/doc/WideGamutColmters.html
index 67a5817..67a5817 100644..100755
--- a/doc/WideGamutColmters.html
+++ b/doc/WideGamutColmters.html
diff --git a/doc/YellowGreen.jpg b/doc/YellowGreen.jpg
index 16f637f..16f637f 100644..100755
--- a/doc/YellowGreen.jpg
+++ b/doc/YellowGreen.jpg
Binary files differ
diff --git a/doc/afiles b/doc/afiles
index db6632f..88f7406 100644..100755
--- a/doc/afiles
+++ b/doc/afiles
@@ -39,6 +39,7 @@ Spyd2.jpg
Spyd3.jpg
Spyd3x.jpg
Spyd4.jpg
+Spyd5.jpg
i1d.jpg
i1d3_1.jpg
i1d3_2.jpg
@@ -48,6 +49,8 @@ sl.jpg
ss.jpg
JETI_1211.jpg
ColorHug.jpg
+EX1.jpg
+SMCube.jpg
mox.jpg
moxxr.jpg
Chroma4.jpg
diff --git a/doc/applycal.html b/doc/applycal.html
index 5c5e661..5c5e661 100644..100755
--- a/doc/applycal.html
+++ b/doc/applycal.html
diff --git a/doc/average.html b/doc/average.html
index 231df92..231df92 100644..100755
--- a/doc/average.html
+++ b/doc/average.html
diff --git a/doc/cal_format.html b/doc/cal_format.html
index 361a329..361a329 100644..100755
--- a/doc/cal_format.html
+++ b/doc/cal_format.html
diff --git a/doc/calvschar.html b/doc/calvschar.html
index f194d79..f194d79 100644..100755
--- a/doc/calvschar.html
+++ b/doc/calvschar.html
diff --git a/doc/cb2ti3.html b/doc/cb2ti3.html
index d999075..d999075 100644..100755
--- a/doc/cb2ti3.html
+++ b/doc/cb2ti3.html
diff --git a/doc/ccmxs.html b/doc/ccmxs.html
index 1ceaeac..1ceaeac 100644..100755
--- a/doc/ccmxs.html
+++ b/doc/ccmxs.html
diff --git a/doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx b/doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx
index c1d0e8c..c1d0e8c 100644..100755
--- a/doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx
+++ b/doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx
diff --git a/doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx b/doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx
index 168fc51..168fc51 100644..100755
--- a/doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx
+++ b/doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx
diff --git a/doc/ccmxs/DTP-94_Dell_2408W.ccmx b/doc/ccmxs/DTP-94_Dell_2408W.ccmx
index bf58d48..bf58d48 100644..100755
--- a/doc/ccmxs/DTP-94_Dell_2408W.ccmx
+++ b/doc/ccmxs/DTP-94_Dell_2408W.ccmx
diff --git a/doc/ccmxs/DTP-94_Dell_U2410.ccmx b/doc/ccmxs/DTP-94_Dell_U2410.ccmx
index 0d7c610..0d7c610 100644..100755
--- a/doc/ccmxs/DTP-94_Dell_U2410.ccmx
+++ b/doc/ccmxs/DTP-94_Dell_U2410.ccmx
diff --git a/doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx b/doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx
index b8d3072..b8d3072 100644..100755
--- a/doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx
+++ b/doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx
diff --git a/doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx b/doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx
index c3f9d80..c3f9d80 100644..100755
--- a/doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx
+++ b/doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx
diff --git a/doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx b/doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx
index c70758e..c70758e 100644..100755
--- a/doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx
+++ b/doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx
index 4500b0e..4500b0e 100644..100755
--- a/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx
index 1d8e082..1d8e082 100644..100755
--- a/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx
index e6be5d5..e6be5d5 100644..100755
--- a/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx
index 1de91c9..1de91c9 100644..100755
--- a/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx
diff --git a/doc/ccmxs/Huey_Acer_al2016w.ccmx b/doc/ccmxs/Huey_Acer_al2016w.ccmx
index 288a230..288a230 100644..100755
--- a/doc/ccmxs/Huey_Acer_al2016w.ccmx
+++ b/doc/ccmxs/Huey_Acer_al2016w.ccmx
diff --git a/doc/ccmxs/Huey_Eizo_CG243.ccmx b/doc/ccmxs/Huey_Eizo_CG243.ccmx
index 29e21bd..29e21bd 100644..100755
--- a/doc/ccmxs/Huey_Eizo_CG243.ccmx
+++ b/doc/ccmxs/Huey_Eizo_CG243.ccmx
diff --git a/doc/ccmxs/Huey_HP_compaq_6730s.ccmx b/doc/ccmxs/Huey_HP_compaq_6730s.ccmx
index 26f11ae..26f11ae 100644..100755
--- a/doc/ccmxs/Huey_HP_compaq_6730s.ccmx
+++ b/doc/ccmxs/Huey_HP_compaq_6730s.ccmx
diff --git a/doc/ccmxs/Huey_HP_lp2475w.ccmx b/doc/ccmxs/Huey_HP_lp2475w.ccmx
index c33ee75..c33ee75 100644..100755
--- a/doc/ccmxs/Huey_HP_lp2475w.ccmx
+++ b/doc/ccmxs/Huey_HP_lp2475w.ccmx
diff --git a/doc/ccmxs/Huey_NEC1990SXi.ccmx b/doc/ccmxs/Huey_NEC1990SXi.ccmx
index 97f8d8a..97f8d8a 100644..100755
--- a/doc/ccmxs/Huey_NEC1990SXi.ccmx
+++ b/doc/ccmxs/Huey_NEC1990SXi.ccmx
diff --git a/doc/ccmxs/Huey_NEC_Spectraview_241.ccmx b/doc/ccmxs/Huey_NEC_Spectraview_241.ccmx
index f7341da..f7341da 100644..100755
--- a/doc/ccmxs/Huey_NEC_Spectraview_241.ccmx
+++ b/doc/ccmxs/Huey_NEC_Spectraview_241.ccmx
diff --git a/doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx b/doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx
index a6c29fc..a6c29fc 100644..100755
--- a/doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx
+++ b/doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx
diff --git a/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx
index 0cbe855..0cbe855 100644..100755
--- a/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx
+++ b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx
diff --git a/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx
index d1960b3..d1960b3 100644..100755
--- a/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx
+++ b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx
diff --git a/doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx b/doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx
index 214a680..214a680 100644..100755
--- a/doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx
+++ b/doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx
diff --git a/doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx b/doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx
index 7fbf60b..7fbf60b 100644..100755
--- a/doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx
+++ b/doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx
diff --git a/doc/ccmxs/Spyder3_HP_LP2475w.ccmx b/doc/ccmxs/Spyder3_HP_LP2475w.ccmx
index 40e990c..40e990c 100644..100755
--- a/doc/ccmxs/Spyder3_HP_LP2475w.ccmx
+++ b/doc/ccmxs/Spyder3_HP_LP2475w.ccmx
diff --git a/doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx b/doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx
index 2a663bc..2a663bc 100644..100755
--- a/doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx
+++ b/doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx
diff --git a/doc/ccmxs/Spyder3_NEC_PA301W.ccmx b/doc/ccmxs/Spyder3_NEC_PA301W.ccmx
index b0dd777..b0dd777 100644..100755
--- a/doc/ccmxs/Spyder3_NEC_PA301W.ccmx
+++ b/doc/ccmxs/Spyder3_NEC_PA301W.ccmx
diff --git a/doc/cctiff.html b/doc/cctiff.html
index c19d5c5..5a9ca82 100644..100755
--- a/doc/cctiff.html
+++ b/doc/cctiff.html
@@ -3,7 +3,7 @@
<head>
<title>cctiff</title>
<meta http-equiv="content-type" content="text/html;
- charset=ISO-8859-1">
+ charset=windows-1252">
<meta name="author" content="Graeme Gill">
</head>
<body>
@@ -22,6 +22,7 @@
style="font-style: italic;">profile.icm</span> | [-d dir]
calibration.cal ...} <span style="font-style: italic;">infile.tif
+
outfile.tif</span></span></small><small><span
style="font-family: monospace;"></span><br style="font-family:
monospace;">
@@ -33,12 +34,14 @@
style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
+
&nbsp;&nbsp; Verbose</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#c">-c</a><span
style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
+
&nbsp;&nbsp; Combine linearisation curves into one transform</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
@@ -46,6 +49,7 @@
style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
+
&nbsp;&nbsp; Use slow precise floating point conversion, rather
than fast integer routines.</span><br style="font-family:
monospace;">
@@ -54,6 +58,7 @@
style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
+
&nbsp;&nbsp; Check fast result against precise, and report
differences.<br>
</span></small><small><span style="font-family: monospace;">&nbsp;</span><a
@@ -71,8 +76,10 @@
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Choose
output encoding from 1..n<br>
&nbsp;<a href="#f">-f [T|J]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
Set output format to Tiff or Jpeg (Default is same as input)<br>
&nbsp;<a href="#q">-q quality</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
Set JPEG quality 1..100 (Default 80)<br>
</span></small><small><span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#a">-a</a><span
@@ -84,11 +91,15 @@
href="#I">-I</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Ignore
+
any file or profile colorspace mismatches<br>
&nbsp;<a href="#D">-D</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Don't
+
append or set the output TIFF description<br>
+ &nbsp;<a href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Output uncompressed TIFF (default LZW)<br>
<br>
</span></small><small><span style="font-family: monospace;"></span><span
style="font-family: monospace;"><br>
@@ -100,12 +111,14 @@ Don't
TIFF or JPEG file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
</span></small><small><span style="font-family: monospace;">This
may be an ICC file or TIFF or JPEG file with embedded profile.</span></small><br>
<small><span style="font-family: monospace;"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Then
+
for each profile in the linked sequence:<br style="font-family:
monospace;">
</span></small><small><span style="font-family: monospace;"></span></small><small><span
@@ -122,6 +135,7 @@ Then
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
+
&nbsp;&nbsp;&nbsp; s = saturation, a = absolute colorimetric<br>
</span></small><small><span style="font-family: monospace;">&nbsp;
</span><a style="font-family: monospace;" href="#o">-o order<span
@@ -132,6 +146,7 @@ Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
r
+
= reverse (priority: monochrome &gt; matrix &gt; lut)</span></small><small><span
style="font-family: monospace;"></span><br style="font-family:
monospace;">
@@ -143,10 +158,12 @@ r
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(May
+
be embedded profile in TIFF or JPEG file)<br>
</span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
or
+
each calibration file in sequence:<br style="font-family:
monospace;">
</span></small><small><span style="font-family: monospace;"></span></small><small><span
@@ -168,6 +185,7 @@ or
style="font-family: monospace;"></span></i></a><span
style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
A calibration file.</span></small><br>
<small><span style="font-family: monospace;"></span><span
style="font-family: monospace;"></span><span style="font-family:
@@ -182,9 +200,8 @@ or
style="font-family: monospace;"> &nbsp; &nbsp; &nbsp;
&nbsp;&nbsp; A </span><a style="font-family: monospace;"
href="File_Formats.html#TIFF">TIFF</a><span style="font-family:
- monospace;">
- or <a href="File_Formats.html#JPEG">JPEG</a> Raster file that
- will be the input raster to be transformed.</span><br
+ monospace;"> or <a href="File_Formats.html#JPEG">JPEG</a>
+ Raster file that will be the input raster to be transformed.</span><br
style="font-family: monospace;">
&nbsp;<span style="font-family: monospace;"></span><a
style="font-family: monospace;" href="#p4"><i>outfile.tif</i></a><span
@@ -283,6 +300,10 @@ or
<a name="D"></a>The <span style="font-weight: bold;">-D</span> flag
stops the description tag being set or appended to by cctiff.<br>
<br>
+ <a name="N"></a>By default any TIFF output file will be LZW
+ compressed, but the <span style="font-weight: bold;">-N</span> flag
+ will cause any TIFF file to be saved uncompressed.<br>
+ <br>
<small><a name="e"></a></small><small>The <span style="font-weight:
bold;">-e profile.[icm | tiff | jpg]</span> option allows an ICC
profile to be embedded in the </small>destination TIFF or JPEG
diff --git a/doc/ccxxmake.html b/doc/ccxxmake.html
index f83afc8..a2a9080 100644..100755
--- a/doc/ccxxmake.html
+++ b/doc/ccxxmake.html
@@ -32,9 +32,10 @@
information built into them&nbsp; (ie. the X-Rite <span
style="font-weight: bold;">i1d3</span>, and<span
style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
- DataColor <span style="font-weight: bold;">Spyder4</span>), <span
- style="font-weight: bold;">ccxxmake</span> allows a creation of a
- calibration spectral sample (<a href="File_Formats.html#.ccss">ccss</a>)
+ DataColor <span style="font-weight: bold;">Spyder4 &amp; Spyder5</span>),
+
+ <span style="font-weight: bold;">ccxxmake</span> allows a creation
+ of a calibration spectral sample (<a href="File_Formats.html#.ccss">ccss</a>)
for a particular <span style="font-weight: bold;">Display</span>,
by making use a reference <span style="font-weight: bold;">Spectrometer</span>
instrument. This can then be used to improve the accuracy of
@@ -73,6 +74,8 @@
+
+
&nbsp; &nbsp; &nbsp; Verbose mode</small><br>
&nbsp; <a href="#S">-S</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Create
@@ -96,8 +99,10 @@ rather
+
+
than CCMX<br>
- &nbsp; <a href="#f">-f file1.ti3[,file2.ti3]</a>
+ &nbsp; <a href="#f">-f ref.ti3[,targ.ti3]</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Create
from
@@ -122,6 +127,8 @@ two
+
+
.ti3 files rather than measure.<br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><font
style="font-family: monospace;" size="-1"><a href="#display">-display
@@ -143,6 +150,8 @@ two
+
+
displayname</a>&nbsp; [X11 only] Choose X11 display name</font><br
style="font-family: monospace;">
<font style="font-family: monospace;" size="-1"></font><font
@@ -177,6 +186,8 @@ m
+
+
for VideoLUT access.</font><br style="font-family: monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;<a href="#d">-d
@@ -197,6 +208,8 @@ m
+
+
n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Choose
the
@@ -223,6 +236,8 @@ list
+
+
(default 1)</font><br>
<span style="font-family: monospace;">&nbsp;<a href="#dweb">-dweb[:port]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -247,6 +262,8 @@ list
+
+
Display via a web server at port (default 8080)</span><br>
<span style="font-family: monospace;">&nbsp;<a href="#dmadvr">-dmadvr</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -262,10 +279,14 @@ list
+
+
[MSWin] Display via MadVR Video Renderer</span><br>
<tt>&nbsp;</tt><tt><a href="#dcc">-dcc[:n]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
</tt><tt>Display via n'th ChromeCast (default 1, ? for list)</tt><br
style="font-family: monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;</font><font
@@ -288,6 +309,8 @@ list
+
+
Use telephoto mode (ie. for a projector) (if available)</font><br
style="font-family: monospace;">
&nbsp; <tt></tt><tt><font size="-1"><a href="#y">-y X</a>
@@ -311,11 +334,17 @@ list
+
+
Display type - instrument specific list to choose from.</font></tt><tt>
(CCMX)</tt><tt><br>
</tt><tt>&nbsp;<a href="#z">-z disptype</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
Different display type for spectrometer (see -y)</tt><tt><br>
</tt><tt> </tt><tt>&nbsp;</tt><tt><a href="#P">-P ho,vo,ss[,vs]</a></tt><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
Position test window and scale it</tt><br style="font-family:
monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -344,6 +373,8 @@ center,
+
+
1.0 = right/bottom etc.</font><br style="font-family: monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ss:
@@ -371,6 +402,8 @@ normal,
+
+
2.0 = double etc.</font><br>
<font size="-1"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -385,6 +418,8 @@ normal,
+
+
ss,vs: = optional horizontal, vertical scale.</span></font><br
style="font-family: monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;</font><font
@@ -408,6 +443,8 @@ normal,
+
+
Fill whole screen with black background</font><br
style="font-family: monospace;">
<small style="font-family: monospace;">&nbsp;<span
@@ -438,6 +475,8 @@ on
+
+
test window<br>
</small><font style="font-family: monospace;" size="-1">&nbsp;<a
href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -459,6 +498,8 @@ on
+
+
Disable initial calibration of instrument</font><small
style="font-family: monospace;"> if possible<br>
</small><span style="font-family: monospace;">&nbsp;</span><font
@@ -482,6 +523,8 @@ on
+
+
Use high resolution spectrum mode (if available)</font><font
style="font-family: monospace;" size="-1"></font><br
style="font-family: monospace;">
@@ -504,6 +547,8 @@ on
+
+
"command"</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Invoke shell "command" each time a color is set<br>
</font><small style="font-family: monospace;">&nbsp;<a href="#o">-o
@@ -539,6 +584,8 @@ sequence
+
+
combination steps (default 3)</font><br style="font-family:
monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;<a href="#W">-W
@@ -560,6 +607,8 @@ sequence
+
+
n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Override
serial
@@ -586,6 +635,8 @@ n
+
+
none, h = HW, x = Xon/Xoff</font><br style="font-family:
monospace;">
<small style="font-family: monospace;">&nbsp;<a href="#D">-D [level]</a>
@@ -615,6 +666,8 @@ overall
+
+
description</small><br>
<small style="font-family: monospace;">&nbsp;<a href="#I">-I
"displayname"</a> &nbsp;&nbsp;&nbsp;&nbsp; </small><span
@@ -624,6 +677,8 @@ overall
&nbsp;</small><small style="font-family: monospace;"><a href="#T">-t
+
+
dtech</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set display technology type<br>
@@ -631,26 +686,36 @@ overall
c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
CRT<br>
&nbsp;&nbsp;&nbsp;
m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
Plasma<br>
&nbsp;&nbsp;&nbsp;
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
LCD<br>
&nbsp;&nbsp;&nbsp;
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
LCD CCFL<br>
&nbsp;&nbsp;&nbsp;
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL IPS<br>
@@ -658,6 +723,8 @@ overall
3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL VPA<br>
@@ -665,6 +732,8 @@ overall
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL TFT<br>
@@ -672,6 +741,8 @@ overall
L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL Wide Gamut<br>
@@ -679,6 +750,8 @@ overall
5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL Wide Gamut IPS<br>
@@ -686,6 +759,8 @@ overall
6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&