summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-01 10:32:14 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-01 10:32:14 +0100
commit4097e27114d227692d53c5d28487e12a3833cd24 (patch)
treed5c2a62c4db97de94f92150340612c64d3997669
parentf8a0a4e1c775a90c313cb83201eec4cea4e9a7da (diff)
parent5514d94483c98e3320b202b1bb882023a7d12027 (diff)
Merge branch 'feature/upstream' into develop
-rwxr-xr-x[-rw-r--r--]Jambase0
-rwxr-xr-x[-rw-r--r--]Jamfile0
-rwxr-xr-x[-rw-r--r--]Jamtop19
-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.txt6
-rwxr-xr-x[-rw-r--r--]adirs0
-rwxr-xr-x[-rw-r--r--]afiles0
-rwxr-xr-x[-rw-r--r--]binfiles0
-rwxr-xr-x[-rw-r--r--]blddirs0
-rwxr-xr-x[-rw-r--r--]ccast/Jamfile0
-rwxr-xr-x[-rw-r--r--]ccast/License.txt0
-rw-r--r--ccast/Readme.txt6
-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.c34
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/axTLS_config.h0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/axTLS_version.h0
-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.h1
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/crypto_misc.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/crypto_misc.h2
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/gen_cert.c0
-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.c0
-rwxr-xr-x[-rw-r--r--]ccast/axTLS/os_int.h0
-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.c44
-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.h0
-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.c2
-rwxr-xr-x[-rw-r--r--]ccast/ccast.h0
-rwxr-xr-x[-rw-r--r--]ccast/ccmdns.c761
-rwxr-xr-x[-rw-r--r--]ccast/ccmdns.h17
-rwxr-xr-x[-rw-r--r--]ccast/ccmes.c0
-rwxr-xr-x[-rw-r--r--]ccast/ccmes.h0
-rwxr-xr-x[-rw-r--r--]ccast/ccpacket.c0
-rwxr-xr-x[-rw-r--r--]ccast/ccpacket.h0
-rwxr-xr-x[-rw-r--r--]ccast/cctest.c0
-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.c0
-rwxr-xr-x[-rw-r--r--]ccast/filt.c0
-rwxr-xr-x[-rw-r--r--]cgats/Jamfile0
-rwxr-xr-x[-rw-r--r--]cgats/License4.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/afiles0
-rwxr-xr-x[-rw-r--r--]cgats/cgats.c1
-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.c6
-rwxr-xr-x[-rw-r--r--]cgats/pars.h0
-rwxr-xr-x[-rw-r--r--]cgats/parsstd.c0
-rwxr-xr-x[-rw-r--r--]cgats/test.txt0
-rw-r--r--debian/changelog33
-rw-r--r--debian/control19
-rw-r--r--debian/copyright11
-rw-r--r--debian/files1
-rw-r--r--debian/patches/0001_jam.patch2
-rw-r--r--debian/patches/0100_spelling.patch228
-rw-r--r--debian/patches/0105_dispwin_segfault.patch2
-rw-r--r--debian/patches/0115_hurd_PATH_MAX.patch4
-rw-r--r--debian/patches/0130_openssl.patch2
-rwxr-xr-xdebian/rules2
-rw-r--r--debian/watch4
-rwxr-xr-x[-rw-r--r--]doc/3dformat.html0
-rwxr-xr-x[-rw-r--r--]doc/ArgyllCMS_arts_tag.html0
-rw-r--r--doc/ArgyllDoc.html1054
-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/CMP_Digital_Target-7.jpgbin20514 -> 20514 bytes
-rwxr-xr-x[-rw-r--r--]doc/CRTspectrum.jpgbin32231 -> 32231 bytes
-rw-r--r--doc/ChangesSummary.html93
-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.html2
-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-x[-rw-r--r--]doc/EX1.jpgbin24772 -> 24772 bytes
-rwxr-xr-x[-rw-r--r--]doc/Environment.html115
-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.html0
-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.html839
-rwxr-xr-x[-rw-r--r--]doc/Installing_MSWindows.html0
-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/JETI_1501.jpgbin25629 -> 25629 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/License4.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-xdoc/Passport.jpgbin0 -> 10046 bytes
-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-x[-rw-r--r--]doc/SMCube.jpgbin11799 -> 11799 bytes
-rwxr-xr-x[-rw-r--r--]doc/Scenarios.html224
-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-x[-rw-r--r--]doc/Spyd5.jpgbin16499 -> 16499 bytes
-rwxr-xr-x[-rw-r--r--]doc/SpyderChecker.jpgbin12497 -> 12497 bytes
-rwxr-xr-x[-rw-r--r--]doc/SpyderChecker24.jpgbin7270 -> 7270 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/XRGA.html4
-rwxr-xr-x[-rw-r--r--]doc/YellowGreen.jpgbin18404 -> 18404 bytes
-rwxr-xr-x[-rw-r--r--]doc/afiles5
-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-xdoc/ccsss.html56
-rwxr-xr-xdoc/ccsss/MacBookProRetina2016.ccss24
-rwxr-xr-x[-rw-r--r--]doc/cctiff.html0
-rwxr-xr-x[-rw-r--r--]doc/ccxxmake.html207
-rwxr-xr-x[-rw-r--r--]doc/chartread.html87
-rwxr-xr-x[-rw-r--r--]doc/cht_format.html0
-rwxr-xr-x[-rw-r--r--]doc/collink.html1067
-rwxr-xr-x[-rw-r--r--]doc/colorchecker.jpgbin7522 -> 7522 bytes
-rwxr-xr-x[-rw-r--r--]doc/colprof.html1076
-rwxr-xr-x[-rw-r--r--]doc/colverify.html57
-rwxr-xr-x[-rw-r--r--]doc/cube.jpgbin11036 -> 11036 bytes
-rwxr-xr-x[-rw-r--r--]doc/dispcal.html226
-rwxr-xr-x[-rw-r--r--]doc/dispprofloc.html0
-rwxr-xr-x[-rw-r--r--]doc/dispread.html128
-rwxr-xr-x[-rw-r--r--]doc/dispwin.html197
-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.html57
-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.html313
-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-xdoc/inoutreferred.html48
-rwxr-xr-x[-rw-r--r--]doc/instruments.html373
-rwxr-xr-x[-rw-r--r--]doc/invprofcheck.html0
-rwxr-xr-x[-rw-r--r--]doc/kodak2ti3.html0
-rwxr-xr-xdoc/ls2ti3.html37
-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.html382
-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.html162
-rwxr-xr-x[-rw-r--r--]doc/profcheck.html40
-rwxr-xr-x[-rw-r--r--]doc/refine.html89
-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.html149
-rwxr-xr-x[-rw-r--r--]doc/specplot.html0
-rwxr-xr-x[-rw-r--r--]doc/splitti3.html0
-rwxr-xr-x[-rw-r--r--]doc/spotread.html287
-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.html347
-rwxr-xr-x[-rw-r--r--]doc/targen.html0
-rwxr-xr-x[-rw-r--r--]doc/ti3_format.html38
-rwxr-xr-x[-rw-r--r--]doc/tiffgamut.html281
-rwxr-xr-x[-rw-r--r--]doc/timage.html0
-rwxr-xr-x[-rw-r--r--]doc/txt2ti3.html16
-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.html611
-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.c8
-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.c0
-rwxr-xr-x[-rw-r--r--]gamut/gamut.h0
-rwxr-xr-x[-rw-r--r--]gamut/isecvol.c0
-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.h10
-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.h30
-rwxr-xr-x[-rw-r--r--]h/llist.h0
-rwxr-xr-x[-rw-r--r--]h/sort.h6
-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/License4.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.c698
-rwxr-xr-x[-rw-r--r--]icc/icc.h141
-rwxr-xr-x[-rw-r--r--]icc/iccV42.h0
-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.c0
-rwxr-xr-x[-rw-r--r--]icc/icctest.c0
-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.c0
-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.c4
-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
-rwxr-xr-x[-rw-r--r--]lib/Readme.txt0
-rwxr-xr-x[-rw-r--r--]lib/afiles0
-rw-r--r--link/Jamfile2
-rwxr-xr-x[-rw-r--r--]link/collink.c118
-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.txt144
-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-x[-rw-r--r--]makeoemdnldbin.sh0
-rwxr-xr-x[-rw-r--r--]makepackagebin.sh9
-rwxr-xr-x[-rw-r--r--]namedc/Jamfile2
-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.c0
-rwxr-xr-x[-rw-r--r--]namedc/namedc.h0
-rwxr-xr-x[-rw-r--r--]namedc/txt2iccnc.c1
-rwxr-xr-x[-rw-r--r--]notes.txt0
-rwxr-xr-x[-rw-r--r--]numlib/Jamfile4
-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.h3
-rwxr-xr-x[-rw-r--r--]numlib/afiles5
-rwxr-xr-x[-rw-r--r--]numlib/dhsx.c306
-rwxr-xr-x[-rw-r--r--]numlib/dhsx.h28
-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.c16
-rwxr-xr-x[-rw-r--r--]numlib/ludecomp.h14
-rwxr-xr-x[-rw-r--r--]numlib/numlib.h2
-rwxr-xr-x[-rw-r--r--]numlib/numsup.c327
-rwxr-xr-x[-rw-r--r--]numlib/numsup.h88
-rwxr-xr-x[-rw-r--r--]numlib/powell.c121
-rwxr-xr-x[-rw-r--r--]numlib/powell.h24
-rwxr-xr-xnumlib/qptest.c105
-rwxr-xr-xnumlib/quadprog.c845
-rwxr-xr-xnumlib/quadprog.h67
-rwxr-xr-x[-rw-r--r--]numlib/rand.c128
-rwxr-xr-x[-rw-r--r--]numlib/rand.h40
-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.h35
-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.c0
-rwxr-xr-x[-rw-r--r--]numlib/ui.h0
-rwxr-xr-xnumlib/varmet.c290
-rwxr-xr-xnumlib/varmet.h55
-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/Jamfile7
-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.c37
-rwxr-xr-x[-rw-r--r--]plot/plot.h11
-rwxr-xr-x[-rw-r--r--]plot/vrml.c19
-rwxr-xr-x[-rw-r--r--]plot/vrml.h4
-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--profile/Jamfile2
-rwxr-xr-x[-rw-r--r--]profile/applycal.c5
-rwxr-xr-x[-rw-r--r--]profile/cb2ti3.c0
-rwxr-xr-x[-rw-r--r--]profile/colprof.c84
-rwxr-xr-x[-rw-r--r--]profile/colverify.c38
-rwxr-xr-x[-rw-r--r--]profile/invprofcheck.c0
-rwxr-xr-x[-rw-r--r--]profile/kodak2ti3.c0
-rwxr-xr-x[-rw-r--r--]profile/ls2ti3.c0
-rwxr-xr-x[-rw-r--r--]profile/mppcheck.c0
-rwxr-xr-x[-rw-r--r--]profile/mppprof.c0
-rwxr-xr-x[-rw-r--r--]profile/printcal.c0
-rwxr-xr-x[-rw-r--r--]profile/prof.h6
-rwxr-xr-x[-rw-r--r--]profile/profcheck.c36
-rwxr-xr-x[-rw-r--r--]profile/profin.c16
-rwxr-xr-x[-rw-r--r--]profile/profout.c34
-rwxr-xr-x[-rw-r--r--]profile/simpprof.c0
-rwxr-xr-x[-rw-r--r--]profile/splitti3.c0
-rwxr-xr-x[-rw-r--r--]profile/txt2ti3.c157
-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/CMP_Digital_Target-7.cht0
-rwxr-xr-x[-rw-r--r--]ref/CRT.ccss0
-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/SpyderChecker24.cht0
-rwxr-xr-x[-rw-r--r--]ref/SpyderChecker24.cie0
-rw-r--r--ref/StandardObs2deg.cmf23
-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/afiles1
-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.cal2
-rwxr-xr-x[-rw-r--r--]ref/sRGB.icmbin3268 -> 3268 bytes
-rwxr-xr-x[-rw-r--r--]ref/strange.cal2
-rwxr-xr-x[-rw-r--r--]render/Jamfile0
-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.c13
-rwxr-xr-x[-rw-r--r--]render/render.h0
-rwxr-xr-x[-rw-r--r--]render/screens.h0
-rwxr-xr-x[-rw-r--r--]render/thscreen.c0
-rwxr-xr-x[-rw-r--r--]render/thscreen.h0
-rwxr-xr-x[-rw-r--r--]render/timage.c2
-rw-r--r--rspl/Jamfile2
-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.c13
-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.c963
-rwxr-xr-x[-rw-r--r--]rspl/rev.h17
-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.h35
-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.c127
-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.c2
-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/CMP_Digital_Target-7.cht0
-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-xscanin/ColorCheckerHalfPassport.cht58
-rwxr-xr-xscanin/ColorCheckerHalfPassport.cie38
-rwxr-xr-x[-rw-r--r--]scanin/ColorCheckerPassport.cht0
-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/Jamfile2
-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/SpyderChecker24.cht0
-rwxr-xr-x[-rw-r--r--]scanin/SpyderChecker24.cie0
-rwxr-xr-x[-rw-r--r--]scanin/afiles2
-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/Jamfile34
-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/afiles3
-rwxr-xr-x[-rw-r--r--]spectro/aglob.c0
-rwxr-xr-x[-rw-r--r--]spectro/aglob.h0
-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.c0
-rwxr-xr-x[-rw-r--r--]spectro/ccwin.h0
-rwxr-xr-x[-rw-r--r--]spectro/ccxx.ti10
-rwxr-xr-x[-rw-r--r--]spectro/ccxxmake.c48
-rwxr-xr-x[-rw-r--r--]spectro/chartread.c34
-rwxr-xr-x[-rw-r--r--]spectro/colorhug.c7
-rwxr-xr-x[-rw-r--r--]spectro/colorhug.h0
-rwxr-xr-x[-rw-r--r--]spectro/conv.c41
-rwxr-xr-x[-rw-r--r--]spectro/conv.h4
-rwxr-xr-x[-rw-r--r--]spectro/cubecal.h0
-rwxr-xr-x[-rw-r--r--]spectro/dev.h6
-rwxr-xr-x[-rw-r--r--]spectro/dispcal.c217
-rwxr-xr-x[-rw-r--r--]spectro/dispread.c39
-rwxr-xr-x[-rw-r--r--]spectro/dispsup.c2
-rwxr-xr-x[-rw-r--r--]spectro/dispsup.h0
-rwxr-xr-x[-rw-r--r--]spectro/disptechs.c0
-rwxr-xr-x[-rw-r--r--]spectro/disptechs.h0
-rwxr-xr-x[-rw-r--r--]spectro/dispwin.c580
-rwxr-xr-x[-rw-r--r--]spectro/dispwin.h14
-rwxr-xr-x[-rw-r--r--]spectro/dtp20.c5
-rwxr-xr-x[-rw-r--r--]spectro/dtp20.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp22.c15
-rwxr-xr-x[-rw-r--r--]spectro/dtp22.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp41.c5
-rwxr-xr-x[-rw-r--r--]spectro/dtp41.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp51.c5
-rwxr-xr-x[-rw-r--r--]spectro/dtp51.h0
-rwxr-xr-x[-rw-r--r--]spectro/dtp92.c37
-rwxr-xr-x[-rw-r--r--]spectro/dtp92.h0
-rwxr-xr-x[-rw-r--r--]spectro/ex1.c7
-rwxr-xr-x[-rw-r--r--]spectro/ex1.h0
-rwxr-xr-x[-rw-r--r--]spectro/fakeread.c0
-rwxr-xr-x[-rw-r--r--]spectro/hcfr.c7
-rwxr-xr-x[-rw-r--r--]spectro/hcfr.h0
-rwxr-xr-x[-rw-r--r--]spectro/hidio.c3
-rwxr-xr-x[-rw-r--r--]spectro/hidio.h0
-rwxr-xr-x[-rw-r--r--]spectro/huey.c28
-rwxr-xr-x[-rw-r--r--]spectro/huey.h0
-rwxr-xr-x[-rw-r--r--]spectro/i1d3.c81
-rwxr-xr-x[-rw-r--r--]spectro/i1d3.h5
-rwxr-xr-x[-rw-r--r--]spectro/i1disp.c81
-rwxr-xr-x[-rw-r--r--]spectro/i1disp.h7
-rwxr-xr-x[-rw-r--r--]spectro/i1pro.c11
-rwxr-xr-x[-rw-r--r--]spectro/i1pro.h2
-rwxr-xr-x[-rw-r--r--]spectro/i1pro_imp.c117
-rwxr-xr-x[-rw-r--r--]spectro/i1pro_imp.h0
-rwxr-xr-x[-rw-r--r--]spectro/icoms.c179
-rwxr-xr-x[-rw-r--r--]spectro/icoms.h32
-rwxr-xr-x[-rw-r--r--]spectro/icoms_nt.c26
-rwxr-xr-x[-rw-r--r--]spectro/icoms_ux.c62
-rwxr-xr-x[-rw-r--r--]spectro/ifiles0
-rwxr-xr-x[-rw-r--r--]spectro/illumread.c8
-rwxr-xr-x[-rw-r--r--]spectro/inflate.c0
-rwxr-xr-x[-rw-r--r--]spectro/inst.c365
-rwxr-xr-x[-rw-r--r--]spectro/inst.h37
-rwxr-xr-x[-rw-r--r--]spectro/instappsup.c3
-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.h0
-rwxr-xr-x[-rw-r--r--]spectro/insttypes.c90
-rwxr-xr-x[-rw-r--r--]spectro/insttypes.h30
-rwxr-xr-x[-rw-r--r--]spectro/iusb.h0
-rwxr-xr-x[-rw-r--r--]spectro/kleink10.c11
-rwxr-xr-x[-rw-r--r--]spectro/kleink10.h0
-rwxr-xr-x[-rw-r--r--]spectro/linear.sp0
-rwxr-xr-x[-rw-r--r--]spectro/madvrwin.c0
-rwxr-xr-x[-rw-r--r--]spectro/madvrwin.h0
-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.c5
-rwxr-xr-x[-rw-r--r--]spectro/munki.h2
-rwxr-xr-x[-rw-r--r--]spectro/munki_imp.c12
-rwxr-xr-x[-rw-r--r--]spectro/munki_imp.h3
-rwxr-xr-x[-rw-r--r--]spectro/oemarch.c1
-rwxr-xr-x[-rw-r--r--]spectro/oemarch.h0
-rwxr-xr-x[-rw-r--r--]spectro/oeminst.c4
-rwxr-xr-x[-rw-r--r--]spectro/pollem.c0
-rwxr-xr-x[-rw-r--r--]spectro/pollem.h0
-rwxr-xr-x[-rw-r--r--]spectro/rspec.c7
-rwxr-xr-x[-rw-r--r--]spectro/rspec.h0
-rwxr-xr-x[-rw-r--r--]spectro/sa_conv.c0
-rwxr-xr-x[-rw-r--r--]spectro/sa_conv.h0
-rwxr-xr-x[-rw-r--r--]spectro/smcube.c7
-rwxr-xr-x[-rw-r--r--]spectro/smcube.h0
-rwxr-xr-x[-rw-r--r--]spectro/spec2cie.c159
-rwxr-xr-x[-rw-r--r--]spectro/specbos.c260
-rwxr-xr-x[-rw-r--r--]spectro/specbos.h3
-rwxr-xr-x[-rw-r--r--]spectro/spotread.c153
-rwxr-xr-x[-rw-r--r--]spectro/spyd2.c72
-rwxr-xr-x[-rw-r--r--]spectro/spyd2.h0
-rwxr-xr-x[-rw-r--r--]spectro/ss.c71
-rwxr-xr-x[-rw-r--r--]spectro/ss.h0
-rwxr-xr-x[-rw-r--r--]spectro/ss_imp.c1
-rwxr-xr-x[-rw-r--r--]spectro/ss_imp.h0
-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.c1
-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.c4
-rwxr-xr-x[-rw-r--r--]spectro/usbio_nt.c6
-rwxr-xr-x[-rw-r--r--]spectro/usbio_ox.c13
-rwxr-xr-x[-rw-r--r--]spectro/vinflate.c0
-rwxr-xr-xspectro/vtpglut.c570
-rwxr-xr-xspectro/vtpglut.h243
-rwxr-xr-xspectro/vtpgluttypes.h44
-rwxr-xr-x[-rw-r--r--]spectro/webwin.c0
-rwxr-xr-x[-rw-r--r--]spectro/webwin.h0
-rwxr-xr-x[-rw-r--r--]spectro/xdg_bds.c52
-rwxr-xr-x[-rw-r--r--]spectro/xdg_bds.h7
-rwxr-xr-x[-rw-r--r--]spectro/xrga.c1
-rwxr-xr-x[-rw-r--r--]spectro/xrga.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/Jamfile2
-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.c8
-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.c0
-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
-rwxr-xr-x[-rw-r--r--]ttbd.txt0
-rwxr-xr-x[-rw-r--r--]tweak/Jamfile2
-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.c32
-rwxr-xr-x[-rw-r--r--]ucmm/Jamfile0
-rwxr-xr-x[-rw-r--r--]ucmm/afiles0
-rwxr-xr-x[-rw-r--r--]ucmm/ucmm.c615
-rwxr-xr-x[-rw-r--r--]ucmm/ucmm.h11
-rwxr-xr-x[-rw-r--r--]usb/45-Argyll.rules3
-rwxr-xr-x[-rw-r--r--]usb/55-Argyll.rules3
-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.usermap0
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.catbin3551 -> 3635 bytes
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.inf3
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.inf.d1
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS.inf.t0
-rwxr-xr-x[-rw-r--r--]usb/ArgyllCMS_x64.catbin3535 -> 3619 bytes
-rwxr-xr-x[-rw-r--r--]usb/Jamfile0
-rwxr-xr-x[-rw-r--r--]usb/afiles0
-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/Jamfile6
-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.c127
-rwxr-xr-x[-rw-r--r--]xicc/cam02.h19
-rwxr-xr-x[-rw-r--r--]xicc/cam02plot.c8
-rwxr-xr-x[-rw-r--r--]xicc/cam02ref.h11
-rwxr-xr-x[-rw-r--r--]xicc/cam02test.c38
-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.c0
-rwxr-xr-x[-rw-r--r--]xicc/ccmx.h0
-rwxr-xr-x[-rw-r--r--]xicc/ccss.c0
-rwxr-xr-x[-rw-r--r--]xicc/ccss.h0
-rwxr-xr-x[-rw-r--r--]xicc/ccttest.c5
-rwxr-xr-x[-rw-r--r--]xicc/cgatsplot.c53
-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.c38
-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.c30
-rwxr-xr-x[-rw-r--r--]xicc/revfix.c0
-rwxr-xr-x[-rw-r--r--]xicc/specplot.c12
-rwxr-xr-x[-rw-r--r--]xicc/specsubsamp.c40
-rwxr-xr-x[-rw-r--r--]xicc/spectest.c1
-rwxr-xr-x[-rw-r--r--]xicc/spectest2.c1
-rwxr-xr-x[-rw-r--r--]xicc/tiffgamut.c57
-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.c8
-rwxr-xr-x[-rw-r--r--]xicc/xcam.h5
-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.c1
-rwxr-xr-x[-rw-r--r--]xicc/xfit.h1
-rwxr-xr-x[-rw-r--r--]xicc/xicc.c72
-rwxr-xr-x[-rw-r--r--]xicc/xicc.h23
-rwxr-xr-x[-rw-r--r--]xicc/xicclu.c59
-rwxr-xr-x[-rw-r--r--]xicc/xlut.c41
-rwxr-xr-x[-rw-r--r--]xicc/xlutfix.c0
-rwxr-xr-x[-rw-r--r--]xicc/xmatrix.c16
-rwxr-xr-x[-rw-r--r--]xicc/xmono.c2
-rwxr-xr-x[-rw-r--r--]xicc/xspect.c4584
-rwxr-xr-x[-rw-r--r--]xicc/xspect.h78
-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/afiles0
-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.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-config.h0
-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.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-index.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-node.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-private.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-private.h0
-rwxr-xr-x[-rw-r--r--]xml/mxml-search.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-set.c0
-rwxr-xr-x[-rw-r--r--]xml/mxml-string.c0
-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.c0
-rwxr-xr-x[-rw-r--r--]xml/test.xml0
-rwxr-xr-x[-rw-r--r--]xml/testmxml.c0
-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.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_gen.h4
-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.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_parser.h0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_test.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_tree.c0
-rwxr-xr-x[-rw-r--r--]yajl/yajl_tree.h0
-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
991 files changed, 17624 insertions, 7724 deletions
diff --git a/Jambase b/Jambase
index a54a03f..a54a03f 100644..100755
--- a/Jambase
+++ b/Jambase
diff --git a/Jamfile b/Jamfile
index 6cee41c..6cee41c 100644..100755
--- a/Jamfile
+++ b/Jamfile
diff --git a/Jamtop b/Jamtop
index 6864931..da2f9c5 100644..100755
--- a/Jamtop
+++ b/Jamtop
@@ -39,6 +39,16 @@ USE_USB = true ;
# enable dummy Demo Instrument (only if code is available)
USE_DEMOINST = true ;
+# enable Video Test Patch Generator and 3DLUT device support
+# (V2.0.0 and above)
+USE_VTPGLUT = false ;
+
+# enable Printer device support
+USE_PRINTER = false ;
+
+# enable CMF Measurement device support
+USE_CMFM = false ;
+
# Use ArgyllCMS version of libusb (deprecated - don't use)
USE_LIBUSB = false ;
@@ -110,11 +120,14 @@ if $(UNIX) {
}
}
if $(OS) = FREEBSD {
- LINKFLAGS += -L$(LibWinD) -g -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -lusb ;
+ LINKFLAGS += -g -lrt -lusb ;
+ GUILINKFLAGS += -L$(LibWinD) -g -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss ;
} else if $(OS) = OPENBSD {
- LINKFLAGS += -L$(LibWinD) -g -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -L/usr/local/lib ;
+ LINKFLAGS += ;
+ GUILINKFLAGS += -L$(LibWinD) -g -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -L/usr/local/lib ;
} else {
- LINKFLAGS += -L$(LibWinD) -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss ;
+ LINKFLAGS += -ldl -lrt ;
+ GUILINKFLAGS += -L$(LibWinD) -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss ;
}
# HDRS += $(LibWinH) ;
}
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 f406d68..38c9ce1 100644..100755
--- a/Readme.txt
+++ b/Readme.txt
@@ -1,8 +1,8 @@
-Argyll CMS README file - Version 1.9.2
+Argyll CMS README file - Version 2.0.0
--------------------------------------
-Date: 17th October 2016
+Date: 17th November 2017
Author: Graeme Gill
Introduction
@@ -26,7 +26,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.
-This is Version 1.9.2, a bug fix update to the last release V1.9.1.
+This is Version 2.0.0, a feature and bug fix update to the last major release V1.9.2.
The first public release of icclib was in November 1998,
and of Argyll was in October 2000. Code development commenced in 1995. See
Changes Summary for an overview of changes since the last release. Changes
diff --git a/adirs b/adirs
index 9c15248..9c15248 100644..100755
--- a/adirs
+++ b/adirs
diff --git a/afiles b/afiles
index 6e84a85..6e84a85 100644..100755
--- a/afiles
+++ b/afiles
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 3d03a2f..3d03a2f 100644..100755
--- a/ccast/Jamfile
+++ b/ccast/Jamfile
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/Readme.txt b/ccast/Readme.txt
index 6823ba9..fc99019 100644
--- a/ccast/Readme.txt
+++ b/ccast/Readme.txt
@@ -3,10 +3,10 @@ rasters to the Google ChromeCast.
Hierarchy:
- cccast.c Top level actions & receive thread
- ccmes.c Message handling, uses probuf
+ ccast.c Top level actions & receive thread
+ ccmes.c Message handling, uses protobuf
chan/ protobuf encoding
ccpacket.c socket write/read
ccmdns.c MDNS sign on
- axTLS SSL/TLS library
+ axTLS Standalone SSL/TLS library
diff --git a/ccast/axTLS/Jamfile b/ccast/axTLS/Jamfile
index 9a8aff4..5466680 100644..100755
--- a/ccast/axTLS/Jamfile
+++ b/ccast/axTLS/Jamfile
@@ -13,7 +13,7 @@ if $(NT) {
}
}
-# tiff library
+# axTLS library
LIBSRCS =
aes.c
asn1.c
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..b5e678e 100644..100755
--- a/ccast/axTLS/asn1.c
+++ b/ccast/axTLS/asn1.c
@@ -201,6 +201,40 @@ int asn1_get_private_key(const uint8_t *buf, int len, RSA_CTX **rsa_ctx)
}
/**
+ * Read the modulus and public exponent of an RSA certificate.
+ */
+int asn1_get_public_key(const uint8_t *cert, int *offset, RSA_CTX **rsa_ctx)
+{
+ int ret = X509_NOT_OK, mod_len, pub_len;
+ uint8_t *modulus = NULL, *pub_exp = NULL;
+ int len;
+
+ /* Hmm. Not checking that the two ints are within the squence ... */
+ if ((len = asn1_next_obj(cert, offset, ASN1_SEQUENCE)) < 0)
+ goto end_pub_key;
+
+ if ((mod_len = asn1_get_int(cert, offset, &modulus)) <= 0) {
+ ret = X509_INVALID_PUB_KEY;
+ goto end_pub_key;
+ }
+ if ((pub_len = asn1_get_int(cert, offset, &pub_exp)) <= 0) {
+ free(modulus);
+ ret = X509_INVALID_PUB_KEY;
+ goto end_pub_key;
+ }
+
+ RSA_pub_key_new(rsa_ctx, modulus, mod_len, pub_exp, pub_len);
+
+ free(modulus);
+ free(pub_exp);
+
+ ret = X509_OK;
+
+end_pub_key:
+ return ret;
+}
+
+/**
* Get the time of a certificate. Ignore hours/minutes/seconds.
*/
static int asn1_get_utc_time(const uint8_t *buf, int *offset, time_t *t)
diff --git a/ccast/axTLS/axTLS_config.h b/ccast/axTLS/axTLS_config.h
index ffda4e3..ffda4e3 100644..100755
--- a/ccast/axTLS/axTLS_config.h
+++ b/ccast/axTLS/axTLS_config.h
diff --git a/ccast/axTLS/axTLS_version.h b/ccast/axTLS/axTLS_version.h
index e8158cc..e8158cc 100644..100755
--- a/ccast/axTLS/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 bf2c187..904000d 100644..100755
--- a/ccast/axTLS/crypto.h
+++ b/ccast/axTLS/crypto.h
@@ -204,6 +204,7 @@ void RSA_pub_key_new(RSA_CTX **rsa_ctx,
void RSA_free(RSA_CTX *ctx);
int RSA_decrypt(const RSA_CTX *ctx, const uint8_t *in_data, uint8_t *out_data,
int is_decryption);
+int RSA_decrypt2(const RSA_CTX *ctx, const uint8_t *in_data, uint8_t *out_data);
bigint *RSA_private(const RSA_CTX *c, bigint *bi_msg);
#if defined(CONFIG_SSL_CERT_VERIFICATION) || defined(CONFIG_SSL_GENERATE_X509_CERT)
bigint *RSA_sign_verify(BI_CTX *ctx, const uint8_t *sig, int sig_len,
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..d1c843c 100644..100755
--- a/ccast/axTLS/crypto_misc.h
+++ b/ccast/axTLS/crypto_misc.h
@@ -55,6 +55,7 @@ extern "C" {
#define X509_VFY_ERROR_INVALID_CHAIN -7
#define X509_VFY_ERROR_UNSUPPORTED_DIGEST -8
#define X509_INVALID_PRIV_KEY -9
+#define X509_INVALID_PUB_KEY -10
/*
* The Distinguished Name
@@ -128,6 +129,7 @@ const char * x509_display_error(int error);
int get_asn1_length(const uint8_t *buf, int *offset);
int asn1_get_private_key(const uint8_t *buf, int len, RSA_CTX **rsa_ctx);
+int asn1_get_public_key(const uint8_t *cert, int *offset, RSA_CTX **rsa_ctx);
int asn1_next_obj(const uint8_t *buf, int *offset, int obj_type);
int asn1_skip_obj(const uint8_t *buf, int *offset, int obj_type);
int asn1_get_int(const uint8_t *buf, int *offset, uint8_t **object);
diff --git a/ccast/axTLS/gen_cert.c b/ccast/axTLS/gen_cert.c
index fa22c4e..fa22c4e 100644..100755
--- a/ccast/axTLS/gen_cert.c
+++ b/ccast/axTLS/gen_cert.c
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 e3f8972..e3f8972 100644..100755
--- a/ccast/axTLS/openssl.c
+++ b/ccast/axTLS/openssl.c
diff --git a/ccast/axTLS/os_int.h b/ccast/axTLS/os_int.h
index 8ae5878..8ae5878 100644..100755
--- a/ccast/axTLS/os_int.h
+++ b/ccast/axTLS/os_int.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..14948eb 100644..100755
--- a/ccast/axTLS/rsa.c
+++ b/ccast/axTLS/rsa.c
@@ -188,6 +188,50 @@ int RSA_decrypt(const RSA_CTX *ctx, const uint8_t *in_data,
}
/**
+ * @brief Use PKCS1.5 for decryption.
+ * @param ctx [in] The context
+ * @param in_data [in] The data to encrypt
+ * @param out_data [out] The decrypted data.
+ * @return The number of bytes that were originally encrypted. -1 on error.
+ */
+int RSA_decrypt2(const RSA_CTX *ctx, const uint8_t *in_data, uint8_t *out_data)
+{
+ const int byte_size = ctx->num_octets;
+ int i, size;
+ bigint *decrypted_bi, *dat_bi;
+ uint8_t *block = (uint8_t *)malloc(byte_size);
+
+ /* decrypt */
+ dat_bi = bi_import(ctx->bi_ctx, in_data, byte_size);
+
+ decrypted_bi = RSA_public(ctx, dat_bi); /* Frees dat_bi and exponent ? */
+
+ /* convert to a normal block (frees decrypted_bi) */
+ bi_export(ctx->bi_ctx, decrypted_bi, block, byte_size);
+
+
+ /* We assume this is padded with "0001ff....ff00" */
+ i = 2;
+ while (block[i++] == 0xff && i < byte_size)
+ ;
+
+ /* Skip last 0x00 */
+ if (i < byte_size && block[i] == 0x00)
+ i++;
+
+ size = byte_size - i;
+
+ /* get only the bit we want */
+ if (size > 0) {
+ memcpy(out_data, &block[i], size);
+ }
+
+ free(block);
+
+ return size ? size : -1;
+}
+
+/**
* Performs m = c^d mod n
*/
bigint *RSA_private(const RSA_CTX *c, bigint *bi_msg)
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 d8ce892..d8ce892 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 14c6382..14c6382 100644..100755
--- a/ccast/axTLS/tls1.h
+++ b/ccast/axTLS/tls1.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 2a2c1a8..26a4dee 100644..100755
--- a/ccast/ccast.c
+++ b/ccast/ccast.c
@@ -71,8 +71,8 @@ static void check_json(char *mesbuf) {
/* Read messages. If they are ones we deal with, send a reply */
/* If they are anonomous (sessionId == 0), then ignore them */
-/* (Could save last known anonomous message if they prove useful) */
/* and if they are numbered, keep then in a sorted list. */
+/* (Could save last known anonomous message if they prove useful) */
static int cc_rec_thread(void *context) {
ccast *p = (ccast *)context;
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 1000db3..8fd7046 100644..100755
--- a/ccast/ccmdns.c
+++ b/ccast/ccmdns.c
@@ -130,10 +130,12 @@ typedef int SOCKET;
# define DBG(xxx) a1logd xxx ;
# define DBG2(xxx) a1logd xxx ;
# define DLEV 0
+# define DLEVP1 0
#else
# define DBG(xxx) ;
# define DBG2(xxx) a1logd xxx ;
# define DLEV 2
+# define DLEVP1 3
#endif /* DEBUG */
/* ================================================================ */
@@ -144,7 +146,7 @@ typedef int SOCKET;
#define SOURCE_PORT 5353
#define DESTINATION_PORT 5353
-#define BUFSIZE 1024
+#define BUFSIZE 2048
/* Various DNS defines */
#define DNS_CLASS_IN 0x0001
@@ -158,6 +160,25 @@ typedef int SOCKET;
#define DNS_TYPE_NSEC 47 /* DNS Next Secure Name */
+char *cctype2str(cctype typ) {
+ switch (typ) {
+ case cctyp_unkn:
+ return "Unknown";
+ case cctyp_1:
+ return "One";
+ case cctyp_2:
+ return "Two";
+ case cctyp_Audio:
+ return "Audio";
+ case cctyp_Ultra:
+ return "Ultra";
+ case cctyp_Other:
+ return "Other";
+ default:
+ return "Unexpected";
+ }
+}
+
#ifdef NEVER
/* Print out a V6 address in zero compresed form */
/* (It would be nice to add zero compression) */
@@ -201,20 +222,21 @@ static int init_mDNS() {
return 0;
}
-/* Setup the send socket */
+/* Setup the send and recieve socket */
/* Return nz on error */
-static int init_send_mDNS(SOCKET *psock) {
+static int init_socket_mDNS(SOCKET *psock) {
int nRet, nOptVal;
int off;
SOCKET sock;
struct sockaddr_in stSourceAddr;
+ struct ip_mreq stIpMreq;
- DBG((g_log,0,"init_send_mDNS() called\n"))
+ DBG((g_log,0,"init_socket_mDNS() called\n"))
/* get a datagram (UDP) socket */
sock = socket(PF_INET, SOCK_DGRAM, 0);
if (sock == INVALID_SOCKET) {
- DBG((g_log,0,"opening send UDP socked failed with %d\n",ERRNO))
+ DBG((g_log,0,"opening UDP socked failed with %d\n",ERRNO))
return 1;
}
@@ -234,7 +256,7 @@ static int init_send_mDNS(SOCKET *psock) {
{
int on = 1;
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char *)&on, sizeof(on))) {
- DBG((g_log,0,"setsockopt(SO_REUSEADDR) failed with %d\n",ERRNO))
+ DBG((g_log,0,"setsockopt(SO_REUSEADDR) failed with %d\n",ERRNO))
closesocket(sock);
return 1;
}
@@ -272,6 +294,9 @@ static int init_send_mDNS(SOCKET *psock) {
return 1;
}
+ /* - - - - - - - */
+ /* Send setup */
+
/* disable loopback of multicast datagrams we send, since the
* default--according to Steve Deering--is to loopback all
* datagrams sent on any interface which is a member of the
@@ -306,13 +331,55 @@ static int init_send_mDNS(SOCKET *psock) {
if (psock != NULL)
*psock = sock;
- DBG((g_log,0,"init sending mDNS succeed\n",ERRNO))
+ /* - - - - - - - */
+ /* Recieve setup */
+
+ /* join the multicast group we want to receive datagrams from */
+ stIpMreq.imr_multiaddr.s_addr = inet_addr(DESTINATION_MCAST); /* group addr */
+ stIpMreq.imr_interface.s_addr = INADDR_ANY; /* use default */
+ nRet = setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP,
+ (char *)&stIpMreq, sizeof (struct ip_mreq));
+
+ if (nRet == SOCKET_ERROR) {
+ DBG((g_log,0,"registering for read events failed with %d\n",ERRNO))
+ closesocket(sock);
+ return 1;
+ }
+
+ /* Make this timeout after 100 msec second */
+#ifdef NT
+ {
+ DWORD tv;
+ tv = 100;
+ if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
+ DBG((g_log,0,"setsockopt timout failed with %d\n",ERRNO))
+ closesocket(sock);
+ return 1;
+ }
+ }
+#else
+ {
+ struct timeval tv;
+ tv.tv_sec = 0;
+ tv.tv_usec = 100 * 1000;
+ if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
+ DBG((g_log,0,"setsockopt timout failed with %d\n",ERRNO))
+ closesocket(sock);
+ return 1;
+ }
+ }
+#endif
+
+ if (psock != NULL)
+ *psock = sock;
+
+ DBG((g_log,0,"init mDNS socket succeed\n",ERRNO))
return 0;
}
-/* Send an mDNS quesry */
-/* on some platforms if we try to transmit & recieve at the same time */
+/* Send an mDNS query */
+/* On some platforms if we try to transmit & recieve at the same time (what ?) */
/* Return nz on error */
static int send_mDNS(SOCKET sock) {
int nRet;
@@ -360,7 +427,7 @@ static int send_mDNS(SOCKET sock) {
return 0;
}
-static int parse_dns(char **name, char **ip, ORD8 *buf, int size);
+static int parse_dns(char **name, char **ip, cctype *ptyp, int *pcaflags, ORD8 *buf, int size);
/* Free up what get_ccids returned */
void free_ccids(ccast_id **ids) {
@@ -379,132 +446,22 @@ void free_ccids(ccast_id **ids) {
/* Spend the given time waiting for replies. */
/* (Note than on MSWin this will be a minimum of 500msec) */
/* Add any ChromeCast replies to the list. */
-/* return nz on error */
-static int init_receive_mDNS(SOCKET *psock) {
- int nRet;
- int off, size;
- struct sockaddr_in stSourceAddr;
- struct ip_mreq stIpMreq;
- SOCKET sock;
-
- 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((g_log,0,"opening receive UDP socked failed with %d\n",ERRNO))
- return 1;
- }
-
- /* We can't receive from port 5353 if someone else is using it, */
- /* so set the SO_REUSEADDR option (which is enough for MSWin), */
- /* and SO_REUSEPORT for OS X and Linux */
- {
- int on = 1, off = 0;
- if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char *) &on, sizeof(on))) {
- DBG((g_log,0,"setsockopt(SO_REUSEADDR) failed with %d\n",ERRNO))
- closesocket(sock);
- return 1;
- }
-
- /* Need this to be able to open port on Unix like systems */
-#ifndef NT
-# ifndef SO_REUSEPORT
-# ifdef __APPLE__
-# define SO_REUSEPORT 0x0200
-# else /* Linux */
-# define SO_REUSEPORT 15
-# endif
-# endif
- if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (const char *)&on, sizeof(on))) {
- DBG((g_log,0,"setsockopt(SO_REUSEPORT) failed with %d\n",ERRNO))
- }
-#endif
- }
-
- /* init source address structure */
- stSourceAddr.sin_family = PF_INET;
- stSourceAddr.sin_port = htons(SOURCE_PORT);
- stSourceAddr.sin_addr.s_addr = INADDR_ANY;
-
- /*
- * Calling bind() is not required, but some implementations need it
- * before you can reference any multicast socket options
- * and in this case we must be on port 5353.
- */
- nRet = bind(sock, (struct sockaddr *)&stSourceAddr,
- sizeof(struct sockaddr));
- if (nRet == SOCKET_ERROR) {
- DBG((g_log,0,"bind failed with %d\n",ERRNO))
- closesocket(sock);
- return 1;
- }
-
- /* join the multicast group we want to receive datagrams from */
- stIpMreq.imr_multiaddr.s_addr = inet_addr(DESTINATION_MCAST); /* group addr */
- stIpMreq.imr_interface.s_addr = INADDR_ANY; /* use default */
- nRet = setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP,
- (char *)&stIpMreq, sizeof (struct ip_mreq));
-
- if (nRet == SOCKET_ERROR) {
- DBG((g_log,0,"registering for read events failed with %d\n",ERRNO))
- closesocket(sock);
- return 1;
- }
-
- /* Make this timeout after 100 msec second */
-#ifdef NT
- {
- DWORD tv;
- tv = 100;
- if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
- DBG((g_log,0,"setsockopt timout failed with %d\n",ERRNO))
- closesocket(sock);
- return 1;
- }
- }
-#else
- {
- struct timeval tv;
- tv.tv_sec = 0;
- tv.tv_usec = 100 * 1000;
- if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
- DBG((g_log,0,"setsockopt timout failed with %d\n",ERRNO))
- closesocket(sock);
- return 1;
- }
- }
-#endif
-
- if (psock != NULL)
- *psock = sock;
-
- return 0;
-}
-
-/* Spend the given time waiting for replies. */
-/* (Note than on MSWin this will be a minimum of 500msec) */
-/* Add any ChromeCast replies to the list. */
/* return nz on error & free *ids */
-static int receive_mDNS(SOCKET sock, ccast_id ***ids, int emsec) {
- int nids = 0;
+static int receive_mDNS(SOCKET sock, ccast_id ***ids, int *nids, int emsec) {
unsigned int smsec;
unsigned int nSize;
int off, size;
ORD8 achInBuf[BUFSIZE];
struct sockaddr_in stSourceAddr;
- /* Count the number of current id's */
- if (*ids != NULL) {
- for (nids = 0; (*ids)[nids] != NULL; nids++)
- ;
- }
-
- DBG((g_log,0,"receive_mDNS() called with %d ids\n",nids))
+ DBG((g_log,0,"receive_mDNS() called with %d ids\n",*nids))
+ /* While there is still wait time */
for (smsec = msec_time(), emsec += smsec;msec_time() <= emsec;) {
int i;
char *name, *ip;
+ cctype typ;
+ int caflags; /* (We're not currently saving this) */
struct sockaddr stSockAddr;
/* Recv the available data */
@@ -514,75 +471,86 @@ static int receive_mDNS(SOCKET sock, ccast_id ***ids, int emsec) {
if (size == SOCKET_ERROR) {
if (ERRNO == UDP_SOCKET_TIMEOUT)
continue; /* Timeout */
- DBG((g_log,0,"recvfrom failed with %d\n",ERRNO))
+ DBG2((g_log,DLEV,"recvfrom failed with %d\n",ERRNO))
free_ccids(*ids);
*ids = NULL;
return 1;
}
- DBG((g_log,0,"Got mDNS message length %d bytes\n",size))
+
+ DBG2((g_log,DLEVP1,"Got mDNS message length %d bytes\n",size))
#ifdef DEBUG
adump_bytes(g_log, " ", achInBuf, 0, size);
#endif
- if (parse_dns(&name, &ip, achInBuf, size) != 0) {
+ if (parse_dns(&name, &ip, &typ, &caflags, achInBuf, size) != 0) {
DBG((g_log,0,"Failed to parse the reply\n"))
} else {
DBG((g_log,0,"Parsed reply OK\n"))
-//if (*pnids > 0) {
-// name = strdup("Argyll1234");
-// ip = strdup("10.0.0.129");
-//}
/* If we found an entry */
if (name != NULL && ip != NULL) {
- 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
- && strcmp((*ids)[i]->ip, ip) == 0)
- break; /* yes */
- }
- if (i < nids) {
- DBG((g_log,0,"Duplicate\n"))
+ DBG((g_log,0,"Got a name '%s', IP '%s', type %s\n",name,ip, cctype2str(typ)))
+
+ /* Check if it is a Chromecast-Audio or Other */
+ if (typ == cctyp_Audio
+ || typ == cctyp_Other) {
+ DBG((g_log,0,"Ignoring Chromecast-Audio/Other\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((g_log,0,"realloc/malloc fail\n"))
+
+ /* Check if it is a duplcate */
+ for (i = 0; i < *nids; i++) {
+ if (strcmp((*ids)[i]->name, name) == 0
+ && strcmp((*ids)[i]->ip, ip) == 0)
+ break; /* yes */
+ }
+ if (i < *nids) {
+ DBG((g_log,0,"Duplicate\n"))
free(name);
free(ip);
- free_ccids(*ids);
- *ids = NULL;
- return 1;
} else {
- DBG((g_log,0,"Adding entry\n"))
- (*ids)[nids]->name = name;
- (*ids)[nids]->ip = ip;
- (*ids)[++nids] = NULL; /* End marker */
+ 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((g_log,0,"realloc/malloc fail\n"))
+ free(name);
+ free(ip);
+ free_ccids(*ids);
+ *ids = NULL;
+ return 1;
+ } else {
+ DBG((g_log,0,"Adding entry\n"))
+ (*ids)[*nids]->name = name;
+ (*ids)[*nids]->ip = ip;
+ (*ids)[*nids]->typ = typ;
+ (*nids)++;
+ (*ids)[*nids] = NULL; /* End marker */
+ }
}
}
}
}
}
- DBG((g_log,0,"receive_mDNS() returning %d in list\n",nids))
+ DBG2((g_log,DLEVP1,"receive_mDNS() returning %d in list\n",*nids))
return 0;
}
/* ==================================================================== */
-/* Get a list of Chromecasts. Return NULL on error */
+/* Get a list of Video output capable Chromecasts. Return NULL on error */
/* Last pointer in array is NULL */
-/* Takes 1.0 second to return */
+/* Takes 1.5 second to return */
ccast_id **get_ccids() {
ccast_id **ids = NULL;
+ int nids = 0;
int i, j, k;
unsigned int smsec;
- int waittime = 100;
- SOCKET ssock, rsock;
+ int waittime = 200;
+ SOCKET sock;
DBG2((g_log,DLEV,"get_ccids: called\n"))
@@ -591,45 +559,38 @@ ccast_id **get_ccids() {
return NULL;
}
- if (init_send_mDNS(&ssock)) {
- DBG2((g_log,0,"get_ccids: init_send_mDNS() failed\n"))
- return NULL;
- }
-
- if (init_receive_mDNS(&rsock)) {
- DBG2((g_log,0,"get_ccids: init_receive_mDNS() failed\n"))
- closesocket(ssock);
+ if (init_socket_mDNS(&sock)) {
+ DBG2((g_log,0,"get_ccids: init_socket_mDNS() failed\n"))
return NULL;
}
smsec = msec_time();
/* Try a few times, with increasing response wait time */
- for (k = 1; ids == NULL && (msec_time() - smsec) < 1000; k++) {
+ for (k = 1;
+ ((msec_time() - smsec) < 700)
+ || (nids == 0 && (msec_time() - smsec) < 1600);
+ k++) {
DBG2((g_log,DLEV,"get_ccids: Sending mDNS query #%d:\n",k))
- if (send_mDNS(ssock)) {
+ if (send_mDNS(sock)) {
DBG2((g_log,0,"get_ccids: send_mDNS() #1 failed\n"))
- closesocket(ssock);
- closesocket(rsock);
+ closesocket(sock);
return NULL;
}
DBG2((g_log,DLEV,"get_ccids: Waiting for mDNS reply #%d:\n",k))
- if (receive_mDNS(rsock, &ids, waittime)) {
+ if (receive_mDNS(sock, &ids, &nids, waittime)) {
DBG2((g_log,0,"get_ccids: receive_mDNS() #%d failed\n",k))
- closesocket(ssock);
- closesocket(rsock);
+ closesocket(sock);
return NULL;
}
- if (ids != NULL)
- DBG2((g_log,DLEV,"get_ccids: Got reply\n"))
+ DBG2((g_log,DLEV,"get_ccids: have %d %s\n",nids, nids == 1 ? "reply" : "replies"))
- waittime *= 2;
+ if (waittime < 500)
+ waittime = 500;
}
-
- closesocket(ssock);
- closesocket(rsock);
+ closesocket(sock);
/* If no ChromCasts found, return an empty list */
if (ids == NULL) {
@@ -655,6 +616,7 @@ ccast_id **get_ccids() {
DBG2((g_log,DLEV," Entry %d:\n",i))
DBG2((g_log,DLEV," Name: %s\n",ids[i]->name))
DBG2((g_log,DLEV," IP: %s\n",ids[i]->ip))
+ DBG2((g_log,DLEV," Type: %s\n",cctype2str(ids[i]->typ)))
}
DBG2((g_log,DLEV,"get_ccids: Returning %d devices\n",i))
@@ -698,46 +660,66 @@ static int read_string_imp(char **rv, int *slen, ORD8 *buf, int off, int size, i
int len;
int d1 = 0;
-//printf("~1 read_string_imp called for off 0x%x rec %d\n",off,rec);
+ DBG((g_log,8,"read_string_imp called for off %d (0x%x) rec %d\n",off,off,rec));
- if (rec > 10) /* Too many recursions */
+ if (rec > 10) { /* Too many recursions */
+ DBG((g_log,8,"read_string_imp too many recursions\n"));
return -1; /* Error */
+ }
- if (off >= size)
+ if (off >= size) {
+ DBG((g_log,8,"read_string_imp off %d >= size %d\n",off,size));
return -1; /* Error */
+ }
for (;;) {
-//printf("~1 top of loop at off 0x%x\n",off);
+ DBG((g_log,8,"top of loop at off %d\n",off));
len = buf[off];
- if (len == 0xc0) { /* Is it an offset marker */
+ if ((len & 0xc0) == 0xc0) { /* Is it an offset marker */
int poff;
-//printf("~1 got pointer\n");
- if ((size - off) < 2)
+
+ DBG((g_log,8,"got pointer\n"));
+ if ((size - off) < 2) {
+ DBG((g_log,8,"read_string_imp size %d - off %d < 2\n",size,off));
return -1;
+ }
poff = read_ORD16_be(buf + off); off += 2;
poff -= 0xc000;
- if (poff < 0 || poff >= size)
+ if (poff < 0 || poff >= size) {
return -1;
+ }
+ DBG((g_log,8,"read_string_imp recursing\n"));
read_string_imp(rv, slen, buf, poff, size, rec+1);
-//if (slen != NULL) printf("~1 after recurse, slen = %d, off = 0x%x\n",*slen,off);
+ if (slen != NULL) {
+ DBG((g_log,8,"after recurse, slen = %d, off = %d (0x%x)\n",*slen,off,off));
+ }
break; /* we're done */
} else {
-//printf("~1 got string length %d\n",len);
+ DBG((g_log,8,"got string length %d\n",len));
+
off++;
- if ((off + len) >= size)
+ if ((off + len) >= size) {
+ DBG((g_log,8,"read_string_imp size off %d + len %d >= size %d\n",off,len,size));
return -1;
+ }
- if (len == 0)
+ if (len == 0) {
+ DBG((g_log,8,"read_string_imp len == 0 - done\n"));
break; /* we're done */
+ }
if (rv != NULL) {
memcpy(*rv, buf + off, len);
-//(*rv)[len] = '\000'; printf("Copied string %p = '%s'\n",*rv,*rv);
+
+#ifdef DEBUG
+ (*rv)[len] = '\000';
+ DBG((g_log,8,"Copied string %p = '%s'\n",*rv,*rv));
+#endif
*rv += len;
}
@@ -745,21 +727,25 @@ static int read_string_imp(char **rv, int *slen, ORD8 *buf, int off, int size, i
if (slen != NULL) {
(*slen) += len;
-//printf("~1 slen now = %d\n",*slen);
+ DBG((g_log,8,"slen now = %d\n",*slen));
}
}
d1 = 1;
- if (slen != NULL)
+ if (slen != NULL) {
(*slen)++;
+ }
if (rv != NULL) {
(*rv)[0] = '.';
(*rv)++;
}
}
-//if (slen != NULL) printf("~1 returning slen = %d\n",*slen);
+ if (slen != NULL) {
+ DBG((g_log,8,"returning slen = %d\n",*slen));
+ }
+
return off;
}
@@ -769,29 +755,31 @@ static int read_string(char **rv, ORD8 *buf, int off, int size) {
int len = 0, toff = off;
char *trv;
-//printf("~1 read_string called for off 0x%x\n",off);
+ DBG((g_log,7,"read_string called for off 0x%x\n",off));
/* See how long it will be */
if ((toff = read_string_imp(NULL, &len, buf, off, size, 0)) < 0) {
-//printf("~1 read_string_imp length returned error\n");
+ DBG((g_log,7,"read_string_imp length returned error\n"));
return toff;
}
-//printf("~1 read_string_imp got length %d\n",len);
+ DBG((g_log,7,"read_string_imp got length %d\n",len));
if (len == 0) {
-//printf("~1 Got zero length string\n");
+ DBG((g_log,7,"Got zero length string\n"));
len++; /* Room for null string */
}
if ((*rv = trv = malloc(len)) == NULL) {
+ DBG((g_log,7,"malloc for string failed\n"));
return -1;
}
-//printf("Malloced %p\n",*rv);
+ DBG((g_log,7,"loced %p\n",*rv));
off = read_string_imp(&trv, NULL, buf, off, size, 0);
if (off >= 0) {
(*rv)[len-1] = '\000';
-//printf("~1 read string ok: %p = '%s'\n",*rv, *rv);
+ DBG((g_log,7,"read string ok: %p = '%s'\n",*rv, *rv));
+ } else {
+ DBG((g_log,7,"reading string failed\n"));
}
-//else printf("~1 reading string failed\n");
return off;
}
@@ -820,9 +808,9 @@ int parse_query(ORD8 *buf, int off, int size) {
return off;
}
-/* Parse an mDNS reply */
+/* Parse an mDNS reply, and set Friendly name (if known) + formal name + IP */
/* Return updated off value or -1 on error */
-int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
+int parse_reply(char **pname, char **pip, cctype *ptyp, int *pcaflags, ORD8 *buf, int off, int size) {
char *sv;
int rtype, rclass, rdlength;
unsigned int ttl;
@@ -831,21 +819,21 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
if ((off = read_string(&sv, buf, off, size)) < 0)
return -1;
- DBG((g_log,0," Got string '%s'\n",sv))
+ DBG((g_log,0," Got string '%s', now off = 0x%x\n",sv,off))
if ((size - off) < 2) {
free(sv);
return -1;
}
rtype = read_ORD16_be(buf + off); off += 2;
- DBG((g_log,0," RTYPE = %d\n",rtype))
+ DBG((g_log,0," RTYPE = %d, now off = 0x%x\n",rtype,off))
if ((size - off) < 2) {
free(sv);
return -1;
}
rclass = read_ORD16_be(buf + off); off += 2;
- DBG((g_log,0," RCLASS = 0x%04x\n",rclass))
+ DBG((g_log,0," RCLASS = 0x%04x, now off = 0x%x\n",rclass,off))
/* rclass top bit is cache flush bit */
if ((rclass & 0x7fff) != DNS_CLASS_IN) {
@@ -857,12 +845,12 @@ 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((g_log,0," TTL = %u\n",ttl))
+ DBG((g_log,0," TTL = %u, now off = 0x%x\n",ttl,off))
if ((size - off) < 2)
return -1;
rdlength = read_ORD16_be(buf + off); off += 2;
- DBG((g_log,0," RDLENGTH = %d\n",rdlength))
+ DBG((g_log,0," RDLENGTH = %d, now off = 0x%x\n",rdlength,off))
if ((off + rdlength) > size) {
DBG((g_log,0," response RDLENGTH is longer than remaining buffer (%d)\n",size - off))
@@ -872,7 +860,10 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
/* Just decode the replies we need */
if (rtype == DNS_TYPE_TXT) { /* Check it's a ChromeCast & get its name */
- char *cp;
+ char *cp, *fn = NULL;
+ int rdsize = off + rdlength;
+ int caflags = 0;
+
if ((cp = strchr(sv, '.')) == NULL) {
free(sv);
return -1;
@@ -884,12 +875,112 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
return -1;
}
- DBG((g_log,0," Chromacast '%s'\n", sv))
- if ((*pname = strdup(sv)) == NULL) {
- DBG((g_log,0,"strdup failed\n"))
- free(sv);
- return -1;
+#ifdef NEVER
+ DBG((g_log,0," TXT data:\n"))
+ adump_bytes(g_log, " ", buf + off, 0, rdlength);
+#endif
+
+ /* Chromecast TXT DATA format:
+
+ Buffer is series of strings, each beginning with a byte length.
+ Each string is id=value, with the following known values:
+
+ id=c17a8e82ee7187d5013e2d12c61bbd40 uuidNoHyphens
+ rm=669B9448366A01CB
+ ve=05 SW version ????
+ md=Chromecast Model ?
+ i.e. Chromecast-Audio
+ i.e. Chromecast-Ultra
+ i.e. Group
+ ic=/setup/icon.png Icon file ??
+ fn=Chromecast6892 Friendly name
+ ca=4101 Capabilities bits ???
+ st=1 Application running ??
+ bs=FA8FCA566645 Application ID ??
+ rs=Pattern generator ready Application state ??
+
+ */
+
+ /* Parse the Chromacast TX Data */
+ for (; off < rdsize; ) {
+ int slen;
+ char *ss;
+
+ /* Read the string length */
+ if ((rdsize - off) < 1)
+ goto done_tx;
+
+ slen = read_ORD8(buf + off); off += 1;
+
+ if ((rdsize - off) < slen)
+ goto done_tx;
+
+ if ((ss = malloc(slen + 1)) == NULL) {
+ DBG((g_log,0,"malloc for sub-string failed\n"));
+ return -1;
+ }
+
+ memcpy(ss, buf + off, slen);
+ ss[slen] = '\000';
+ off += slen;
+
+ DBG((g_log,0," TX Sub-string '%s'\n", ss))
+
+ /* Record info we want: */
+ if (strncmp(ss, "fn=", 3) == 0) { /* Friendly name */
+ if ((fn = malloc(slen -3 +1)) == NULL) {
+ DBG((g_log,0,"malloc for fn-string failed\n"));
+ return -1;
+ }
+ strcpy(fn, ss + 3);
+ }
+
+ if (strncmp(ss, "ca=", 3) == 0) { /* Capability bits ? */
+ caflags = atoi(ss + 3);
+ }
+ free(ss);
}
+
+ done_tx:
+
+ if (fn != NULL) {
+ DBG((g_log,0," Chromacast '%s', fn '%s'\n", sv, fn))
+ } else {
+ DBG((g_log,0," Chromacast '%s'\n", sv))
+ }
+
+ DBG2((g_log,DLEV,"ca bits 0x%x\n", caflags))
+
+ if (strncmp(sv, "Chromecast-Ultra", 16) == 0) {
+ *ptyp = cctyp_Ultra;
+ } else if (strncmp(sv, "Chromecast-Audio", 16) == 0) {
+ *ptyp = cctyp_Audio;
+ } else {
+ // Hmm. A CC1 or non-Google device.
+
+ /* We're guessing that bit 0 of the ca bits == Video capable */
+ /* and bit 1 of the ca bits == Audio capable */
+ if (caflags & 1)
+ *ptyp = cctyp_1;
+ else if (caflags & 4)
+ *ptyp = cctyp_Audio;
+ else
+ *ptyp = cctyp_Other;
+ }
+
+ if (fn != NULL) {
+ *pname = fn;
+ } else {
+ free(fn);
+ if ((*pname = strdup(sv)) == NULL) {
+ DBG((g_log,0,"strdup failed\n"))
+ free(sv);
+ return -1;
+ }
+ }
+
+ off = rdsize;
+
} else if (rtype == DNS_TYPE_A) {
/* Should we check name matches ? */
if ((*pip = malloc(3 * 4 + 3 + 1)) == NULL) {
@@ -900,6 +991,7 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
sprintf(*pip, "%d.%d.%d.%d", buf[off], buf[off+1], buf[off+2], buf[off+3]);
DBG((g_log,0," V4 address = %s\n",*pip))
+ off += rdlength;
} else if (rtype == DNS_TYPE_AAAA) { /* The IPV6 address */
/* Should we check name matches ? */
if ((*pip = malloc(8 * 4 + 7 + 1)) == NULL) {
@@ -918,10 +1010,11 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
buf[off+14] * 245 + buf[off+15]);
DBG((g_log,0," V6 address = %s\n",*pip))
+ off += rdlength;
} else {
DBG((g_log,0," Skipping reply at 0x%x\n",off))
+ off += rdlength;
}
- off += rdlength;
free(sv);
return off;
@@ -930,7 +1023,7 @@ int parse_reply(char **pname, char **pip, ORD8 *buf, int off, int size) {
/* Parse an mDNS reply into a ChromCast name & IP address */
/* Allocate and return name and IP on finding ChromeCast reply, NULL otherwise */
/* Return nz on failure */
-static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
+static int parse_dns(char **pname, char **pip, cctype *ptyp, int *pcaflags, ORD8 *buf, int size) {
int i, off = 0;
int id, flags, qdcount, ancount, nscount, arcount;
@@ -976,7 +1069,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) {
+ if ((off = parse_reply(pname, pip, ptyp, pcaflags, buf, off, size)) < 0) {
DBG((g_log,0," ### Parsing answer failed ###\n"))
return 1;
}
@@ -984,7 +1077,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) {
+ if ((off = parse_reply(pname, pip, ptyp, pcaflags, buf, off, size)) < 0) {
DBG((g_log,0," ### Parsing NS record failed ###\n"))
return 1;
}
@@ -992,7 +1085,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) {
+ if ((off = parse_reply(pname, pip, ptyp, pcaflags, buf, off, size)) < 0) {
DBG((g_log,0," ### Parsing additional records failed ###\n"))
return 1;
}
@@ -1032,6 +1125,35 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+
+/*
+ .ca values:
+
+ Original CC 5 = 0x0005
+ Latest CC1 4101 = 0x1005
+ Latest CC2 4101 = 0x1005
+ Latest CC3 4101 = 0x1005
+ Vizio TV 2053 = 0x0805
+ Toshiba TV 4101 = 0x1005
+ Audio CC 4100 = 0x1004
+ Sound bar 2052 = 0x0804
+
+ Google documents the following Capability strings:
+
+ VIDEO_OUT The receiver supports video output.
+ VIDEO_IN The receiver supports video input (camera).
+ AUDIO_OUT The receiver supports audio output.
+ AUDIO_IN The receiver supports audio input (microphone).
+ MULTIZONE_GROUP The receiver represents a multi-zone group.
+
+ Which may correspond to ca bits 0, 1, 2, 3 respectively ?
+
+*/
+
+/*
+ Original CC 1 dump ?
+
0000: 00 00 84 00 00 00 00 01 00 00 00 05 0b 5f 67 6f ............._go
0010: 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f oglecast._tcp.lo
0020: 63 61 6c 00 00 0c 00 01 00 00 11 94 00 11 0e 43 cal............C
@@ -1050,6 +1172,207 @@ static int parse_dns(char **pname, char **pip, ORD8 *buf, int size) {
00f0: 09 c0 2e 00 05 00 00 80 00 40 c0 c4 00 2f 80 01 .........@.../..
0100: 00 00 00 78 00 05 c0 c4 00 01 40 ...x......@
+*/
+
+/*
+
+ ChromeCast 1 dump
+
+0000: 00 00 84 00 00 00 00 01 00 00 00 03 0b 5f 67 6f ............._go
+0010: 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f oglecast._tcp.lo
+0020: 63 61 6c 00 00 0c 00 01 00 00 00 78 00 44 2b 43 cal........x.D+C
+0030: 68 72 6f 6d 65 63 61 73 74 2d 63 31 37 61 65 38 hromecast-c17ae8
+0040: 38 32 65 37 65 31 38 37 35 64 30 31 33 65 64 32 82e7e1875d013ed2
+0050: 31 32 63 31 36 62 62 64 34 30 0b 5f 67 6f 6f 67 12c16bbd40._goog
+0060: 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f 63 61 lecast._tcp.loca
+0070: 6c 00 2b 43 68 72 6f 6d 65 63 61 73 74 2d 63 31 l.+Chromecast-c1
+0080: 37 61 65 38 38 32 65 37 65 31 38 37 35 64 30 31 7ae882e7e1875d01
+0090: 33 65 64 32 31 32 63 31 36 62 62 64 34 30 0b 5f 3ed212c16bbd40._
+00a0: 67 6f 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 googlecast._tcp.
+00b0: 6c 6f 63 61 6c 00 00 10 80 01 00 00 11 94 00 82 local...........
+00c0: 23 69 64 3d 63 31 37 61 65 38 38 32 65 37 65 31 #id=c17ae882e7e1
+00d0: 38 37 35 64 30 31 33 65 64 32 31 32 63 31 36 62 875d013ed212c16b
+00e0: 62 64 34 30 03 72 6d 3d 05 76 65 3d 30 35 0d 6d bd40.rm=.ve=05.m
+00f0: 64 3d 43 68 72 6f 6d 65 63 61 73 74 12 69 63 3d d=Chromecast.ic=
+0100: 2f 73 65 74 75 70 2f 69 63 6f 6e 2e 70 6e 67 11 /setup/icon.png.
+0110: 66 6e 3d 43 68 72 6f 6d 65 63 61 73 74 36 38 39 fn=Chromecast689
+0120: 32 07 63 61 3d 34 31 30 31 04 73 74 3d 30 0f 62 2.ca=4101.st=0.b
+0130: 73 3d 46 41 38 46 43 41 35 36 36 36 34 35 03 72 s=FA8FCA566645.r
+0140: 73 3d 2b 43 68 72 6f 6d 65 63 61 73 74 2d 63 31 s=+Chromecast-c1
+0150: 37 61 65 38 38 32 65 37 65 31 38 37 35 64 30 31 7ae882e7e1875d01
+0160: 33 65 64 32 31 32 63 31 36 62 62 64 34 30 0b 5f 3ed212c16bbd40._
+0170: 67 6f 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 googlecast._tcp.
+0180: 6c 6f 63 61 6c 00 00 21 80 01 00 00 00 78 00 32 local..!.....x.2
+0190: 00 00 00 00 1f 49 24 63 31 37 61 65 38 38 32 2d .....I$c17ae882-
+01a0: 65 37 65 31 2d 38 37 35 64 2d 30 31 33 65 2d 64 e7e1-875d-013e-d
+01b0: 32 31 32 63 31 36 62 62 64 34 30 05 6c 6f 63 61 212c16bbd40.loca
+01c0: 6c 00 24 63 31 37 61 65 38 38 32 2d 65 37 65 31 l.$c17ae882-e7e1
+01d0: 2d 38 37 35 64 2d 30 31 33 65 2d 64 32 31 32 63 -875d-013e-d212c
+01e0: 31 36 62 62 64 34 30 05 6c 6f 63 61 6c 00 00 01 16bbd40.local...
+01f0: 80 01 00 00 00 78 00 04 c0 a8 01 68 .....x.....h
+
+
+ChromeCast 2 dump:
+
+0000: 00 00 84 00 00 00 00 01 00 00 00 03 0b 5f 67 6f ............._go
+0010: 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f oglecast._tcp.lo
+0020: 63 61 6c 00 00 0c 00 01 00 00 00 78 00 44 2b 43 cal........x.D+C
+0030: 68 72 6f 6d 65 63 61 73 74 2d 38 32 38 30 30 66 hromecast-82800f
+0040: 65 63 33 37 37 36 35 39 38 66 35 38 64 34 61 61 ec3776598f58d4aa
+0050: 63 39 65 36 35 64 30 30 30 61 0b 5f 67 6f 6f 67 c9e65d000a._goog
+0060: 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f 63 61 lecast._tcp.loca
+0070: 6c 00 2b 43 68 72 6f 6d 65 63 61 73 74 2d 38 32 l.+Chromecast-82
+0080: 38 30 30 66 65 63 33 37 37 36 35 39 38 66 35 38 800fec3776598f58
+0090: 64 34 61 61 63 39 65 36 35 64 30 30 30 61 0b 5f d4aac9e65d000a._
+00a0: 67 6f 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 googlecast._tcp.
+00b0: 6c 6f 63 61 6c 00 00 10 80 01 00 00 11 94 00 a9 local...........
+00c0: 23 69 64 3d 38 32 38 30 30 66 65 63 33 37 37 36 #id=82800fec3776
+00d0: 35 39 38 66 35 38 64 34 61 61 63 39 65 36 35 64 598f58d4aac9e65d
+00e0: 30 30 30 61 13 72 6d 3d 36 36 39 42 39 34 34 38 000a.rm=669B9448
+00f0: 36 33 36 30 41 31 43 42 05 76 65 3d 30 35 0d 6d 6360A1CB.ve=05.m
+0100: 64 3d 43 68 72 6f 6d 65 63 61 73 74 12 69 63 3d d=Chromecast.ic=
+0110: 2f 73 65 74 75 70 2f 69 63 6f 6e 2e 70 6e 67 11 /setup/icon.png.
+0120: 66 6e 3d 43 68 72 6f 6d 65 63 61 73 74 36 35 30 fn=Chromecast650
+0130: 32 07 63 61 3d 34 31 30 31 04 73 74 3d 31 0f 62 2.ca=4101.st=1.b
+0140: 73 3d 46 41 38 46 43 41 39 45 33 45 30 31 1a 72 s=FA8FCA9E3E01.r
+0150: 73 3d 50 61 74 74 65 72 6e 20 67 65 6e 65 72 61 s=Pattern genera
+0160: 74 6f 72 20 72 65 61 64 79 2b 43 68 72 6f 6d 65 tor ready+Chrome
+0170: 63 61 73 74 2d 38 32 38 30 30 66 65 63 33 37 37 cast-82800fec377
+0180: 36 35 39 38 66 35 38 64 34 61 61 63 39 65 36 35 6598f58d4aac9e65
+0190: 64 30 30 30 61 0b 5f 67 6f 6f 67 6c 65 63 61 73 d000a._googlecas
+01a0: 74 04 5f 74 63 70 05 6c 6f 63 61 6c 00 00 21 80 t._tcp.local..!.
+01b0: 01 00 00 00 78 00 32 00 00 00 00 1f 49 24 38 32 ....x.2.....I$82
+01c0: 38 30 30 66 65 63 2d 33 37 37 36 2d 35 39 38 66 800fec-3776-598f
+01d0: 2d 35 38 64 34 2d 61 61 63 39 65 36 35 64 30 30 -58d4-aac9e65d00
+01e0: 30 61 05 6c 6f 63 61 6c 00 24 38 32 38 30 30 66 0a.local.$82800f
+01f0: 65 63 2d 33 37 37 36 2d 35 39 38 66 2d 35 38 64 ec-3776-598f-58d
+0200: 34 2d 61 61 63 39 65 36 35 64 30 30 30 61 05 6c 4-aac9e65d000a.l
+0210: 6f 63 61 6c 00 00 01 80 01 00 00 00 78 00 04 0a ocal........x...
+0220: 00 00 80 ...
+
+ChromeCast 3 (Ultra)
+
+0000: 00 00 84 00 00 00 00 01 00 00 00 03 0b 5f 67 6f ............._go
+0010: 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f oglecast._tcp.lo
+0020: 63 61 6c 00 00 0c 00 01 00 00 00 78 00 34 31 43 cal........x.41C
+0030: 68 72 6f 6d 65 63 61 73 74 2d 55 6c 74 72 61 2d hromecast-Ultra-
+0040: 32 38 36 65 36 63 63 65 38 34 65 32 38 65 61 33 286e6cce84e28ea3
+0050: 36 63 37 63 33 31 39 32 66 33 35 62 65 30 33 65 6c7c3192f35be03e
+0060: c0 0c c0 2e 00 10 80 01 00 00 11 94 00 8d 23 69 ..............#i
+0070: 64 3d 32 38 36 65 36 63 63 65 38 34 65 32 38 65 d=286e6cce84e28e
+0080: 61 33 36 63 37 63 33 31 39 32 66 33 35 62 65 30 a36c7c3192f35be0
+0090: 33 65 03 72 6d 3d 05 76 65 3d 30 35 13 6d 64 3d 3e.rm=.ve=05.md=
+00a0: 43 68 72 6f 6d 65 63 61 73 74 20 55 6c 74 72 61 Chromecast Ultra
+00b0: 12 69 63 3d 2f 73 65 74 75 70 2f 69 63 6f 6e 2e .ic=/setup/icon.
+00c0: 70 6e 67 16 66 6e 3d 43 68 72 6f 6d 65 63 61 73 png.fn=Chromecas
+00d0: 74 55 6c 74 72 61 36 32 35 30 07 63 61 3d 34 31 tUltra6250.ca=41
+00e0: 30 31 04 73 74 3d 30 0f 62 73 3d 46 41 38 46 43 01.st=0.bs=FA8FC
+00f0: 41 37 30 38 35 42 35 03 72 73 3d c0 2e 00 21 80 A7085B5.rs=...!.
+0100: 01 00 00 00 78 00 2d 00 00 00 00 1f 49 24 32 38 ....x.-.....I$28
+0110: 36 65 36 63 63 65 2d 38 34 65 32 2d 38 65 61 33 6e6cce-84e2-8ea3
+0120: 2d 36 63 37 63 2d 33 31 39 32 66 33 35 62 65 30 -6c7c-3192f35be0
+0130: 33 65 c0 1d c1 0d 00 01 80 01 00 00 00 78 00 04 3e...........x..
+0140: 0a 00 01 1d ....
+
+*/
+
+
+/* Other non-Google devices:
+
+Vizio M60-D1 :- Smart TV
+
+00000000 00 00 84 00 00 00 00 01 00 00 00 03 0b 5f 67 6f |............._go|
+00000010 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f |oglecast._tcp.lo|
+00000020 63 61 6c 00 00 0c 00 01 00 00 00 78 00 40 27 4d |cal........x.@'M|
+00000030 36 30 2d 44 31 2d 37 63 35 35 36 37 39 31 35 38 |60-D1-7c55679158|
+00000040 38 64 63 64 33 37 63 37 37 32 33 31 61 30 64 64 |8dcd37c77231a0dd|
+00000050 31 35 61 35 30 36 0b 5f 67 6f 6f 67 6c 65 63 61 |15a506._googleca|
+00000060 73 74 04 5f 74 63 70 05 6c 6f 63 61 6c 00 27 4d |st._tcp.local.'M|
+00000070 36 30 2d 44 31 2d 37 63 35 35 36 37 39 31 35 38 |60-D1-7c55679158|
+00000080 38 64 63 64 33 37 63 37 37 32 33 31 61 30 64 64 |8dcd37c77231a0dd|
+00000090 31 35 61 35 30 36 0b 5f 67 6f 6f 67 6c 65 63 61 |15a506._googleca|
+000000a0 73 74 04 5f 74 63 70 05 6c 6f 63 61 6c 00 00 10 |st._tcp.local...|
+000000b0 80 01 00 00 11 94 00 80 23 69 64 3d 37 63 35 35 |........#id=7c55|
+000000c0 36 37 39 31 35 38 38 64 63 64 33 37 63 37 37 32 |6791588dcd37c772|
+000000d0 33 31 61 30 64 64 31 35 61 35 30 36 13 72 6d 3d |31a0dd15a506.rm=|
+000000e0 31 33 39 46 33 32 34 34 38 34 44 46 41 39 32 34 |139F324484DFA924|
+000000f0 05 76 65 3d 30 35 09 6d 64 3d 4d 36 30 2d 44 31 |.ve=05.md=M60-D1|
+00000100 12 69 63 3d 2f 73 65 74 75 70 2f 69 63 6f 6e 2e |.ic=/setup/icon.|
+00000110 70 6e 67 0f 66 6e 3d 56 69 7a 69 6f 20 4d 36 30 |png.fn=Vizio M60|
+00000120 2d 44 31 07 63 61 3d 32 30 35 33 04 73 74 3d 30 |-D1.ca=2053.st=0|
+00000130 03 62 73 3d 03 72 73 3d 27 4d 36 30 2d 44 31 2d |.bs=.rs='M60-D1-|
+00000140 37 63 35 35 36 37 39 31 35 38 38 64 63 64 33 37 |7c556791588dcd37|
+00000150 63 37 37 32 33 31 61 30 64 64 31 35 61 35 30 36 |c77231a0dd15a506|
+00000160 0b 5f 67 6f 6f 67 6c 65 63 61 73 74 04 5f 74 63 |._googlecast._tc|
+00000170 70 05 6c 6f 63 61 6c 00 00 21 80 01 00 00 00 78 |p.local..!.....x|
+00000180 00 32 00 00 00 00 1f 49 24 37 63 35 35 36 37 39 |.2.....I$7c55679|
+00000190 31 2d 35 38 38 64 2d 63 64 33 37 2d 63 37 37 32 |1-588d-cd37-c772|
+000001a0 2d 33 31 61 30 64 64 31 35 61 35 30 36 05 6c 6f |-31a0dd15a506.lo|
+000001b0 63 61 6c 00 24 37 63 35 35 36 37 39 31 2d 35 38 |cal.$7c556791-58|
+000001c0 38 64 2d 63 64 33 37 2d 63 37 37 32 2d 33 31 61 |8d-cd37-c772-31a|
+000001d0 30 64 64 31 35 61 35 30 36 05 6c 6f 63 61 6c 00 |0dd15a506.local.|
+000001e0 00 01 80 01 00 00 00 78 00 04 c0 a8 00 3e |.......x.....>|
+000001ee
+
+SmartCast Sound Bar 3851-D0 :- Sound bar
+
+00000000 00 00 84 00 00 00 00 01 00 00 00 03 0b 5f 67 6f |............._go|
+00000010 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f |oglecast._tcp.lo|
+00000020 63 61 6c 00 00 0c 00 01 00 00 00 78 00 22 09 53 |cal........x.".S|
+00000030 42 33 38 35 31 2d 44 30 0b 5f 67 6f 6f 67 6c 65 |B3851-D0._google|
+00000040 63 61 73 74 04 5f 74 63 70 05 6c 6f 63 61 6c 00 |cast._tcp.local.|
+00000050 09 53 42 33 38 35 31 2d 44 30 0b 5f 67 6f 6f 67 |.SB3851-D0._goog|
+00000060 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f 63 61 |lecast._tcp.loca|
+00000070 6c 00 00 10 80 01 00 00 11 94 00 8a 23 69 64 3d |l...........#id=|
+00000080 64 35 36 63 33 66 30 39 36 66 30 31 30 31 36 66 |d56c3f096f01016f|
+00000090 33 64 37 30 65 62 62 63 36 32 36 34 65 66 33 31 |3d70ebbc6264ef31|
+000000a0 05 76 65 3d 30 34 1e 6d 64 3d 53 6d 61 72 74 43 |.ve=04.md=SmartC|
+000000b0 61 73 74 20 53 6f 75 6e 64 20 42 61 72 20 33 38 |ast Sound Bar 38|
+000000c0 35 31 2d 44 30 12 69 63 3d 2f 73 65 74 75 70 2f |51-D0.ic=/setup/|
+000000d0 69 63 6f 6e 2e 70 6e 67 0c 66 6e 3d 53 42 33 38 |icon.png.fn=SB38|
+000000e0 35 31 2d 44 30 07 63 61 3d 32 30 35 32 04 73 74 |51-D0.ca=2052.st|
+000000f0 3d 30 0f 62 73 3d 46 46 46 46 46 46 46 46 46 46 |=0.bs=FFFFFFFFFF|
+00000100 46 46 03 72 73 3d 09 53 42 33 38 35 31 2d 44 30 |FF.rs=.SB3851-D0|
+00000110 0b 5f 67 6f 6f 67 6c 65 63 61 73 74 04 5f 74 63 |._googlecast._tc|
+00000120 70 05 6c 6f 63 61 6c 00 00 21 80 01 00 00 00 78 |p.local..!.....x|
+00000130 00 17 00 00 00 00 1f 49 09 53 42 33 38 35 31 2d |.......I.SB3851-|
+00000140 44 30 05 6c 6f 63 61 6c 00 09 53 42 33 38 35 31 |D0.local..SB3851|
+00000150 2d 44 30 05 6c 6f 63 61 6c 00 00 01 80 01 00 00 |-D0.local.......|
+00000160 00 78 00 04 c0 a8 00 26 |.x.....&|
+00000168
+
+ZChromecast Toshiba :- TV ?
+
+00000000 00 00 84 00 00 00 00 01 00 00 00 03 0b 5f 67 6f |............._go|
+00000010 6f 67 6c 65 63 61 73 74 04 5f 74 63 70 05 6c 6f |oglecast._tcp.lo|
+00000020 63 61 6c 00 00 0c 00 01 00 00 00 78 00 2e 2b 43 |cal........x..+C|
+00000030 68 72 6f 6d 65 63 61 73 74 2d 64 61 30 33 34 62 |hromecast-da034b|
+00000040 31 39 30 30 34 34 62 63 38 65 35 33 30 31 34 37 |190044bc8e530147|
+00000050 63 37 61 65 33 32 63 35 61 33 c0 0c c0 2e 00 10 |c7ae32c5a3......|
+00000060 80 01 00 00 11 94 00 87 23 69 64 3d 64 61 30 33 |........#id=da03|
+00000070 34 62 31 39 30 30 34 34 62 63 38 65 35 33 30 31 |4b190044bc8e5301|
+00000080 34 37 63 37 61 65 33 32 63 35 61 33 03 72 6d 3d |47c7ae32c5a3.rm=|
+00000090 05 76 65 3d 30 35 0d 6d 64 3d 43 68 72 6f 6d 65 |.ve=05.md=Chrome|
+000000a0 63 61 73 74 12 69 63 3d 2f 73 65 74 75 70 2f 69 |cast.ic=/setup/i|
+000000b0 63 6f 6e 2e 70 6e 67 16 66 6e 3d 5a 43 68 72 6f |con.png.fn=ZChro|
+000000c0 6d 65 63 61 73 74 20 54 6f 73 68 69 62 61 07 63 |mecast Toshiba.c|
+000000d0 61 3d 34 31 30 31 04 73 74 3d 30 0f 62 73 3d 46 |a=4101.st=0.bs=F|
+000000e0 41 38 46 43 41 37 30 32 30 36 32 03 72 73 3d c0 |A8FCA702062.rs=.|
+000000f0 2e 00 21 80 01 00 00 00 78 00 2d 00 00 00 00 1f |..!.....x.-.....|
+00000100 49 24 64 61 30 33 34 62 31 39 2d 30 30 34 34 2d |I$da034b19-0044-|
+00000110 62 63 38 65 2d 35 33 30 31 2d 34 37 63 37 61 65 |bc8e-5301-47c7ae|
+00000120 33 32 63 35 61 33 c0 1d c1 01 00 01 80 01 00 00 |32c5a3..........|
+00000130 00 78 00 04 c0 a8 00 1b |.x......|
+00000138
*/
+/*
+
+ Can get info from Chromecast http server at http://XX.XX.XX.XX:8008/ssdp/device-desc.xml
+
+ Get info about the app running: http://XX.XX.XX.XX:8008/apps/ChromeCast
+
+*/
+
+
diff --git a/ccast/ccmdns.h b/ccast/ccmdns.h
index 5144448..7a57808 100644..100755
--- a/ccast/ccmdns.h
+++ b/ccast/ccmdns.h
@@ -20,13 +20,26 @@
* for the purposes of generating Video Test patches.
*/
+/* Chrome cast type */
+typedef enum {
+ cctyp_unkn = 0, /* Unknown */
+ cctyp_1, /* Chromecast 1 or General Video */
+ cctyp_2, /* Chromecast 2 */
+ cctyp_Audio, /* Chromecast Audio or General Audio */
+ cctyp_Ultra, /* Chromecast Ultra */
+ cctyp_Other /* Non Video/Audio output device */
+} cctype;
+
+/* Use cctype2str() to dump type */
+
/* A record of a Chromecast that may be accessed */
struct _ccast_id {
- char *name; /* Chromecast name */
+ char *name; /* Chromecast friendly name */
char *ip; /* IP address as string (ie. "10.0.0.128") */
+ cctype typ; /* Chromecast type (If known) */
}; typedef struct _ccast_id ccast_id;
-/* Get a list of Chromecasts. Return NULL on error */
+/* Get a list of Video out capable Chromecasts. Return NULL on error */
/* Last pointer in array is NULL */
/* Takes 0.5 second to return */
ccast_id **get_ccids(void);
diff --git a/ccast/ccmes.c b/ccast/ccmes.c
index b8f9de0..b8f9de0 100644..100755
--- a/ccast/ccmes.c
+++ b/ccast/ccmes.c
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 df2a0af..df2a0af 100644..100755
--- a/ccast/ccpacket.c
+++ b/ccast/ccpacket.c
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 2000cc5..2000cc5 100644..100755
--- a/ccast/cctest.c
+++ b/ccast/cctest.c
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 a8792fe..a8792fe 100644..100755
--- a/ccast/dpat.c
+++ b/ccast/dpat.c
diff --git a/ccast/filt.c b/ccast/filt.c
index 65cf7bd..65cf7bd 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/License4.txt b/cgats/License4.txt
index 6db70c8..6db70c8 100644..100755
--- a/cgats/License4.txt
+++ b/cgats/License4.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 89c554e..89c554e 100644..100755
--- a/cgats/Readme.txt
+++ b/cgats/Readme.txt
diff --git a/cgats/afiles b/cgats/afiles
index 5532110..5532110 100644..100755
--- a/cgats/afiles
+++ b/cgats/afiles
diff --git a/cgats/cgats.c b/cgats/cgats.c
index 3741a5d..578da10 100644..100755
--- a/cgats/cgats.c
+++ b/cgats/cgats.c
@@ -135,6 +135,7 @@ cgatsAlloc *al /* memory allocator */
p->add_other = add_other;
p->get_oi = get_oi;
p->add_kword = add_kword;
+ p->add_kword_at = add_kword_at;
p->add_field = add_field;
p->add_set = add_set;
p->add_setarr = add_setarr;
diff --git a/cgats/cgats.h b/cgats/cgats.h
index bf5c94e..9ef5f7f 100644..100755
--- a/cgats/cgats.h
+++ b/cgats/cgats.h
@@ -132,6 +132,9 @@ struct _cgats {
int (*add_kword)(struct _cgats *p, int table, const char *ksym, const char *kdata, const char *kcom);
/* Add a new keyword/value pair + optional comment to the table */
/* Return index of new keyword, or -1, errc & err on error */
+ int (*add_kword_at)(struct _cgats *p, int table, int pos, const char *ksym,
+ const char *kdata, const char *kcom);
+ /* Replace or append a new keyword/value pair + optional comment */
int (*add_field)(struct _cgats *p, int table, const char *fsym, data_type ftype);
/* Add a new field to the table */
/* Return index of new field, or -1, -2, errc and err on error */
diff --git a/cgats/cgatsstd.c b/cgats/cgatsstd.c
index 22c17ed..22c17ed 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 c3038d5..d4d04bf 100644..100755
--- a/cgats/pars.c
+++ b/cgats/pars.c
@@ -17,6 +17,12 @@
* see the License4.txt file in this directory for licensing details.
*/
+/*
+ TTBD:
+
+ Should skip UTF-8 BOM (0xef 0xbb 0xbf)
+
+*/
#define _PARS_C_ /* Turn on implimentation code */
diff --git a/cgats/pars.h b/cgats/pars.h
index 083a745..083a745 100644..100755
--- a/cgats/pars.h
+++ b/cgats/pars.h
diff --git a/cgats/parsstd.c b/cgats/parsstd.c
index 2246c97..2246c97 100644..100755
--- a/cgats/parsstd.c
+++ b/cgats/parsstd.c
diff --git a/cgats/test.txt b/cgats/test.txt
index 5036d32..5036d32 100644..100755
--- a/cgats/test.txt
+++ b/cgats/test.txt
diff --git a/debian/changelog b/debian/changelog
index 3860758..fdafdbb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,26 @@
+argyll (2.0.0+repack-1) UNRELEASED; urgency=medium
+
+ * Switch from repack to Files-Excluded.
+ * Refresh patches.
+ * Change to my new email address.
+ * debian/changelog:
+ - Remove trailing whitespaces.
+ * debian/control:
+ - Remove duplicates Priority fields.
+ - Requested versions are lesser as there are in old-stable:
+ + Remove dpkg amd dpkg-dev from (Build|Pre)-Depends.
+ + Remove versions from Recommend udev.
+ + Remove Replaces & Breaks argyll from argyll-ref.
+ * debian/rules:
+ - Add script to remove executable flag from upstream source.
+ * Declare compliance with Debian Policy 4.1.2.0 (No changes needed).
+ * Change to secure URI.
+ - Homepage in debian/copyright, debian/watch and debian/control.
+ * debian/patches/0130_openssl.patch:
+ - Switch from SSLv23_client_method to TLS_client_method (Closes: #871427).
+
+ -- Jörg Frings-Fürst <debian@jff.email> Sat, 25 Nov 2017 10:10:30 +0100
+
argyll (1.9.2+repack-2) unstable; urgency=medium
* New README.source to explain the branching model used.
@@ -11,7 +34,7 @@ argyll (1.9.2+repack-2) unstable; urgency=medium
- For better handling replace dpkg-parsechangelog with SOURCE_DATE_EPOCH
from pkg-info.mk.
* New patch 0130_openssl.patch:
- - Enable all ssl connections since openssl provides only connetions with
+ - Enable all ssl connections since openssl provides only connetions with
TLS1.2 or greater (Closes: #871427).
* Use the automatic debug symbol packages:
- Remove argyll-dbg section from debian/control.
@@ -51,7 +74,7 @@ argyll (1.8.3+repack-2) unstable; urgency=medium
* debian/control:
- Transition libpng: Change Build-Depends from libpng16-dev to libpng-dev
(Closes: #810178).
- - Transition libusb: Change Build-Depends from libusb-dev to
+ - Transition libusb: Change Build-Depends from libusb-dev to
libusb-1.0-0-dev (Closes: #810398).
- Set priority of argyll-ref to extra.
* Rename patches.
@@ -179,7 +202,7 @@ argyll (1.6.3-4) unstable; urgency=medium
argyll (1.6.3-3) unstable; urgency=medium
* debian/control:
- - Replace Architecture: any with linux-any to prevent KFreeBSD-* and
+ - Replace Architecture: any with linux-any to prevent KFreeBSD-* and
hurd-i386 from build during unusable usb system (Closes: #762773).
-- Jörg Frings-Fürst <debian@jff-webhosting.net> Sun, 05 Oct 2014 19:31:16 +0200
@@ -188,7 +211,7 @@ argyll (1.6.3-2) unstable; urgency=medium
* debian/control:
- Bump Standards-Version to 3.9.6 (no changes required).
- - Add Replaces: argyll (<< 1.6.3-1) and
+ - Add Replaces: argyll (<< 1.6.3-1) and
Breaks (<< 1.6.3-1) to argyll-ref (Closes: #762780).
- At argyll move argyll-doc from Depends to Suggests (Closes: #762850).
- Remove from Build-Depends libusbhid-dev [kfreebsd-any].
@@ -242,7 +265,7 @@ argyll (1.6.3-1) unstable; urgency=medium
Useless. Only linked to argyll & icc-utils.
+ libimdi0 & libimdi-dev
Useless. Only linked to argyll & icc-utils.
- - Move documentation to new package argyll-doc
+ - Move documentation to new package argyll-doc
and symlink into the other packages.
- Add Pre-Depends:
* dpkg (>= 1.17.5) for use of the dpkg-maintscript-helper.
diff --git a/debian/control b/debian/control
index 407baf4..87ca9c9 100644
--- a/debian/control
+++ b/debian/control
@@ -1,11 +1,10 @@
Source: argyll
Section: graphics
Priority: optional
-Maintainer: Jörg Frings-Fürst <debian@jff-webhosting.net>
-Standards-Version: 4.0.1
+Maintainer: Jörg Frings-Fürst <debian@jff.email>
+Standards-Version: 4.1.2.0
Build-Depends:
debhelper (>= 10),
- dpkg-dev (>= 1.17.0),
jam,
libjpeg-dev,
libpng-dev,
@@ -21,16 +20,14 @@ Build-Depends:
x11proto-scrnsaver-dev,
x11proto-xf86vidmode-dev,
zlib1g-dev
-Homepage: http://www.argyllcms.com/
+Homepage: https://www.argyllcms.com/
Vcs-Git: git://anonscm.debian.org/collab-maint/argyll.git
Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/argyll.git
Package: argyll
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}, argyll-ref
-Pre-Depends:
- dpkg (>= 1.17.5)
-Recommends: libpam-systemd [linux-any], udev (>= 196) [linux-any]
+Recommends: libpam-systemd [linux-any], udev [linux-any]
Suggests: argyll-doc, colord, gir1.2-colordgtk-1.0
Description: Color Management System, calibrator and profiler
Argyll is an experimental, open source, ICC compatible color management
@@ -48,12 +45,7 @@ Description: Color Management System, calibrator and profiler
Package: argyll-ref
Architecture: all
-Priority: extra
Depends: ${misc:Depends}
-Pre-Depends:
- dpkg (>= 1.17.5)
-Replaces: argyll (<< 1.6.3-1)
-Breaks: argyll (<< 1.6.3-1)
Description: Color Management System, calibrator and profiler (data files)
Argyll is an experimental, open source, ICC compatible color management
system. It supports accurate ICC profile creation for scanners, CMYK
@@ -64,10 +56,7 @@ Description: Color Management System, calibrator and profiler (data files)
Package: argyll-doc
Architecture: all
Section: doc
-Priority: extra
Depends: ${misc:Depends}
-Pre-Depends:
- dpkg (>= 1.17.5)
Description: Color Management System, calibrator and profiler (documentation)
Argyll is an experimental, open source, ICC compatible color management
system. It supports accurate ICC profile creation for scanners, CMYK
diff --git a/debian/copyright b/debian/copyright
index 3dd2dcb..d2c43af 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,7 +1,14 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: ArgyllCMS
Upstream-Contact: Graeme W. Gill <Graeme@argyllcms.com>
-Source: http://www.argyllcms.com/
+Source: https://www.argyllcms.com/
+Files-Excluded: yajl/yajl_test.exe
+ yajl/yajl_test.obj
+ usb/bin/*
+ jpeg/*
+ tiff/*
+ zlib/*
+ png/*
Files: *
Copyright: 1995-2016 Graeme W. Gill <Graeme@argyllcms.com>
@@ -147,7 +154,7 @@ License: public-domain
Files: debian/*
Copyright: 2006-2008 Christian Marillat <marillat@debian.org>
2008-2010 Roland Mas <lolando@debian.org>
- 2014-2017 Jörg Frings-Fürst <debian@jff-webhosting.net>
+ 2014-2017 Jörg Frings-Fürst <debian@jff.email>
License: GPL-3+
License: AGPL-3
diff --git a/debian/files b/debian/files
deleted file mode 100644
index f651ec4..0000000
--- a/debian/files
+++ /dev/null
@@ -1 +0,0 @@
-argyll_1.9.2+repack-2_source.buildinfo graphics optional
diff --git a/debian/patches/0001_jam.patch b/debian/patches/0001_jam.patch
index 69156bd..b0469f3 100644
--- a/debian/patches/0001_jam.patch
+++ b/debian/patches/0001_jam.patch
@@ -47,7 +47,7 @@ Index: trunk/Jamtop
# Tell standalone libraries that they are part of Argyll:
DEFINES += ARGYLLCMS ;
-@@ -139,17 +140,82 @@ rule CheckForLibrary {
+@@ -152,17 +153,82 @@ rule CheckForLibrary {
}
if ! $(BUILTIN_$(UCASE)) && $(UNIX) {
diff --git a/debian/patches/0100_spelling.patch b/debian/patches/0100_spelling.patch
index c65916b..9797224 100644
--- a/debian/patches/0100_spelling.patch
+++ b/debian/patches/0100_spelling.patch
@@ -7,7 +7,7 @@ Index: trunk/spectro/dispcal.c
===================================================================
--- trunk.orig/spectro/dispcal.c
+++ trunk/spectro/dispcal.c
-@@ -1942,7 +1942,7 @@ int main(int argc, char *argv[]) {
+@@ -1985,7 +1985,7 @@ int main(int argc, char *argv[]) {
/* Serial port flow control */
} else if (argv[fa][1] == 'W') {
fa = nfa;
@@ -16,7 +16,7 @@ Index: trunk/spectro/dispcal.c
if (na[0] == 'n' || na[0] == 'N')
fc = fc_None;
else if (na[0] == 'h' || na[0] == 'H')
-@@ -1965,13 +1965,13 @@ int main(int argc, char *argv[]) {
+@@ -2008,13 +2008,13 @@ int main(int argc, char *argv[]) {
/* Black point correction amount */
} else if (argv[fa][1] == 'k') {
fa = nfa;
@@ -32,7 +32,7 @@ Index: trunk/spectro/dispcal.c
x.nbrate = atof(na);
if (x.nbrate < 0.05 || x.nbrate > 20.0) usage(0,"-A parameter must be between 0.05 and 20.0");
/* Black brightness */
-@@ -2004,7 +2004,7 @@ int main(int argc, char *argv[]) {
+@@ -2047,7 +2047,7 @@ int main(int argc, char *argv[]) {
/* COM port */
} else if (argv[fa][1] == 'c') {
fa = nfa;
@@ -41,7 +41,7 @@ Index: trunk/spectro/dispcal.c
comport = atoi(na);
if (comport < 1 || comport > 50) usage(0,"-c parameter %d out of range",comport);
-@@ -3068,7 +3068,7 @@ int main(int argc, char *argv[]) {
+@@ -3111,7 +3111,7 @@ int main(int argc, char *argv[]) {
/* Black level adjustment */
/* Due to the possibility of the channel offsets not being even, */
/* we use the largest of the XYZ values after they have been */
@@ -54,7 +54,7 @@ Index: trunk/spectro/spotread.c
===================================================================
--- trunk.orig/spectro/spotread.c
+++ trunk/spectro/spotread.c
-@@ -497,7 +497,7 @@ int main(int argc, char *argv[]) {
+@@ -509,7 +509,7 @@ int main(int argc, char *argv[]) {
/* COM port */
} else if (argv[fa][1] == 'c') {
fa = nfa;
@@ -63,7 +63,7 @@ Index: trunk/spectro/spotread.c
{
comport = atoi(na);
if (comport < 1 || comport > 40) usage("-c parameter %d out of range",comport);
-@@ -506,7 +506,7 @@ int main(int argc, char *argv[]) {
+@@ -518,7 +518,7 @@ int main(int argc, char *argv[]) {
/* Display type */
} else if (argv[fa][1] == 'y') {
fa = nfa;
@@ -72,7 +72,7 @@ Index: trunk/spectro/spotread.c
dtype = na[0];
#ifndef SALONEINSTLIB
-@@ -514,7 +514,7 @@ int main(int argc, char *argv[]) {
+@@ -526,7 +526,7 @@ int main(int argc, char *argv[]) {
} else if (argv[fa][1] == 'I') {
fa = nfa;
@@ -81,7 +81,7 @@ Index: trunk/spectro/spotread.c
if (strcmp(na, "A") == 0
|| strcmp(na, "M0") == 0) {
tillum_set = spec = 1;
-@@ -562,7 +562,7 @@ int main(int argc, char *argv[]) {
+@@ -574,7 +574,7 @@ int main(int argc, char *argv[]) {
/* Spectral Illuminant type for XYZ computation */
} else if (argv[fa][1] == 'i') {
fa = nfa;
@@ -90,7 +90,7 @@ Index: trunk/spectro/spotread.c
if (strcmp(na, "A") == 0) {
illum_set = spec = 1;
illum = icxIT_A;
-@@ -611,7 +611,7 @@ int main(int argc, char *argv[]) {
+@@ -623,7 +623,7 @@ int main(int argc, char *argv[]) {
/* Spectral Observer type */
} else if (argv[fa][1] == 'Q') {
fa = nfa;
@@ -99,7 +99,7 @@ Index: trunk/spectro/spotread.c
if (strcmp(na, "1931_2") == 0) { /* Classic 2 degree */
obType = icxOT_CIE_1931_2;
} else if (strcmp(na, "1964_10") == 0) { /* Classic 10 degree */
-@@ -693,7 +693,7 @@ int main(int argc, char *argv[]) {
+@@ -712,7 +712,7 @@ int main(int argc, char *argv[]) {
/* Filter configuration */
} else if (argv[fa][1] == 'F') {
fa = nfa;
@@ -108,7 +108,7 @@ Index: trunk/spectro/spotread.c
if (na[0] == 'n' || na[0] == 'N')
fe = inst_opt_filter_none;
else if (na[0] == 'p' || na[0] == 'P')
-@@ -708,13 +708,13 @@ int main(int argc, char *argv[]) {
+@@ -727,13 +727,13 @@ int main(int argc, char *argv[]) {
/* Extra filter compensation file */
} else if (argv[fa][1] == 'E') {
fa = nfa;
@@ -124,7 +124,7 @@ Index: trunk/spectro/spotread.c
if (na[0] == 'N')
calstd = xcalstd_none;
else if (na[0] == 'A')
-@@ -724,7 +724,7 @@ int main(int argc, char *argv[]) {
+@@ -743,7 +743,7 @@ int main(int argc, char *argv[]) {
else if (na[0] == 'G')
calstd = xcalstd_gmdi;
else
@@ -133,7 +133,7 @@ Index: trunk/spectro/spotread.c
/* Show Yxy */
} else if (argv[fa][1] == 'x') {
-@@ -1432,7 +1432,7 @@ int main(int argc, char *argv[]) {
+@@ -1479,7 +1479,7 @@ int main(int argc, char *argv[]) {
/* Or something is wrong with instrument capabilities */
} else {
@@ -146,7 +146,7 @@ Index: trunk/spectro/colorhug.c
===================================================================
--- trunk.orig/spectro/colorhug.c
+++ trunk/spectro/colorhug.c
-@@ -212,7 +212,7 @@ colorhug_command(colorhug *p,
+@@ -213,7 +213,7 @@ colorhug_command(colorhug *p,
a1logd(p->log,8,"colorhug_command: Read %d bytes and %d read\n",xrbytes,rbytes);
if (rbytes >= 2) {
@@ -159,16 +159,7 @@ Index: trunk/spectro/dispwin.c
===================================================================
--- trunk.orig/spectro/dispwin.c
+++ trunk/spectro/dispwin.c
-@@ -2766,7 +2766,7 @@ int dispwin_install_profile(dispwin *p,
-
- /* Un-Install a display profile */
- /* Return nz if failed, */
--/* 1 if not sucessfully deleted */
-+/* 1 if not successfully deleted */
- /* 2 if profile not found */
- int dispwin_uninstall_profile(dispwin *p, char *fname, p_scope scope) {
- debugr2((errout,"dispwin_uninstall_profile '%s'\n", fname));
-@@ -5038,7 +5038,7 @@ int ddebug /* >0 to print debug sta
+@@ -5234,7 +5234,7 @@ int ddebug /* >0 to print debug sta
vinfo = XGetVisualInfo(p->mydisplay, VisualIDMask, &template, &nitems);
if (nitems < 1) {
@@ -177,20 +168,11 @@ Index: trunk/spectro/dispwin.c
dispwin_del(p);
return NULL;
}
-@@ -5630,7 +5630,7 @@ int ddebug /* >0 to print debug sta
- p->native = native &= ~2;
- }
-
-- debugr("new_dispwin: return sucessfully\n");
-+ debugr("new_dispwin: return successfully\n");
- return p;
- }
-
Index: trunk/spectro/dtp51.c
===================================================================
--- trunk.orig/spectro/dtp51.c
+++ trunk/spectro/dtp51.c
-@@ -680,7 +680,7 @@ dtp51_interp_error(inst *pp, int ec) {
+@@ -681,7 +681,7 @@ dtp51_interp_error(inst *pp, int ec) {
case DTP51_INVALID_STEP:
return "Invalid step";
case DTP51_NO_DATA_AVAILABLE:
@@ -203,7 +185,7 @@ Index: trunk/spectro/dtp92.c
===================================================================
--- trunk.orig/spectro/dtp92.c
+++ trunk/spectro/dtp92.c
-@@ -357,7 +357,7 @@ dtp92_init_coms(inst *pp, baud_rate br,
+@@ -358,7 +358,7 @@ dtp92_init_coms(inst *pp, baud_rate br,
if ((ev = dtp92_command(p, tbuf, buf, MAX_MES_SIZE, 6.0)) != inst_ok)
error("Writing offset drift value failed");
else
@@ -212,7 +194,7 @@ Index: trunk/spectro/dtp92.c
} else {
printf("No command written\n");
}
-@@ -371,7 +371,7 @@ dtp92_init_coms(inst *pp, baud_rate br,
+@@ -372,7 +372,7 @@ dtp92_init_coms(inst *pp, baud_rate br,
return inst_coms_fail;
}
@@ -221,7 +203,7 @@ Index: trunk/spectro/dtp92.c
p->gotcoms = 1;
return inst_ok;
-@@ -941,7 +941,7 @@ dtp92_interp_error(inst *pp, int ec) {
+@@ -942,7 +942,7 @@ dtp92_interp_error(inst *pp, int ec) {
case DTP92_NO_DATA_AVAILABLE:
return "No data available";
case DTP92_MISSING_PARAMETER:
@@ -234,7 +216,7 @@ Index: trunk/spectro/hidio.c
===================================================================
--- trunk.orig/spectro/hidio.c
+++ trunk/spectro/hidio.c
-@@ -739,7 +739,7 @@ icoms_hid_read(icoms *p,
+@@ -742,7 +742,7 @@ icoms_hid_read(icoms *p,
{
unsigned char *rbuf2;
@@ -247,7 +229,7 @@ Index: trunk/spectro/huey.c
===================================================================
--- trunk.orig/spectro/huey.c
+++ trunk/spectro/huey.c
-@@ -81,7 +81,7 @@ static int icoms2huey_err(int se, int to
+@@ -82,7 +82,7 @@ static int icoms2huey_err(int se, int to
/* i1Display command codes */
/* B = byte (8bit), S = short (16bit), W = word (32bit), A = string */
/* U = unused byte, - = no arguments/results */
@@ -260,7 +242,7 @@ Index: trunk/spectro/i1pro_imp.c
===================================================================
--- trunk.orig/spectro/i1pro_imp.c
+++ trunk/spectro/i1pro_imp.c
-@@ -2700,7 +2700,7 @@ int *pinstmsec) { /* Return instrument l
+@@ -2701,7 +2701,7 @@ int *pinstmsec) { /* Return instrument l
break;
}
@@ -269,7 +251,7 @@ Index: trunk/spectro/i1pro_imp.c
/* Compute overall delay */
dispmsec = (int)(samp[i].sec * 1000.0 + 0.5); /* Display update time */
-@@ -3153,7 +3153,7 @@ i1pro_code i1pro_imp_measure(
+@@ -3154,7 +3154,7 @@ i1pro_code i1pro_imp_measure(
}
}
@@ -278,7 +260,7 @@ Index: trunk/spectro/i1pro_imp.c
if (user_trig)
return I1PRO_USER_TRIG;
return ev;
-@@ -3815,7 +3815,7 @@ i1pro_code i1pro_imp_meas_refrate(
+@@ -3816,7 +3816,7 @@ i1pro_code i1pro_imp_meas_refrate(
}
}
} else {
@@ -287,7 +269,7 @@ Index: trunk/spectro/i1pro_imp.c
}
return I1PRO_RD_NOREFR_FOUND;
-@@ -3910,7 +3910,7 @@ i1pro_code i1pro_restore_refspot_cal(i1p
+@@ -3911,7 +3911,7 @@ i1pro_code i1pro_restore_refspot_cal(i1p
return I1PRO_OK;
}
@@ -296,7 +278,7 @@ Index: trunk/spectro/i1pro_imp.c
s->dark_valid = 1;
s->ddate = m->caldate;
-@@ -3955,7 +3955,7 @@ i1pro_code i1pro_restore_refspot_cal(i1p
+@@ -3956,7 +3956,7 @@ i1pro_code i1pro_restore_refspot_cal(i1p
return I1PRO_OK;
}
@@ -305,7 +287,7 @@ Index: trunk/spectro/i1pro_imp.c
s->cal_valid = 1;
s->cfdate = m->caldate;
-@@ -4310,7 +4310,7 @@ i1pro_code i1pro_save_calibration(i1pro
+@@ -4312,7 +4312,7 @@ i1pro_code i1pro_save_calibration(i1pro
write_doubles(&x, fp, s->idark_data[3]-1, m->nraw+1);
}
@@ -331,7 +313,7 @@ Index: trunk/spectro/ss.c
===================================================================
--- trunk.orig/spectro/ss.c
+++ trunk/spectro/ss.c
-@@ -374,7 +374,7 @@ ss_init_coms(inst *pp, baud_rate br, flo
+@@ -375,7 +375,7 @@ ss_init_coms(inst *pp, baud_rate br, flo
p->gotcoms = 1;
@@ -340,7 +322,7 @@ Index: trunk/spectro/ss.c
return inst_ok;
}
-@@ -1743,7 +1743,7 @@ ss_interp_error(inst *pp, int ec) {
+@@ -1744,7 +1744,7 @@ ss_interp_error(inst *pp, int ec) {
case ss_et_FilterOutOfPos:
return "Filter wheel out of position";
case ss_et_SendTimeout:
@@ -349,7 +331,7 @@ Index: trunk/spectro/ss.c
case ss_et_DriveError:
return "Data drive defect";
case ss_et_MeasDisabled:
-@@ -1863,7 +1863,7 @@ ss_interp_error(inst *pp, int ec) {
+@@ -1864,7 +1864,7 @@ ss_interp_error(inst *pp, int ec) {
case ss_et_BadHexEncoding:
return "Message received from instrument has bad Hex encoding";
case ss_et_RecBufferOverun:
@@ -362,7 +344,7 @@ Index: trunk/spectro/ss_imp.c
===================================================================
--- trunk.orig/spectro/ss_imp.c
+++ trunk/spectro/ss_imp.c
-@@ -216,7 +216,7 @@ static int h2b(ss *p, char c) {
+@@ -217,7 +217,7 @@ static int h2b(ss *p, char c) {
return 0;
}
@@ -454,7 +436,7 @@ Index: trunk/spectro/munki_imp.c
===================================================================
--- trunk.orig/spectro/munki_imp.c
+++ trunk/spectro/munki_imp.c
-@@ -1904,7 +1904,7 @@ int *pinstmsec) { /* Return instrumen
+@@ -1905,7 +1905,7 @@ int *pinstmsec) { /* Return instrumen
break;
}
@@ -463,7 +445,7 @@ Index: trunk/spectro/munki_imp.c
/* Compute overall delay and subtract patch change delay */
dispmsec = (int)(samp[i].sec * 1000.0 + 0.5);
-@@ -2385,7 +2385,7 @@ munki_code munki_imp_measure(
+@@ -2386,7 +2386,7 @@ munki_code munki_imp_measure(
if (nvals > 0)
vals[0].duration = duration; /* Possible flash duration */
@@ -472,7 +454,7 @@ Index: trunk/spectro/munki_imp.c
if (user_trig)
return MUNKI_USER_TRIG;
return ev;
-@@ -3046,7 +3046,7 @@ munki_code munki_imp_meas_refrate(
+@@ -3047,7 +3047,7 @@ munki_code munki_imp_meas_refrate(
}
}
} else {
@@ -481,7 +463,7 @@ Index: trunk/spectro/munki_imp.c
}
return MUNKI_RD_NOREFR_FOUND;
-@@ -3260,7 +3260,7 @@ munki_code munki_save_calibration(munki
+@@ -3262,7 +3262,7 @@ munki_code munki_save_calibration(munki
write_doubles(&x, fp, s->idark_data[3]-1, m->nraw+1);
}
@@ -490,7 +472,7 @@ Index: trunk/spectro/munki_imp.c
write_ints(&x, fp, (int *)&x.chsum, 1);
if (fclose(fp) != 0)
-@@ -6425,7 +6425,7 @@ munki_code munki_create_hr(munki *p, int
+@@ -6429,7 +6429,7 @@ munki_code munki_create_hr(munki *p, int
int i, j, jj, k, cx, sx;
munki_fc coeff[40][16]; /* Existing filter cooefficients */
int nwav1; /* Number of filters */
@@ -499,7 +481,7 @@ Index: trunk/spectro/munki_imp.c
double wl_step1;
munki_xp xp[41]; /* Crossover points each side of filter */
munki_code ev = MUNKI_OK;
-@@ -8733,7 +8733,7 @@ munki_readmeasurement(
+@@ -8737,7 +8737,7 @@ munki_readmeasurement(
top = extra + m->c_inttime * nmeas;
@@ -685,7 +667,7 @@ Index: trunk/link/collink.c
===================================================================
--- trunk.orig/link/collink.c
+++ trunk/link/collink.c
-@@ -1110,7 +1110,7 @@ void devip_devop(void *cntx, double *out
+@@ -1122,7 +1122,7 @@ void devip_devop(void *cntx, double *out
}
/* We've got the input profile PCS' at this point. */
@@ -694,7 +676,7 @@ Index: trunk/link/collink.c
/* output, copy it into locus[], which will be given to the inverse */
/* lookup function, else the inverse lookup will generate a K using */
/* the curve parameters. */
-@@ -1192,7 +1192,7 @@ void devip_devop(void *cntx, double *out
+@@ -1204,7 +1204,7 @@ void devip_devop(void *cntx, double *out
if (p->verb)
#endif
{
@@ -703,7 +685,7 @@ Index: trunk/link/collink.c
p->in.wp[0],p->in.wp[1],p->in.wp[2],pcsv[0], pcsv[1], pcsv[2],dd);
fflush(stdout);
}
-@@ -1242,7 +1242,7 @@ void devip_devop(void *cntx, double *out
+@@ -1254,7 +1254,7 @@ void devip_devop(void *cntx, double *out
if (p->nhack == 2) {
/* Ideally we would create a 4D PCSK -> PCSK gamut mapping */
/* to smoothly and accurately cope with the changing source */
@@ -712,7 +694,7 @@ Index: trunk/link/collink.c
/* In practice we're going to simply interpolated between */
/* two extremes: unrestricted gamut and K only black gamut. */
double map0[3], map1[3];
-@@ -4737,7 +4737,7 @@ main(int argc, char *argv[]) {
+@@ -4807,7 +4807,7 @@ main(int argc, char *argv[]) {
}
if (li.verb)
@@ -738,7 +720,7 @@ Index: trunk/spectro/dispsup.c
===================================================================
--- trunk.orig/spectro/dispsup.c
+++ trunk/spectro/dispsup.c
-@@ -719,7 +719,7 @@ static int disprd_read_imp(
+@@ -721,7 +721,7 @@ static int disprd_read_imp(
scb->serno = p->serno++;
scb->msec = msec_time();
@@ -747,7 +729,7 @@ Index: trunk/spectro/dispsup.c
val.XYZ[0], val.XYZ[1], val.XYZ[2]);
scb->mtype = val.mtype;
-@@ -1239,7 +1239,7 @@ int disprd_ambient(
+@@ -1241,7 +1241,7 @@ int disprd_ambient(
/* Or something is wrong with instrument capabilities */
} else {
@@ -756,7 +738,7 @@ Index: trunk/spectro/dispsup.c
return 2;
}
-@@ -2342,7 +2342,7 @@ static int config_inst_displ(disprd *p)
+@@ -2344,7 +2344,7 @@ static int config_inst_displ(disprd *p)
/* Reset key meanings */
inst_reset_uih();
@@ -782,7 +764,7 @@ Index: trunk/profile/profout.c
===================================================================
--- trunk.orig/profile/profout.c
+++ trunk/profile/profout.c
-@@ -1103,7 +1103,7 @@ make_output_icc(
+@@ -1104,7 +1104,7 @@ make_output_icc(
if (iccver < icmVersion2_4) {
iccver = icmVersion2_4; /* Need 2.4.0 for Display intents */
if (verb)
@@ -808,7 +790,7 @@ Index: trunk/xicc/xspect.c
===================================================================
--- trunk.orig/xicc/xspect.c
+++ trunk/xicc/xspect.c
-@@ -4530,7 +4530,7 @@ void xspect_plot10(xspect *sp, int n) {
+@@ -4454,7 +4454,7 @@ void xspect_plot10p(xspect *sp[10], int
/* Given an emission spectrum, set the UV output to the given level. */
/* The shape of the UV is taken from FWA1_stim, and the level is */
/* with respect to the Y of the input spectrum. */
@@ -821,7 +803,7 @@ Index: trunk/spectro/ccxxmake.c
===================================================================
--- trunk.orig/spectro/ccxxmake.c
+++ trunk/spectro/ccxxmake.c
-@@ -398,7 +398,7 @@ int main(int argc, char *argv[]) {
+@@ -399,7 +399,7 @@ int main(int argc, char *argv[]) {
/* COM port */
} else if (argv[fa][1] == 'c') {
fa = nfa;
@@ -830,7 +812,7 @@ Index: trunk/spectro/ccxxmake.c
comno = atoi(na);
if (comno < 1 || comno > 40) usage(0,"-c parameter %d out of range",comno);
-@@ -498,7 +498,7 @@ int main(int argc, char *argv[]) {
+@@ -508,7 +508,7 @@ int main(int argc, char *argv[]) {
/* Serial port flow control */
} else if (argv[fa][1] == 'W') {
fa = nfa;
@@ -839,7 +821,7 @@ Index: trunk/spectro/ccxxmake.c
if (na[0] == 'n' || na[0] == 'N')
fc = fc_None;
else if (na[0] == 'h' || na[0] == 'H')
-@@ -587,7 +587,7 @@ int main(int argc, char *argv[]) {
+@@ -597,7 +597,7 @@ int main(int argc, char *argv[]) {
strcat(outname, doccss ? ".ccss" : ".ccmx");
if (fakeseq && doccss)
@@ -848,7 +830,7 @@ Index: trunk/spectro/ccxxmake.c
printf("\n");
-@@ -803,7 +803,7 @@ int main(int argc, char *argv[]) {
+@@ -813,7 +813,7 @@ int main(int argc, char *argv[]) {
refs[i][2] = cols[i][2];
}
gotref = 1;
@@ -861,7 +843,7 @@ Index: trunk/spectro/dispread.c
===================================================================
--- trunk.orig/spectro/dispread.c
+++ trunk/spectro/dispread.c
-@@ -413,7 +413,7 @@ int main(int argc, char *argv[]) {
+@@ -414,7 +414,7 @@ int main(int argc, char *argv[]) {
/* COM port */
} else if (argv[fa][1] == 'c') {
fa = nfa;
@@ -981,7 +963,7 @@ Index: trunk/spectro/ex1.c
===================================================================
--- trunk.orig/spectro/ex1.c
+++ trunk/spectro/ex1.c
-@@ -188,7 +188,7 @@ ex1_init_coms(inst *pp, baud_rate br, fl
+@@ -189,7 +189,7 @@ ex1_init_coms(inst *pp, baud_rate br, fl
p->gotcoms = 1;
@@ -990,7 +972,7 @@ Index: trunk/spectro/ex1.c
return inst_ok;
}
-@@ -929,7 +929,7 @@ ex1_interp_native_error(ex1 *p, int ec)
+@@ -930,7 +930,7 @@ ex1_interp_native_error(ex1 *p, int ec)
case EX1_FLASH_MAP:
return "Flash map is incompatible with firmware";
case EX1_DEFERRED:
@@ -999,7 +981,7 @@ Index: trunk/spectro/ex1.c
default:
return NULL;
}
-@@ -1279,7 +1279,7 @@ static int ex1_save_calibration(ex1 *p)
+@@ -1280,7 +1280,7 @@ static int ex1_save_calibration(ex1 *p)
calf_wrspec(&x, p->sconf.idark[0]);
calf_wrspec(&x, p->sconf.idark[1]);
@@ -1008,7 +990,7 @@ Index: trunk/spectro/ex1.c
calf_wints(&x, (int *)(&x.chsum), 1);
if (calf_done(&x))
-@@ -1466,7 +1466,7 @@ static void dump_command(ex1 *p, ORD8 *b
+@@ -1467,7 +1467,7 @@ static void dump_command(ex1 *p, ORD8 *b
if (flags & EX1_FLAG_NACK)
a1logd(p->log, 0, " Negative acknowldgement response\n");
if (flags & EX1_FLAG_EXPTN)
@@ -1017,7 +999,7 @@ Index: trunk/spectro/ex1.c
if (flags & EX1_FLAG_PVDEP)
a1logd(p->log, 0, " Protocol version is deprecated request\n");
-@@ -1752,7 +1752,7 @@ int nd /* nz to disable debug message
+@@ -1753,7 +1753,7 @@ int nd /* nz to disable debug message
}
if (p->log->debug >= 8) {
@@ -1098,7 +1080,7 @@ Index: trunk/spectro/xdg_bds.c
===================================================================
--- trunk.orig/spectro/xdg_bds.c
+++ trunk/spectro/xdg_bds.c
-@@ -873,7 +873,7 @@ char *xdg_errstr(xdg_error er) {
+@@ -879,7 +879,7 @@ char *xdg_errstr(xdg_error er) {
case xdg_nohome:
return "There is no $HOME";
case xdg_noalluserprofile:
@@ -1111,7 +1093,7 @@ Index: trunk/icc/icc.c
===================================================================
--- trunk.orig/icc/icc.c
+++ trunk/icc/icc.c
-@@ -1472,7 +1472,7 @@ static const char *string_TagSignature(i
+@@ -1481,7 +1481,7 @@ static const char *string_TagSignature(i
case icSigViewingCondDescTag:
return "Viewing Condition Description";
case icSigViewingConditionsTag:
@@ -1120,7 +1102,7 @@ Index: trunk/icc/icc.c
/* ArgyllCMS private tag: */
case icmSigAbsToRelTransSpace:
-@@ -5773,7 +5773,7 @@ int icmSetMultiLutTables(
+@@ -5785,7 +5785,7 @@ int icmSetMultiLutTables(
return icp->errc = 1;
}
if (pp[tn]->ttype != p->ttype) {
@@ -1232,7 +1214,7 @@ Index: trunk/rspl/rev.c
===================================================================
--- trunk.orig/rspl/rev.c
+++ trunk/rspl/rev.c
-@@ -5868,7 +5868,7 @@ int sdi /* Sub-simplex dimensionali
+@@ -5872,7 +5872,7 @@ int sdi /* Sub-simplex dimensionali
x->face = 0;
#ifdef DEBUG
@@ -1241,7 +1223,7 @@ Index: trunk/rspl/rev.c
for (i = 0; i <= sdi; i++)
printf("%d ",vcmb[i]);
printf("\n");
-@@ -9733,7 +9733,7 @@ rspl *s
+@@ -10344,7 +10344,7 @@ rspl *s
vc.nilist = 0;
xlist = NULL;
@@ -1250,7 +1232,7 @@ Index: trunk/rspl/rev.c
/* The thinning may have deleted verticies from bxcell's that */
/* were not involved in the thinning, so go though all bxcells */
-@@ -9873,7 +9873,7 @@ rspl *s
+@@ -10484,7 +10484,7 @@ rspl *s
//printf("~1 deleting vtx %d\n",vx->ix);
del_vtxrec_hash(&vc, vx->ix);
if (get_vtxrec(&vc, vx->ix) != NULL)
@@ -1259,7 +1241,7 @@ Index: trunk/rspl/rev.c
}
#else /* !DELETE_SHAD */
/* Keep track of deleted verticies that are in this bx, */
-@@ -10554,7 +10554,7 @@ rspl *s
+@@ -11165,7 +11165,7 @@ rspl *s
}
}
printf("%d crossed triangles tested\n",notverts);
@@ -1272,7 +1254,7 @@ Index: trunk/spectro/munki.c
===================================================================
--- trunk.orig/spectro/munki.c
+++ trunk/spectro/munki.c
-@@ -113,7 +113,7 @@ munki_init_coms(inst *pp, baud_rate br,
+@@ -114,7 +114,7 @@ munki_init_coms(inst *pp, baud_rate br,
return munki_interp_code(p, icoms2munki_err(se));
}
@@ -1281,7 +1263,7 @@ Index: trunk/spectro/munki.c
p->gotcoms = 1;
return inst_ok;
-@@ -525,7 +525,7 @@ munki_interp_error(inst *pp, munki_code
+@@ -526,7 +526,7 @@ munki_interp_error(inst *pp, munki_code
case MUNKI_INT_CREATE_EEPROM_STORE:
return "Error in creating EEProm store";
case MUNKI_INT_NEW_RSPL_FAILED:
@@ -1294,7 +1276,7 @@ Index: trunk/spectro/i1pro.c
===================================================================
--- trunk.orig/spectro/i1pro.c
+++ trunk/spectro/i1pro.c
-@@ -119,7 +119,7 @@ i1pro_init_coms(inst *pp, baud_rate br,
+@@ -120,7 +120,7 @@ i1pro_init_coms(inst *pp, baud_rate br,
return i1pro_interp_code(p, icoms2i1pro_err(se));
}
@@ -1303,7 +1285,7 @@ Index: trunk/spectro/i1pro.c
p->gotcoms = 1;
return inst_ok;
-@@ -508,7 +508,7 @@ i1pro_interp_error(inst *pp, i1pro_code
+@@ -509,7 +509,7 @@ i1pro_interp_error(inst *pp, i1pro_code
case I1PRO_INT_EEPROM_DATA_MISSING:
return "EEProm data is missing";
case I1PRO_INT_NEW_RSPL_FAILED:
@@ -1329,7 +1311,7 @@ Index: trunk/plot/vrml.c
===================================================================
--- trunk.orig/plot/vrml.c
+++ trunk/plot/vrml.c
-@@ -642,7 +642,7 @@ double cc[3] /* Surface color, cc == NUL
+@@ -646,7 +646,7 @@ double cc[3] /* Surface color, cc == NUL
fprintf(s->fp," ]\n");
fprintf(s->fp," }\n");
fprintf(s->fp,"\n");
@@ -1421,7 +1403,7 @@ Index: trunk/spectro/smcube.c
===================================================================
--- trunk.orig/spectro/smcube.c
+++ trunk/spectro/smcube.c
-@@ -292,7 +292,7 @@ smcube_init_coms(inst *pp, baud_rate br,
+@@ -293,7 +293,7 @@ smcube_init_coms(inst *pp, baud_rate br,
}
amutex_unlock(p->lock);
}
@@ -1430,7 +1412,7 @@ Index: trunk/spectro/smcube.c
p->gotcoms = 1;
-@@ -1247,7 +1247,7 @@ smcube_get_idle_time(smcube *p, int *pit
+@@ -1248,7 +1248,7 @@ smcube_get_idle_time(smcube *p, int *pit
itime = read_ORD16_be(buf + 4);
if (!nd)
@@ -1439,7 +1421,7 @@ Index: trunk/spectro/smcube.c
if (pitime != NULL)
*pitime = itime;
-@@ -1292,11 +1292,11 @@ smcube_fact_measure(smcube *p, double *X
+@@ -1293,11 +1293,11 @@ smcube_fact_measure(smcube *p, double *X
XYZ[0] = IEEE754todouble(read_ORD32_be(buf + 4));
XYZ[1] = IEEE754todouble(read_ORD32_be(buf + 8));
XYZ[2] = IEEE754todouble(read_ORD32_be(buf + 12));
@@ -1453,7 +1435,7 @@ Index: trunk/spectro/smcube.c
return inst_ok;
}
-@@ -1338,7 +1338,7 @@ smcube_poll_measure(smcube *p, double to
+@@ -1339,7 +1339,7 @@ smcube_poll_measure(smcube *p, double to
p->XYZ[0] = IEEE754todouble(read_ORD32_be(buf + 4));
p->XYZ[1] = IEEE754todouble(read_ORD32_be(buf + 8));
p->XYZ[2] = IEEE754todouble(read_ORD32_be(buf + 12));
@@ -1462,7 +1444,7 @@ Index: trunk/spectro/smcube.c
icmLab2XYZ(&icmD50_100, p->XYZ, p->XYZ);
-@@ -2065,7 +2065,7 @@ int static smcube_save_calibration(smcub
+@@ -2066,7 +2066,7 @@ int static smcube_save_calibration(smcub
calf_wtime_ts(&x, &p->gdate, 1);
calf_wdoubles(&x, p->goff, 3);
@@ -1475,7 +1457,7 @@ Index: trunk/spectro/kleink10.c
===================================================================
--- trunk.orig/spectro/kleink10.c
+++ trunk/spectro/kleink10.c
-@@ -728,7 +728,7 @@ int ix /* Klein calibration index 1
+@@ -729,7 +729,7 @@ int ix /* Klein calibration index 1
if (buf[0] != 'D' || buf[1] != '1') {
amutex_unlock(p->lock);
@@ -1484,7 +1466,7 @@ Index: trunk/spectro/kleink10.c
return inst_protocol_error;
}
-@@ -2067,7 +2067,7 @@ int *pinstmsec) { /* Return instrument r
+@@ -2068,7 +2068,7 @@ int *pinstmsec) { /* Return instrument r
break;
}
@@ -1497,7 +1479,7 @@ Index: trunk/spectro/i1d3.c
===================================================================
--- trunk.orig/spectro/i1d3.c
+++ trunk/spectro/i1d3.c
-@@ -2503,7 +2503,7 @@ i1d3_init_coms(inst *pp, baud_rate br, f
+@@ -2522,7 +2522,7 @@ i1d3_init_coms(inst *pp, baud_rate br, f
a1logd(p->log, 1, "i1d3_init_coms: failed with rv = 0x%x\n",ev);
return ev;
}
@@ -1506,7 +1488,7 @@ Index: trunk/spectro/i1d3.c
p->gotcoms = 1;
return inst_ok;
-@@ -3179,7 +3179,7 @@ int *pinstmsec) { /* Return instrumen
+@@ -3198,7 +3198,7 @@ int *pinstmsec) { /* Return instrumen
break;
}
@@ -1519,7 +1501,7 @@ Index: trunk/spectro/i1disp.c
===================================================================
--- trunk.orig/spectro/i1disp.c
+++ trunk/spectro/i1disp.c
-@@ -1359,7 +1359,7 @@ i1disp_read_refrate(
+@@ -1360,7 +1360,7 @@ i1disp_read_refrate(
*ref_rate = rrate;
return inst_ok;
} else {
@@ -1532,7 +1514,7 @@ Index: trunk/ccast/ccmdns.c
===================================================================
--- trunk.orig/ccast/ccmdns.c
+++ trunk/ccast/ccmdns.c
-@@ -458,7 +458,7 @@ static int init_receive_mDNS(SOCKET *pso
+@@ -352,7 +352,7 @@ static int init_socket_mDNS(SOCKET *psoc
DWORD tv;
tv = 100;
if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
@@ -1541,7 +1523,7 @@ Index: trunk/ccast/ccmdns.c
closesocket(sock);
return 1;
}
-@@ -469,7 +469,7 @@ static int init_receive_mDNS(SOCKET *pso
+@@ -363,7 +363,7 @@ static int init_socket_mDNS(SOCKET *psoc
tv.tv_sec = 0;
tv.tv_usec = 100 * 1000;
if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv)) < 0) {
@@ -1554,7 +1536,7 @@ Index: trunk/spectro/spyd2.c
===================================================================
--- trunk.orig/spectro/spyd2.c
+++ trunk/spectro/spyd2.c
-@@ -2915,7 +2915,7 @@ spyd2_init_coms(inst *pp, baud_rate br,
+@@ -2916,7 +2916,7 @@ spyd2_init_coms(inst *pp, baud_rate br,
return spyd2_interp_code((inst *)p, icoms2spyd2_err(se));
}
@@ -1563,7 +1545,7 @@ Index: trunk/spectro/spyd2.c
p->gotcoms = 1;
return inst_ok;
-@@ -3372,9 +3372,9 @@ spyd2_interp_error(inst *pp, int ec) {
+@@ -3373,9 +3373,9 @@ spyd2_interp_error(inst *pp, int ec) {
case SPYD2_BADREADSIZE:
return "Didn't read expected amount of data";
case SPYD2_TRIGTIMEOUT:
@@ -1579,16 +1561,16 @@ Index: trunk/spectro/specbos.c
===================================================================
--- trunk.orig/spectro/specbos.c
+++ trunk/spectro/specbos.c
-@@ -340,7 +340,7 @@ specbos_init_coms(inst *pp, baud_rate br
+@@ -351,7 +351,7 @@ specbos_init_coms(inst *pp, baud_rate br
a1logd(p->log, 2, "specbos_init_coms: unrecognised model %04d\n",p->model);
return inst_unknown_model;
}
- a1logd(p->log, 2, "specbos_init_coms: init coms has suceeded\n");
+ a1logd(p->log, 2, "specbos_init_coms: init coms has succeeded\n");
- p->gotcoms = 1;
-
-@@ -1559,7 +1559,7 @@ char id[CALIDLEN] /* Condition identifi
+ /* See if it's a 1501 or 1511 */
+ if (p->model == 1501) {
+@@ -1669,7 +1669,7 @@ char id[CALIDLEN] /* Condition identifi
if ((ev = specbos_get_n_a_cals((inst *)p, &needed, &available)) != inst_ok)
return ev;
@@ -1601,7 +1583,7 @@ Index: trunk/plot/plot.c
===================================================================
--- trunk.orig/plot/plot.c
+++ trunk/plot/plot.c
-@@ -2434,7 +2434,7 @@ static void dprintf(char *fmt, ...) {
+@@ -2459,7 +2459,7 @@ static void dprintf(char *fmt, ...) {
printf("~1 found NtQueryInformationProcess\n"); fflush(stdout);
if(NtQueryInformationProcess(GetCurrentProcess(), 0,
&pbi, sizeof(pbi), &ulSize) >= 0 && ulSize == sizeof(pbi)) {
@@ -1614,7 +1596,7 @@ Index: trunk/spectro/dtp22.c
===================================================================
--- trunk.orig/spectro/dtp22.c
+++ trunk/spectro/dtp22.c
-@@ -277,7 +277,7 @@ dtp22_init_coms(inst *pp, baud_rate br,
+@@ -276,7 +276,7 @@ dtp22_init_coms(inst *pp, baud_rate br,
return inst_coms_fail;
}
@@ -1627,7 +1609,7 @@ Index: trunk/spectro/dtp41.c
===================================================================
--- trunk.orig/spectro/dtp41.c
+++ trunk/spectro/dtp41.c
-@@ -255,7 +255,7 @@ dtp41_init_coms(inst *pp, baud_rate br,
+@@ -256,7 +256,7 @@ dtp41_init_coms(inst *pp, baud_rate br,
return inst_coms_fail;
}
@@ -1653,7 +1635,7 @@ Index: trunk/spectro/rspec.c
===================================================================
--- trunk.orig/spectro/rspec.c
+++ trunk/spectro/rspec.c
-@@ -955,7 +955,7 @@ int calf_open(calf *x, a1log *log, char
+@@ -957,7 +957,7 @@ int calf_open(calf *x, a1log *log, char
}
xdg_free(cal_paths, no_paths);
@@ -1666,7 +1648,7 @@ Index: trunk/spectro/chartread.c
===================================================================
--- trunk.orig/spectro/chartread.c
+++ trunk/spectro/chartread.c
-@@ -1172,7 +1172,7 @@ printf("~1 using emis mode\n");
+@@ -1171,7 +1171,7 @@ a1log *log /* verb, debug & error log
/* Or something is wrong with instrument capabilities */
} else {
@@ -1675,7 +1657,7 @@ Index: trunk/spectro/chartread.c
it->del(it);
return -1;
}
-@@ -1685,7 +1685,7 @@ printf("~1 using emis mode\n");
+@@ -1684,7 +1684,7 @@ a1log *log /* verb, debug & error log
/* Or something is wrong with instrument capabilities */
} else {
@@ -1710,3 +1692,29 @@ Index: trunk/profile/mppprof.c
}
/* create and write the cgats profile */
+Index: trunk/spectro/i1pro_imp.h
+===================================================================
+--- trunk.orig/spectro/i1pro_imp.h
++++ trunk/spectro/i1pro_imp.h
+@@ -437,7 +437,7 @@ void del_i1proimp(i1pro *p);
+ #define I1PRO_INT_SAVE_SUBT_MODE 0x65 /* Can't save calibration if in subt mode */
+ #define I1PRO_INT_NO_CAL_TO_SAVE 0x66 /* No calibration data to save */
+ #define I1PRO_INT_EEPROM_DATA_MISSING 0x67 /* EEProm data is missing */
+-#define I1PRO_INT_NEW_RSPL_FAILED 0x68 /* Creating RSPL object faild */
++#define I1PRO_INT_NEW_RSPL_FAILED 0x68 /* Creating RSPL object failed */
+ #define I1PRO_INT_CAL_SAVE 0x69 /* Unable to save calibration to file */
+ #define I1PRO_INT_CAL_RESTORE 0x6A /* Unable to restore calibration from file */
+ #define I1PRO_INT_CAL_TOUCH 0x6B /* Unable to touch calibration file */
+Index: trunk/spectro/munki_imp.h
+===================================================================
+--- trunk.orig/spectro/munki_imp.h
++++ trunk/spectro/munki_imp.h
+@@ -386,7 +386,7 @@ void del_munkiimp(munki *p);
+ #define MUNKI_INT_CIECONVFAIL 0x61 /* Creating spectral to CIE converted failed */
+ #define MUNKI_INT_MALLOC 0x62 /* Error in mallocing memory */
+ #define MUNKI_INT_CREATE_EEPROM_STORE 0x63 /* Error in creating EEProm store */
+-#define MUNKI_INT_NEW_RSPL_FAILED 0x64 /* Creating RSPL object faild */
++#define MUNKI_INT_NEW_RSPL_FAILED 0x64 /* Creating RSPL object failed */
+ #define MUNKI_INT_CAL_SAVE 0x65 /* Unable to save calibration to file */
+ #define MUNKI_INT_CAL_RESTORE 0x66 /* Unable to restore calibration from file */
+ #define MUNKI_INT_CAL_TOUCH 0x67 /* Unable to touch calibration file */
diff --git a/debian/patches/0105_dispwin_segfault.patch b/debian/patches/0105_dispwin_segfault.patch
index 8134301..3ead582 100644
--- a/debian/patches/0105_dispwin_segfault.patch
+++ b/debian/patches/0105_dispwin_segfault.patch
@@ -10,7 +10,7 @@ Index: trunk/spectro/dispwin.c
===================================================================
--- trunk.orig/spectro/dispwin.c
+++ trunk/spectro/dispwin.c
-@@ -6055,6 +6055,7 @@ main(int argc, char *argv[]) {
+@@ -6277,6 +6277,7 @@ main(int argc, char *argv[]) {
/* Display number */
else if (argv[fa][1] == 'd') {
diff --git a/debian/patches/0115_hurd_PATH_MAX.patch b/debian/patches/0115_hurd_PATH_MAX.patch
index 3775edc..86f338d 100644
--- a/debian/patches/0115_hurd_PATH_MAX.patch
+++ b/debian/patches/0115_hurd_PATH_MAX.patch
@@ -38,7 +38,7 @@ Index: trunk/spectro/usbio_lx.c
===================================================================
--- trunk.orig/spectro/usbio_lx.c
+++ trunk/spectro/usbio_lx.c
-@@ -33,6 +33,10 @@
+@@ -34,6 +34,10 @@
#define poll_x poll
#endif
@@ -68,7 +68,7 @@ Index: trunk/spectro/hidio.c
===================================================================
--- trunk.orig/spectro/hidio.c
+++ trunk/spectro/hidio.c
-@@ -100,6 +100,10 @@
+@@ -101,6 +101,10 @@
#endif
#endif
diff --git a/debian/patches/0130_openssl.patch b/debian/patches/0130_openssl.patch
index b938ddc..5e000ee 100644
--- a/debian/patches/0130_openssl.patch
+++ b/debian/patches/0130_openssl.patch
@@ -13,7 +13,7 @@ Index: trunk/ccast/ccpacket.c
#else
// Want to use TLS_client_method(), but older OpenSSL doesn't have it...
- if ((p->ctx = SSL_CTX_new(TLSv1_client_method())) == NULL)
-+ if ((p->ctx = SSL_CTX_new(SSLv23_client_method())) == NULL)
++ if ((p->ctx = SSL_CTX_new(TLS_client_method())) == NULL)
#endif
{
DBG((g_log,0, "connect ssl_ctx_new failed\n"))
diff --git a/debian/rules b/debian/rules
index fe01084..b2ea050 100755
--- a/debian/rules
+++ b/debian/rules
@@ -19,6 +19,8 @@ CRDATE=$(shell LC_ALL=C date --utc --date='@$(SOURCE_DATE_EPOCH)' "+%a %b %d %T
dh $@
override_dh_auto_build:
+ find $(CURDIR) -name "*" | xargs chmod -R -x+X
+ chmod a+x $(CURDIR)/debian/rules
jam $(JAMCMDLINE) all
override_dh_auto_install:
diff --git a/debian/watch b/debian/watch
index 00b6fcc..8592949 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,5 +1,5 @@
version=4
#opts="dversionmangle=s/\+repack\d+$//" http://www.argyllcms.com/downloadsrc.html Argyll_V(.*)_src\.zip
-opts=dversionmangle=s/\+repack(.*)// \
-http://www.argyllcms.com/downloadsrc.html Argyll_V(.*)_src\.zip debian debian/repack.sh
+opts=dversionmangle=s/\+repack(.*)//,repacksuffix=+repack,compression=xz \
+https://www.argyllcms.com/downloadsrc.html Argyll_V(.*)_src\.zip
diff --git a/doc/3dformat.html b/doc/3dformat.html
index da256c5..da256c5 100644..100755
--- a/doc/3dformat.html
+++ b/doc/3dformat.html
diff --git a/doc/ArgyllCMS_arts_tag.html b/doc/ArgyllCMS_arts_tag.html
index 8b9c445..8b9c445 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 8c6f353..8463fcf 100644
--- a/doc/ArgyllDoc.html
+++ b/doc/ArgyllDoc.html
@@ -10,9 +10,9 @@
<title>Argyll Documentation Top</title>
</head>
<body>
- <h1> ArgyllCMS documentation index (V1.9.2)<br>
+ <h1> ArgyllCMS documentation index (V2.0.0)<br>
</h1>
- Date:&nbsp;&nbsp; 17th October 2016<br>
+ Date:&nbsp;&nbsp; 17th November 2017<br>
Author: Graeme Gill
<h2><u><a name="Intro"></a>Introduction</u></h2>
ArgyllCMS is an ICC compatible color management system, available as
@@ -35,15 +35,26 @@
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.9.2, a bug fix update to the last
- releaseV1.9.1. The first public release of icclib was in November
- 1998, and of ArgyllCMS was in October 2000. Code development
- commenced in 1995. See <a href="ChangesSummary.html">Changes
+ <p>This is Version 2.0.0, a feature and bug fix update to the last
+ major releaseV1.9.2. The first public release of icclib was in
+ November 1998, and of ArgyllCMS was in October 2000. Code
+ development commenced in 1995. See <a href="ChangesSummary.html">Changes
+
+
+
+
+
+
+
+
+
+
+
Summary</a> for an overview of changes since the last release.
Changes between revisions is detailed in the <b>log.txt</b> file
that accompanies the source code. </p>
<p>The latest source code is available from <a
- href="http://www.argyllcms.com/">here</a>.<br>
+ href="http://www.argyllcms.com/#Downloads">here</a>.<br>
</p>
<p><font color="#cc0000"><span style="font-weight: bold;">Please
note that instruments are being driven by ArgyllCMS drivers,
@@ -134,6 +145,14 @@
+
+
+
+
+
+
+
+
discussion</a> of what color management is, and why we need it,
together with a brief overview of the ICC profile format.<br>
@@ -256,6 +275,14 @@
+
+
+
+
+
+
+
+
- Tele-Spectro-Radiometer<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#spectraval">spectraval
@@ -271,6 +298,14 @@
+
+
+
+
+
+
+
+
&nbsp;&nbsp; - Tele-Spectro-Radiometer<br>
<br>
@@ -356,6 +391,14 @@
+
+
+
+
+
+
+
+
- Tele-Spectro-Radiometer<br>
<br>
@@ -418,6 +461,14 @@
+
+
+
+
+
+
+
+
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
@@ -548,6 +599,14 @@
+
+
+
+
+
+
+
+
- "swipe" type reflective spectrometer, that can be used untethered.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP22">DTP22 Digital
@@ -672,6 +731,14 @@
+
+
+
+
+
+
+
+
- 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;
@@ -795,6 +862,14 @@
+
+
+
+
+
+
+
+
- spot and strip reading reflective spectrometer.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP41">DTP41T</a>
@@ -920,6 +995,14 @@
+
+
+
+
+
+
+
+
- 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;
@@ -1043,6 +1126,14 @@
+
+
+
+
+
+
+
+
- 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;
@@ -1166,6 +1257,14 @@
+
+
+
+
+
+
+
+
- CRT display colorimeter.<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP94">DTP94</a> <font
@@ -1175,6 +1274,18 @@
style="text-decoration: underline;">ColorMunki</span></a> Design
or Photo&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -
spot and "swipe" reflective/emissive spectrometer (UV cut only).<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;&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;
+
+
+
+ The <b>i1Studio</b> version of this instrument is also reported to
+ work.<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;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [ The
+ OEM&nbsp; XEROX PhaserMeter is also reported to work. ] <br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d"><span
style="text-decoration: underline;">ColorMunki</span></a> Create
or Smile&nbsp;&nbsp;
@@ -1350,6 +1461,14 @@
+
+
+
+
+
+
+
+
- display colorimeter. (Treated as a Eye-One Display 2)<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d">CalMAN X2</a>
@@ -1474,6 +1593,14 @@
+
+
+
+
+
+
+
+
- display colorimeter. (Treated as a Eye-One Display 2)<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#Huey">Huey</a> &nbsp;
@@ -1607,6 +1734,14 @@
+
+
+
+
+
+
+
+
[The Sequel Chroma 4 &amp; 5, and Sencore ColorPro V, IV &amp; III
also work.]<br>
@@ -1733,6 +1868,14 @@
+
+
+
+
+
+
+
+
- see <a href="instruments.html#i1d">Eye-One Display</a><br>
<br>
@@ -1863,6 +2006,14 @@
+
+
+
+
+
+
+
+
[The Spyder 1 has also been reported as working, but this has not
been confirmed.]<br>
@@ -2006,6 +2157,14 @@
+
+
+
+
+
+
+
+
- display colorimeter</span><br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#ColorHug">ColorHug</a>
@@ -2021,6 +2180,14 @@
+
+
+
+
+
+
+
+
- display colorimeter<br>
&nbsp;&nbsp;&nbsp; <a href="instruments.html#SMCube">Palette/SwatchMate
@@ -2053,6 +2220,14 @@
+
+
+
+
+
+
+
+
Cube</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2065,6 +2240,14 @@
+
+
+
+
+
+
+
+
- reflective colorimeter<br>
<span style="font-weight: bold;"></span><span class="titre"><br>
@@ -2090,9 +2273,13 @@
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> </p>
- <p>There is a <a href="ccmxs.html">list of contributed</a> <span
+ <p>There is a <a href="ccsss.html">list of contributed</a> <span
+ style="font-weight: bold;">ccss</span> (Colorimeter Correction
+ Spectral Sample) files for some displays.<br>
+ There is a <a href="ccmxs.html">list of contributed</a> <span
style="font-weight: bold;">ccmx</span> (Colorimeter Correction
- Matrix) files for some display/colorimeter combinations.</p>
+ Matrix) files for some display/colorimeter combinations.<br>
+ </p>
<h2><span style="text-decoration: underline; color: rgb(51, 0, 51);"><a
name="Copyright"></a>Copyright, Licensing &amp; Trade Mark:</span><br>
</h2>
@@ -2154,6 +2341,14 @@
+
+
+
+
+
+
+
+
GNU</span> license <span style="font-weight: bold;">prohibits</span>
extending these tools<span style="font-weight: bold;"></span>
@@ -2331,6 +2526,14 @@
+
+
+
+
+
+
+
+
the jcnf library in <span style="font-weight: bold;">jcnf</span>/,
@@ -2452,6 +2655,14 @@
+
+
+
+
+
+
+
+
the files <span style="font-weight: bold;">spectro/xdg_bds.*</span>,
<span style="font-weight: bold;">spectro/aglob.*</span> and the
@@ -2491,8 +2702,9 @@
<p>The axTLS library is Copyright (c) 2008, Cameron Rich, and the
license is detailed in ccast/axTLS/LICENSE file (an "MIT"/"BSD"
like permissive free software license).<br>
- It is not used for any security sensitive purpose, but is used
- purely to communicate with the ChromeCast.<br>
+ It has been modified to permit multiple threads to use it, but is
+ not used for any security sensitive purpose, but is used purely to
+ enable communication with the ChromeCast in a portable fashion.<br>
</p>
<p>The <a href="http://www.x3dom.org/">X3DOM</a> x3dom.css and
x3dom.js files are Copyright (C) 2009 X3DOM and licensed dual
@@ -2501,8 +2713,8 @@
</p>
<p>"<b>ArgyllCMS</b>" is a trade mark. It is permissible to refer to
copies or derivatives of this software as being the same as
- ArgyllCMS if they are materially&nbsp; unchanged, and retain all
- the functionality provided by the software made available at
+ ArgyllCMS if they are materially unchanged, and retain all the
+ functionality provided by the software made available at
www.argyllcms.com. Modified versions of this software that are
materially changed or have missing functionality must be clearly
marked as such, so as not to to be confused with ArgyllCMS.<br>
@@ -2667,6 +2879,14 @@ calibration
+
+
+
+
+
+
+
+
and profiling is <a href="http://displaycal.net/">DisplayCAL</a> by
Florian Hch. For print profiling, you might like to take a look at
@@ -2691,10 +2911,18 @@ calibration
+
+
+
+
+
+
+
+
Little Argyll GUI</a> by Russell Cottrell, and for cameras or
- scanners, <a href="http://www.muscallidus.com/coca/">CoCa</a> by
- Andrew Stawowczyk Long.<br>
+ scanners, <a href="http://www.dohm.com.au/coca/">CoCa</a> by Andrew
+ Stawowczyk Long.<br>
<br>
Others can be found with a suitable <a
href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;aq=f&amp;aqi=g1&amp;aql=&amp;oq=">search</a>.<br>
@@ -2825,6 +3053,14 @@ 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>
@@ -2963,6 +3199,14 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
+
+
+
+
Verbose mode<br>
&nbsp;&nbsp; -d
@@ -3087,6 +3331,14 @@ 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
@@ -3211,6 +3463,14 @@ 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
@@ -3338,6 +3598,14 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
+
+
+
+
Manual<br>
&nbsp;&nbsp; infile
@@ -3462,6 +3730,14 @@ href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;a
+
+
+
+
+
+
+
+
Input file<br>
&nbsp;&nbsp; outfile
@@ -3737,6 +4013,14 @@ 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;">
@@ -3862,6 +4146,14 @@ 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;">
@@ -3987,6 +4279,14 @@ 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>
@@ -4114,6 +4414,14 @@ 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:
@@ -4240,6 +4548,14 @@ 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;">
@@ -4365,6 +4681,14 @@ 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;">
@@ -4490,6 +4814,14 @@ 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>
@@ -4620,6 +4952,14 @@ 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;"
@@ -4749,6 +5089,14 @@ 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:
@@ -4875,6 +5223,14 @@ 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;">
@@ -5000,6 +5356,14 @@ 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
@@ -5064,6 +5428,14 @@ 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>
@@ -5189,6 +5561,14 @@ 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>
@@ -5244,6 +5624,14 @@ 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>
@@ -5370,6 +5758,14 @@ 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
@@ -5494,6 +5890,14 @@ 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>
@@ -5619,6 +6023,14 @@ 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.
@@ -5745,6 +6157,14 @@ 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.
@@ -5872,6 +6292,14 @@ 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.
@@ -5997,6 +6425,14 @@ 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
@@ -6121,6 +6557,14 @@ 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>
@@ -6246,6 +6690,14 @@ 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>
@@ -6371,6 +6823,14 @@ 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>
@@ -6496,6 +6956,14 @@ 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>
@@ -6629,6 +7097,14 @@ 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
@@ -6753,6 +7229,14 @@ 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>
@@ -6878,6 +7362,14 @@ 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>
@@ -7005,6 +7497,14 @@ 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
@@ -7129,6 +7629,14 @@ 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>
@@ -7253,6 +7761,14 @@ 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
@@ -7376,6 +7892,14 @@ 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>
@@ -7504,6 +8028,14 @@ 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
@@ -7627,6 +8159,14 @@ 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
@@ -7694,6 +8234,14 @@ 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>
@@ -7818,6 +8366,14 @@ 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.
@@ -7943,6 +8499,14 @@ 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;
@@ -8070,6 +8634,14 @@ 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;"
@@ -8200,6 +8772,14 @@ 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>
@@ -8331,6 +8911,14 @@ 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
@@ -8359,9 +8947,17 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
+
+
+
+
spectral .ti3 or .sp readings into CIE XYZ and D50 L*a*b* readings.
- Apply FWA, plot spectrums.<br>
+ Apply FWA, plot spectrums. Convert to/from XRGA standard.<br>
&nbsp;
<h2><b><u><font size="+2"><a name="AlphList"></a>Main Tools
Alphabetic Listing:</font></u></b></h2>
@@ -8486,6 +9082,14 @@ 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
@@ -8610,6 +9214,14 @@ 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>
@@ -8735,6 +9347,14 @@ 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>
@@ -8860,6 +9480,14 @@ 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>
@@ -8984,6 +9612,14 @@ 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;
@@ -9110,6 +9746,14 @@ 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
@@ -9234,6 +9878,14 @@ 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>
@@ -9359,6 +10011,14 @@ 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;"
@@ -9490,6 +10150,14 @@ 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
@@ -9615,6 +10283,14 @@ 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>
@@ -9741,6 +10417,14 @@ 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;"
@@ -9870,6 +10554,14 @@ 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>
@@ -9995,6 +10687,14 @@ 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
@@ -10119,6 +10819,14 @@ 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
@@ -10243,6 +10951,14 @@ 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
@@ -10367,6 +11083,14 @@ 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>
@@ -10492,6 +11216,14 @@ 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
@@ -10616,6 +11348,14 @@ 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
@@ -10740,6 +11480,14 @@ 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>
@@ -10864,6 +11612,14 @@ 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>
@@ -10992,6 +11748,14 @@ 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>
@@ -11021,6 +11785,14 @@ 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></small><br>
@@ -11146,6 +11918,14 @@ 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
@@ -11270,6 +12050,14 @@ 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>
@@ -11395,6 +12183,14 @@ 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>
@@ -11524,6 +12320,14 @@ 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
@@ -11648,6 +12452,14 @@ 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>
@@ -11773,6 +12585,14 @@ 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>
@@ -11903,6 +12723,14 @@ 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>
@@ -12028,6 +12856,14 @@ 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>
@@ -12154,9 +12990,17 @@ href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">
+
+
+
+
+
+
+
+
spectral .ti3 or .sp readings into CIE XYZ and D50 L*a*b* readings.
- Apply FWA, plot spectrums.<br>
+ Apply FWA, plot spectrums. Convert to/from XRGA standard.<br>
<small><a style="font-family: monospace;" href="specplot.html">specplot</a><span
style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span><span
style="text-decoration: underline; font-family: monospace;"></span></small>&nbsp;
@@ -12280,6 +13124,14 @@ 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
@@ -12403,6 +13255,14 @@ 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>
@@ -12527,6 +13387,14 @@ 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>
@@ -12651,6 +13519,14 @@ 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>
@@ -12776,6 +13652,14 @@ 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
@@ -12900,6 +13784,14 @@ 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>
@@ -13025,6 +13917,14 @@ 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>
@@ -13154,6 +14054,14 @@ 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
@@ -13280,6 +14188,14 @@ 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>
@@ -13405,6 +14321,14 @@ 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>
@@ -13557,6 +14481,14 @@ 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;
@@ -13680,6 +14612,14 @@ 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;
@@ -13803,6 +14743,14 @@ 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>
@@ -13930,6 +14878,14 @@ 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>
@@ -14054,6 +15010,14 @@ 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;
@@ -14177,6 +15141,14 @@ 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>
@@ -14308,6 +15280,14 @@ 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;
@@ -14431,6 +15411,14 @@ 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;
@@ -14554,6 +15542,14 @@ 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;
@@ -14677,6 +15673,14 @@ 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;
@@ -14800,6 +15804,14 @@ 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>
@@ -14928,6 +15940,14 @@ 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/CMP_Digital_Target-7.jpg b/doc/CMP_Digital_Target-7.jpg
index b5eaab6..b5eaab6 100644..100755
--- a/doc/CMP_Digital_Target-7.jpg
+++ b/doc/CMP_Digital_Target-7.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 3549a79..354437d 100644
--- a/doc/ChangesSummary.html
+++ b/doc/ChangesSummary.html
@@ -16,6 +16,88 @@
<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.9.2 -&gt; V2.0.0] 17th November 2017</h1>
+ <ul>
+ <li>Added support for "pm" viewing condition (Print evaluation
+ with partial Mid-tone adaptation), and associated m: viewing
+ condition parameter. This is intended to address certain
+ situations involving the use of papers containing FWA/OBE
+ brighteners when viewed in an environment that has a very
+ noticeably warmer white point than the paper itself under the
+ illuminant.</li>
+ <li>Added support for the X-Rite i1Studio instrument. Note that
+ you may have to un-install and re-install the system drivers on
+ MSWindows, or update the udev 55-Argyll.rules file on Linux.<span
+ style="font-weight: bold;"></span></li>
+ <li>Slight improvement to i1d3 accuracy, by rounding the frequency
+ mode measurements up by 0.5.</li>
+ <li>Returned input profile forced Absolute Colorimetric option
+ with -ua flag, after the -u option was changed in V1.5.0.<br>
+ </li>
+ <li>Try and fix problem in triggering calibration when
+ ARGYLL_NOT_INTERACTIVE is set.</li>
+ <li>Improve compatibility of txt2ti3, and added -D option to mark
+ output as Display but not Normalized to white.</li>
+ <li>Modified collink to disable Video encoded in/out sync level
+ preservation.</li>
+ <li>Added support for custom Observer by using a .cmf file as an
+ argument to all tools taking an observer parameter.</li>
+ <li>Added support for proposed CIE 2012 2 degree &amp; 10 degree
+ observers, based on the CIE (2006) 2-deg LMS cone fundamentals.</li>
+ <li>Fix problem with dispwin -E option not being shown in usage,
+ and only being applied when a calibration file is used.</li>
+ <li>Added spotread -u option to display XYZ amd CIE 1976 Yuv
+ values.</li>
+ <li>Added XRGA conversion support to spec2cie, as well as better
+ support in chartread and txt2ti3 for tracking XRGA standard and
+ polarization filter use.</li>
+ <li>Fix bug in spec2cie processing emissive .sp files.</li>
+ <li>Fix problem with i1d3 running direct USB (i.e. Not via HID) on
+ MSWin.</li>
+ <li>Fixed bug in render/timage -p.</li>
+ <li>Changed spotread ambient readings (CCT, CRI, TLCI) to show CCT
+ delta E in 1960 Duv units and others in Delta E 2000.</li>
+ <li>Added ARGYLL_UNTWIST_GAMUT_SURFACE environment variable, that
+ enables extra gamut clip surface processing that may improve the
+ smoothness of device links and B2A tables for poorly behaved
+ devices.</li>
+ <li>Fixed bug introduced in new colorimetric nearest clipping code
+ in rspl/rev.c in V1.9.0 that caused colprof using some ink limit
+ settings (such as -L0) to crash.</li>
+ <li>Fixed bug introduced in new colorimetric nearest clipping code
+ in rspl/rev.c in V1.9.0 that caused some (mainly XYZ clut)
+ profiles to clip badly, causing banding.</li>
+ <li>Improved dispcal -R VideoLUT depth measurement algorithm
+ robustness.</li>
+ <li>Worked around latest OS X super slow opening serial port
+ problem (1.5 seconds to open a port!)</li>
+ <li>Added ColorCheckerHalfPassport.cht file.</li>
+ <li>Fixed bug in ChromeCast mDNS parsing that caused problems with
+ some devices with long names being detected.</li>
+ <li>Now ignoring Chromecast-Audio and (.ca flags &amp; 1) == 0
+ devices, and showing the friendly chromecast name if available.</li>
+ <li>Wait longer to find more Chromecasts, even if we've found one.</li>
+ <li>Fixed colprof bug when handling Display L*a*b* .ti3 data.</li>
+ <li>Added Wacom i1d3 support.</li>
+ <li>Changed dispwin to by default ignore Gnome colord, and use its
+ native ucmm for storage of display profiles, since colord
+ support for ArgyllCMS has proven unreliable. This can be
+ re-enabled by setting the ARGYLL_USE_COLORD environment variable
+ (i.e. to "true").</li>
+ <li>Change X11 root window _ICC_PROFILE_xxx atom setting for
+ Xrandr case to now match the Xinerama order, so that
+ ICC_PROFILE_xxx atoms match, irrespective of which extension
+ applications are using. This improves conformance to "ICC
+ Profiles in X Specification 0.2".</li>
+ <li>Improved ucmm install/load/delete to better respect
+ systemlocal/user scopes, as well as eliminating need for profile
+ name on delete when ucmm is used.</li>
+ <li>Improve fast serial port scan to better detect Lumagen
+ Radiance without upsetting it.</li>
+ <li>Added ARGYLL_EXCLUDE_SERIAL_SCAN environment variable, to
+ allow suppression of fast serial port scan of sensitive devices.<br>
+ </li>
+ </ul>
<h1>[V1.9.1 -&gt; V1.9.2] 17th October 2016</h1>
<ul>
<li>Added CMYKOGB and CMYKRGB 7 channel ink preset, and made
@@ -23,10 +105,7 @@
targen ink selection.<br>
</li>
<li>Fix oeminst for OS X save location.</li>
- <li>Fix oeminst for OS X Spyder 4 CD calibration file
- location.Improved robustness of ChromeCast discovery, and added
- some minimal diagnostics.<br>
- </li>
+ <li>Fix oeminst for OS X Spyder 4 CD calibration file location.</li>
</ul>
<h1>[V1.8.3 -&gt; V1.9.1] 28th September 2016</h1>
<ul>
@@ -1123,6 +1202,9 @@
+
+
+
</span>for systems with &gt; 3Gig Ram.</li>
<li>Add support for the Eye-One Monitor spectrometer.</li>
@@ -1177,6 +1259,9 @@
+
+
+
and memory usage issues.</li>
<li>Fixed issues with Eye-One Pro Rev B timeouts.</li>
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..4e58f5d 100644..100755
--- a/doc/Compiling.html
+++ b/doc/Compiling.html
@@ -26,7 +26,7 @@
installed:<br>
<br>
&nbsp;&nbsp;&nbsp; jam: Program construction tool, similar to make
- [If available]<br>
+ [If available - downloadable from the ArgyllCMS website]<br>
&nbsp;&nbsp;&nbsp; gcc C compiler<br>
&nbsp;&nbsp;&nbsp; Development files for libX11<br>
&nbsp;&nbsp;&nbsp; Development files for libXdmcp<br>
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
index 0192ba8..0192ba8 100644..100755
--- a/doc/EX1.jpg
+++ b/doc/EX1.jpg
Binary files differ
diff --git a/doc/Environment.html b/doc/Environment.html
index c4c1aed..a639270 100644..100755
--- a/doc/Environment.html
+++ b/doc/Environment.html
@@ -97,6 +97,12 @@
+
+
+
+
+
+
</span>mode manually will probably fail, because the character and
return get split up.)<br>
</div>
@@ -118,6 +124,12 @@
+
+
+
+
+
+
</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
@@ -132,6 +144,12 @@
+
+
+
+
+
+
Viewing Format</a>.<br>
</blockquote>
<b><br>
@@ -173,6 +191,12 @@ 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)
@@ -200,6 +224,12 @@ environment
+
+
+
+
+
+
variable, ie. ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS=400 would set a
400 msec minimum delay.<br>
<span style="font-weight: bold;"><br>
@@ -346,6 +376,12 @@ environment
style="font-weight: bold;"><span
style="font-weight: bold;"><span
style="font-weight: bold;"> </span></span></span></span></span></span></span></span></span></span></span></span>above
+
+
+
+
+
+
for more details.)<span style="font-weight: bold;"><span
style="font-weight: bold;"><span style="font-weight: bold;"><span
style="font-weight: bold;"><span style="font-weight:
@@ -357,6 +393,12 @@ environment
style="font-weight: bold;"> <br>
<br>
</span></span></span></span></span></span></span></span></span></span></span></span>To
+
+
+
+
+
+
allow for strict conformance to the ICC specification when using
non-standard illuminants, setting the <span style="font-weight:
bold;"><span style="font-weight: bold;"><span
@@ -368,12 +410,24 @@ environment
style="font-weight: bold;"><span
style="font-weight: bold;"><span
style="font-weight: bold;">ARGYLL_CREATE_OUTPUT_PROFILE_WITH_CHAD
+
+
+
+
+
+
</span></span></span></span></span></span></span></span></span></span></span></span>environment
+
+
+
+
+
+
variable causes a non-D50 illuminant white point change to be
hidden in the ChromaticAdapation Tag, and to still allow this to
be useful in a proofing situation, ArgyllCMS will incorporate the
effect of the ChromaticAdapation Tag when Absolute Colorimetric
- Intent is chosen. Note that other CMM's may not do. For full
+ Intent is chosen. Note that other CMM's may not do so. For full
conformance with ICC specifications, the <span
style="font-weight: bold;"><span style="font-weight: bold;"><span
style="font-weight: bold;"><span style="font-weight: bold;"><span
@@ -425,6 +479,29 @@ environment
implementations.<br>
<br>
</div>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"><span style="font-weight: bold;"><a
+ name="ARGYLL_IGNORE_XRANDR1_2"></a>ARGYLL_IGNORE_XINERAMA</span></span></span></span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"><span style="font-weight:
+ bold;"><span style="font-weight: bold;"><br>
+ </span></span> </span> </span></span></span></span>
+ <div style="margin-left: 40px;">On an X11 system, if this is <span
+ style="font-weight: bold;"></span>set (ie. set it to "yes"),
+ then the presence of the XInerama extension will be ignored, and
+ default X11 Screen numbering will be used to access multiple
+ displays.</div>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"><span style="font-weight: bold;"> </span></span></span><br>
+ <a name="ARGYLL_IGNORE_COLORD"></a>ARGYLL_USE_COLORD</span><br>
+ <blockquote><small><small>By default </small></small>ArgyllCMS
+ &gt;= V 1.9.4&nbsp; will use its native <a
+ href="file:///D:/src/argyll/doc/ucmm.html">ucmm</a> to store
+ display ICC profiles on Linux based systems, but if the&nbsp;<b>ARGYLL_USE_COLORD</b>
+ environment variable is set, it will attempt to use the Gnome <b>colord</b>
+ storage instead.<span style="font-weight: bold;"></span></blockquote>
<span style="font-weight: bold;"><a
name="ARGYLL_DISABLE_I1PRO2_DRIVER"></a>ARGYLL_DISABLE_I1PRO2_DRIVER<br>
<br>
@@ -433,8 +510,18 @@ environment
Eye-One Pro Rev E (aka Eye-One Pro 2) instrument features, but a
Rev E can be operated in legacy mode if the environment variable
ARGYLL_DISABLE_I1PRO2_DRIVER is set (ie. set it to "yes").<br>
+ <b><br>
+ </b><b> </b></div>
+ <b> </b><b><a name="ARGYLL_EXCLUDE_SERIAL_SCAN"></a>ARGYLL_EXCLUDE_SERIAL_SCAN</b><br>
+ <blockquote>Normally ArgyllCMS will try and identify any device on a
+ fast serial port (i.e. USB or BlueTooth based port). This may
+ disturb devices it doesn't know about, so the
+ ARGYLL_EXCLUDE_SERIAL_SCAN variable can be set to a semi-colon or
+ comma separated list of serial ports that should not be fast
+ scanned. Example:<br>
<br>
- </div>
+ "COM2;/dev/tty5" etc.<br>
+ </blockquote>
<span style="font-weight: bold;"></span><span style="font-weight:
bold;"><a name="ARGYLL_XRGA"></a>ARGYLL_XRGA</span><br>
<blockquote>If the <span style="font-weight: bold;">ARGYLL_XRGA&nbsp;</span>
@@ -450,7 +537,23 @@ environment
If not set (or set to some other string), then the native
calibration will be used. Note that the values must be upper case.<br>
</blockquote>
- <span style="font-weight: bold;"><a name="XDG_CACHE_HOME"></a>XDG_CACHE_HOME<br>
+ <span style="font-weight: bold;"><a name="UNTWIST_GAMUT_SURFACE"></a>ARGYLL_UNTWIST_GAMUT_SURFACE<br>
+ </span>
+ <blockquote>Whenever a color device profile value is inverted (i.e.
+ in creating ICC B2A tables, or creating a device link using gamut
+ mapping mode), colors that are out of gamut after gamut mapping,
+ will be clipped to the gamut surface. If the device behavior is
+ poor (i.e. non-monotonic), the gamut surface representation used
+ for clipping may have "shadow" areas that result in non-smooth
+ jumps in clipped output. Setting the <span style="font-weight:
+ bold;">ARGYLL_UNTWIST_GAMUT_SURFACE</span> environment variable
+ to a non empty value will invoke an additional step in the gamut
+ surface creation routine, that attempts to minimize such shadowed
+ surface areas. This can improve the smoothness of clipped colors
+ for poorly behaved devices, but may make the output for some
+ devices worse. </blockquote>
+ <span style="font-weight: bold;"><br>
+ <a name="XDG_CACHE_HOME"></a>XDG_CACHE_HOME<br>
<span style="font-weight: bold;"><br>
</span></span>
<div style="margin-left: 40px;">Argyll tries to follow the <a
@@ -473,6 +576,12 @@ 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 e83a64f..e83a64f 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 aeddc6d..aeddc6d 100644..100755
--- a/doc/File_Formats.html
+++ b/doc/File_Formats.html
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 dc9a044..8e4795c 100644..100755
--- a/doc/Installing_Linux.html
+++ b/doc/Installing_Linux.html
@@ -1,49 +1,49 @@
-<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;
- charset=windows-1252">
- <meta http-equiv="content-type" content="text/html;
- charset=windows-1252">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
- [Netscape]">
- <title>Argyll Installation on Linux</title>
- </head>
- <body>
- <h1> <u>Installing the software on Linux with X11<br>
- </u></h1>
- <br>
- You will need to unpack the downloaded file in the location you have
- chosen to hold the executable files. Typically this might be in <span
- style="font-style: italic;">/usr/local/</span>, or perhaps <span
- style="font-style: italic;">$HOME/bin/</span>. You would then
- unpack the files using <span style="font-weight: bold;">tar -zxf</span>
- <span style="font-weight: bold;">archivename.tgz</span>, which will
- create a directory <span style="font-weight: bold;">Argyll_VX.X.X</span>,
- where X.X.X is the version number, and the executables will be in <span
- style="font-weight: bold;">Argyll_VX.X.X/bin</span> You will also
- have to configure your $PATH environment variable to give access to
- the executables from your command line environment. The .tgz file
- also contains several useful reference files (such as scanner chart
- recognition templates, sample illumination spectrum etc.) in the ref
- sub-directory, as well as all the current HTML documentation in a
- doc sub-directory. You may want to copy things to more standard
- locations such as /usr/local/bin, /usr/local/argyll/bin etc.,
- depending on the conventions used on your system.<br>
- <br>
- Some systems (Fedora ?) seem to be missing normal X11 libraries like
- <b>libXss.so</b>, so you may have to install <b>libXScrnSaver</b>,
- i.e. "sudo dnf install libXScrnSaver".<br>
- <br>
- <big style="color: rgb(51, 102, 255);"><span style="font-weight:
- bold;"><a name="bell"></a>Note on the system bell:</span></big><br>
- <br>
- When reading strips using the Eye-One Pro or ColorMunki instrument,
- the system bell is used to indicate when the instrument the ready to
- be used, and to provide feedback on any problems. On some Linux
- installations the system bell may be disabled. As well as checking
- the terminal and GUI sound preferences, you may have to enable the
- used of the PC speaker driver, which can be done by adding the
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=windows-1252">
+ <meta http-equiv="content-type" content="text/html;
+ charset=windows-1252">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <title>Argyll Installation on Linux</title>
+ </head>
+ <body>
+ <h1> <u>Installing the software on Linux with X11<br>
+ </u></h1>
+ <br>
+ You will need to unpack the downloaded file in the location you have
+ chosen to hold the executable files. Typically this might be in <span
+ style="font-style: italic;">/usr/local/</span>, or perhaps <span
+ style="font-style: italic;">$HOME/bin/</span>. You would then
+ unpack the files using <span style="font-weight: bold;">tar -zxf</span>
+ <span style="font-weight: bold;">archivename.tgz</span>, which will
+ create a directory <span style="font-weight: bold;">Argyll_VX.X.X</span>,
+ where X.X.X is the version number, and the executables will be in <span
+ style="font-weight: bold;">Argyll_VX.X.X/bin</span> You will also
+ have to configure your $PATH environment variable to give access to
+ the executables from your command line environment. The .tgz file
+ also contains several useful reference files (such as scanner chart
+ recognition templates, sample illumination spectrum etc.) in the ref
+ sub-directory, as well as all the current HTML documentation in a
+ doc sub-directory. You may want to copy things to more standard
+ locations such as /usr/local/bin, /usr/local/argyll/bin etc.,
+ depending on the conventions used on your system.<br>
+ <br>
+ Some systems (Fedora ?) seem to be missing normal X11 libraries like
+ <b>libXss.so</b>, so you may have to install <b>libXScrnSaver</b>,
+ i.e. "sudo dnf install libXScrnSaver".<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="bell"></a>Note on the system bell:</span></big><br>
+ <br>
+ When reading strips using the Eye-One Pro or ColorMunki instrument,
+ the system bell is used to indicate when the instrument the ready to
+ be used, and to provide feedback on any problems. On some Linux
+ installations the system bell may be disabled. As well as checking
+ the terminal and GUI sound preferences, you may have to enable the
+ used of the PC speaker driver, which can be done by adding the
command <span style="font-weight: bold;">/sbin/modprobe pcspkr </span>to
@@ -57,8 +57,9 @@
-
- the <span style="font-weight: bold;">/etc/rc.local</span> startup
+
+
+ the <span style="font-weight: bold;">/etc/rc.local</span> startup
script. You may also have to run <span style="font-weight: bold;">xset
@@ -72,213 +73,215 @@
-
- b 100 1000 100</span> in your local setup, if you are running in
- an X11 environment. You can check that the system bell is operating
- by doing an "echo ^G", where ^G is ctrl-G.<br>
- <br>
- <big style="color: rgb(51, 102, 255);"><span style="font-weight:
- bold;"><a name="multimonitor"></a>Note on X11 multi-monitor
- setups:</span></big><br>
- <br>
- When working with a multi-monitor X11 configuration, note that you
- will only be able to individually calibrate monitors if the
- multi-window extension you are using (if any), supports access to
- the individual screen Video LUT tables that are used for
- calibration. The native X11 multi-screen addressing supports this,
- as does the Xinerama extension, and XRandR V1.2.<br>
- <br>
- The proprietary NVidia TwinView and ATI MergeFB extensions do not
- currently support access to the individual screen Video LUTs, so
- calibration of each screen independently is impossible if either of
- these extensions are running. You can switch to using Xinerama to
- solve this problem, or you can try doing a calibration for the
- screens that do have accessible Video LUTs with these proprietary
- extensions, or ignore calibration and rely purely on display
- profiling. Use the dispwin tool to figure out what works on your
- system. The NVidia ATI binary drivers do not seem to properly
- support XRandR V1.2 either, even though they claim to do so. You may
- have to set the <span style="font-weight: bold;"></span><span
- style="font-weight: bold;">ARGYLL_IGNORE_XRANDR1_2</span>
- environment variable if the XRandR V1.2 extension is faulty.<br>
- <br>
- If these limitations trouble you, then as a valuable customer of
- NVidia or AMD/ATI, perhaps you should contact them and urge them to
- fix the problems with Video LUT access in their proprietary
- multi-monitor extensions and XRandR implementation, bringing their
- support for multi-monitors on X11 up to the same standards as other
- operating systems. Ask them to add full and correct support for the
- XRandR V1.2 extension.<br>
- <br>
- <big style="color: rgb(51, 102, 255);"><span style="font-weight:
- bold;"><a name="VideoLUTs"></a>Fixing access to Video LUTs:</span></big><br>
- <br>
- Some users have noted that their default X11 installation doesn't
- properly enable access to the video card Video Lookup Tables
- (RAMDAC). The Video LUTs are used for display calibration purposes,
- and a warning will be issues by the <span style="font-weight:
- bold;">dispcal</span> and <span style="font-weight: bold;">dispread</span>
- tools if there is a problem with this. Without access to the
- VideoLUTs, you won't be able to use display calibration.<br>
- <br>
- The problem may be because certain X11 extensions aren't being
- loaded by default. You may want to check that you have<br>
- <br>
- <big style="color: rgb(51, 102, 255);"><span style="font-weight:
- bold;"></span></big>&nbsp; Load&nbsp; "extmod" <br>
- <br>
- in&nbsp;the&nbsp;appropriate&nbsp;(or&nbsp;any)&nbsp;section&nbsp;of
- your Xorg.conf file, to allow the XF86Video&nbsp;LUT
- extensions&nbsp;to function correctly.<br>
- <br>
- Another source of problems is if the display isn't configured with a
- suitable visual. Typically for high quality color you need to be
- using at least <span style="font-weight: bold;">24 bits</span> per
- pixel (8 Bits for each of Red, Green and Blue channels), but more
- importantly the number of entries in the the VideoLUTs needs to
- match the depth of the screen. So if the VideoLUTs have 256 entries
- per channel, then the screen must be using 8 bits per channel to
- match. Or 64 entries and 6 bits. Or 4096 entries and 12 bits, etc.
- Running "dispwin -D" may give some clues as to what the nature of
- the problem is. You might have to look into your xorg.conf or XRANDR
- setup, or on some distributions there will be some configuration
- program that will let you choose the display configuration (ie. YaST
- or SaX2 on openSUSE, etc.).<br>
- <br>
- <big style="color: rgb(51, 102, 255);"><span style="font-weight:
- bold;"><a name="InstAccess"></a>Setting up instrument access:<br>
- <br>
- </span></big>By default most Linux based systems make devices
- inaccessible to user mode programs, so it is necessary to make some
- modification to your permissions so that Argyll tools are able to
- access the Color Measurement Instruments. In order from newest to
- oldest, the following sub-systems may need to be configured to
- permit this:<br>
- <br>
- &nbsp; <a style="font-weight: bold;" href="#None">No device
- configuration needed when running from the console:</a><span
- style="font-weight: bold; text-decoration: underline;"><br>
- <br>
- </span>&nbsp;&nbsp;&nbsp; <a href="#None">Mandriva 2008.0 default
- installation</a><br>
- <br>
- <h5>&nbsp; <a href="Installing_Linux.html#udev1">USB instruments
- access using udev:</a></h5>
- <a href="#udev1"></a>&nbsp;&nbsp;&nbsp; <a
- href="Installing_Linux.html#udev1">Ubuntu 10.04</a><br>
- &nbsp;&nbsp;&nbsp; <a href="Installing_Linux.html#udev1">Fedora
- Core 8</a><br>
- &nbsp;&nbsp;&nbsp; <a href="#udev1">Mandriva 2008.1</a><br>
- &nbsp;&nbsp;&nbsp; <a href="#udev1">OpenSuSE 10.3</a><br>
- &nbsp;&nbsp;&nbsp; <a href="#udev1">Ubuntu 7.1</a><br>
- &nbsp;&nbsp;&nbsp; <a href="#udev1">Kubuntu 7.1</a><br>
- &nbsp;&nbsp;&nbsp; <a href="#udev1">Debian 4.0</a><br>
- <h5>&nbsp; <a href="#hotplug">USB instruments access using hotplug:</a></h5>
- &nbsp;&nbsp; <a href="#hotplug">Red Hat 4.0</a><br>
- &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 4</a><br>
- &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 3</a><br>
- &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 2</a><br>
- <br>
- <h5>&nbsp; <span style="text-decoration: underline;"></span><a
- href="#serial">Serial instrument access:</a></h5>
- &nbsp;&nbsp; <a href="#serial">All</a><br>
- <br>
- <span style="font-weight: bold;">NOTE:</span> That <b>mtp-probe</b>
- /&nbsp; <span style="font-weight: bold;">libmtp</span> been known
- to interfere with device access, particularly the Spyder 3 and
- DTP94. Recent versions of the libmtp should ignore any instrument
- marked as COLOR_MEASUREMENT_DEVICE by the
- /etc/udev/rules.d/55-Argyll.rules file, but for older systems you
- probably need to disable libmtp (look in the udev configuration).<br>
- <br>
- The <b>JETI</b> specbos <b>1211</b><b>,&nbsp;</b><b>1201</b><b>,
- 1511, 1501</b> and the <b>Klien K10A</b> makes use of the <a
- href="http://www.ftdichip.com/Drivers/VCP.htm">FTDI Virtual COM
- Port Drivers</a> (VCP), that should come with any recent version
- of Linux. Older versions of Linux may not support the FTDI FT231XS
- chip that the <b>JETI</b> specbos <b>1511, 1501</b> use. You may
- have to add yourself to the<span style="font-weight: bold;">
- tty,&nbsp;</span><span style="font-weight: bold;">uucp</span>
- or&nbsp;<b>dialout</b> group to have permission to open the
- instrument.<br>
- <br>
- <span style="font-weight: bold;"></span>
- <hr style="width: 100%; height: 2px;">
- <h5><span style="color: rgb(204, 51, 204);"><a name="None"></a>No
- device configuration needed:</span></h5>
- A few systems have in place&nbsp; a security configuration such that
- anyone logging in at the console of a machine has access to all the
- local devices.<span style="color: rgb(204, 51, 204);"><span
- style="font-weight: bold;"><br>
- </span></span>
- <h5><span style="color: rgb(204, 51, 204);"><a name="udev1"></a>USB
- instruments access using udev with existing </span><span
- style="color: rgb(204, 51, 204);"><span style="font-weight:
- bold;"><font color="#330033">/etc/udev/rules.d</font> or</span>
- <font color="#330033"> /usr/lib/udev/rules.d/69-cd-sensors.rules</font>
- file.<br>
- </span></h5>
- <span style="color: rgb(204, 51, 204);"> </span>Recent Fedora based
- systems include Gnome Color Manager, which comes with a udev rule
- for color instruments. You can check this by looking for the <span
- style="font-weight: bold;">/etc/udev/rules.d</span> or in <b>/usr/lib/udev/rules.d/69-cd-sensors.rules</b>
- file. If this exists and is up to date enough to include the
- instrument you want to use, then all you have to do is add yourself
- to the <b>colord</b> group, ie:<br>
- <br>
- &nbsp;&nbsp; sudo usermod -a -G colord $USER<br>
- <br>
- If the <b>69-cd-sensors.rules</b> file is out of date and does not
- include the latest instruments supported by Argyll, then the
- simplest thing to do is to replace the <b>69-cd-sensors.rules</b>
- file with the <span style="font-weight: bold;">usb/</span><span
- style="font-weight: bold;">55-Argyll.rules</span>. You will need
- to do this as root, and set the owner as root, group root,
- permissions 644. You may need to re-plug in your instrument to get
- changes to the udev rules recognised.<br>
- <h5><span style="color: rgb(204, 51, 204);"><a name="udev2"></a>USB
- instruments access using udev, with no existing <font
- color="#330033">/etc/udev/rules.d</font> or <font
- color="#330033">/usr/lib/udev/rules.d/69-cd-sensors.rules</font>
- file.<br>
- </span></h5>
- Most recent systems use udev to manage device names and permissions,
- but by default color instruments may not be accessible to normal
- system users.<br>
- To solve this a udev rule file needs to be added that modifies the
- group and permission of any Color Measurement Instruments, and you
- may then need to add yourself to that group.<br>
- <br>
- First check whether other rules are in <span style="font-weight:
- bold;">/etc/udev/rules.d</span> or in <b>/usr/lib/udev/rules.d</b>,
- and use the appropriate directory.<br>
- (You may also want to check in that directory whether
- 55-Argyll.rules or some other .rules file that is setup to enable
- color instruments already exists in that directory.)<br>
- <br>
- <span style="font-weight: bold;"></span>Copy the file <span
- style="font-weight: bold;">usb/</span><span style="font-weight:
- bold;">55-Argyll.rules</span> from the binary or source
- distribution into <span style="font-weight: bold;">/etc/udev/rules.d/55-Argyll.rules</span>
+
+
+ b 100 1000 100</span> in your local setup, if you are running in
+ an X11 environment. You can check that the system bell is operating
+ by doing an "echo ^G", where ^G is ctrl-G.<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="multimonitor"></a>Note on X11 multi-monitor
+ setups:</span></big><br>
+ <br>
+ When working with a multi-monitor X11 configuration, note that you
+ will only be able to individually calibrate monitors if the
+ multi-window extension you are using (if any), supports access to
+ the individual screen Video LUT tables that are used for
+ calibration. The native X11 multi-screen addressing supports this,
+ as does the Xinerama extension, and XRandR V1.2.<br>
+ <br>
+ The proprietary NVidia TwinView and ATI MergeFB extensions do not
+ currently support access to the individual screen Video LUTs, so
+ calibration of each screen independently is impossible if either of
+ these extensions are running. You can switch to using Xinerama to
+ solve this problem, or you can try doing a calibration for the
+ screens that do have accessible Video LUTs with these proprietary
+ extensions, or ignore calibration and rely purely on display
+ profiling. Use the dispwin tool to figure out what works on your
+ system. The NVidia ATI binary drivers do not seem to properly
+ support XRandR V1.2 either, even though they claim to do so. You may
+ have to set the <span style="font-weight: bold;"></span><span
+ style="font-weight: bold;">ARGYLL_IGNORE_XRANDR1_2</span>
+ environment variable if the XRandR V1.2 extension is faulty.<br>
+ <br>
+ If these limitations trouble you, then as a valuable customer of
+ NVidia or AMD/ATI, perhaps you should contact them and urge them to
+ fix the problems with Video LUT access in their proprietary
+ multi-monitor extensions and XRandR implementation, bringing their
+ support for multi-monitors on X11 up to the same standards as other
+ operating systems. Ask them to add full and correct support for the
+ XRandR V1.2 extension.<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="VideoLUTs"></a>Fixing access to Video LUTs:</span></big><br>
+ <br>
+ Some users have noted that their default X11 installation doesn't
+ properly enable access to the video card Video Lookup Tables
+ (RAMDAC). The Video LUTs are used for display calibration purposes,
+ and a warning will be issues by the <span style="font-weight:
+ bold;">dispcal</span> and <span style="font-weight: bold;">dispread</span>
+ tools if there is a problem with this. Without access to the
+ VideoLUTs, you won't be able to use display calibration.<br>
+ <br>
+ The problem may be because certain X11 extensions aren't being
+ loaded by default. You may want to check that you have<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"></span></big>&nbsp; Load&nbsp; "extmod" <br>
+ <br>
+ in&nbsp;the&nbsp;appropriate&nbsp;(or&nbsp;any)&nbsp;section&nbsp;of
+ your Xorg.conf file, to allow the XF86Video&nbsp;LUT
+ extensions&nbsp;to function correctly.<br>
+ <br>
+ Another source of problems is if the display isn't configured with a
+ suitable visual. Typically for high quality color you need to be
+ using at least <span style="font-weight: bold;">24 bits</span> per
+ pixel (8 Bits for each of Red, Green and Blue channels), but more
+ importantly the number of entries in the the VideoLUTs needs to
+ match the depth of the screen. So if the VideoLUTs have 256 entries
+ per channel, then the screen must be using 8 bits per channel to
+ match. Or 64 entries and 6 bits. Or 4096 entries and 12 bits, etc.
+ Running "dispwin -D" may give some clues as to what the nature of
+ the problem is. You might have to look into your xorg.conf or XRANDR
+ setup, or on some distributions there will be some configuration
+ program that will let you choose the display configuration (ie. YaST
+ or SaX2 on openSUSE, etc.).<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="InstAccess"></a>Setting up instrument access:<br>
+ <br>
+ </span></big>By default most Linux based systems make devices
+ inaccessible to user mode programs, so it is necessary to make some
+ modification to your permissions so that Argyll tools are able to
+ access the Color Measurement Instruments. In order from newest to
+ oldest, the following sub-systems may need to be configured to
+ permit this:<br>
+ <br>
+ &nbsp; <a style="font-weight: bold;" href="#None">No device
+ configuration needed when running from the console:</a><span
+ style="font-weight: bold; text-decoration: underline;"><br>
+ <br>
+ </span>&nbsp;&nbsp;&nbsp; <a href="#None">Mandriva 2008.0 default
+ installation</a><br>
+ <br>
+ <h5>&nbsp; <a href="Installing_Linux.html#udev1">USB instruments
+ access using udev:</a></h5>
+ <a href="#udev1"></a>&nbsp;&nbsp;&nbsp; <a
+ href="Installing_Linux.html#udev1">Ubuntu 10.04</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="Installing_Linux.html#udev1">Fedora
+ Core 8</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Mandriva 2008.1</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">OpenSuSE 10.3</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Ubuntu 7.1</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Kubuntu 7.1</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Debian 4.0</a><br>
+ <h5>&nbsp; <a href="#hotplug">USB instruments access using hotplug:</a></h5>
+ &nbsp;&nbsp; <a href="#hotplug">Red Hat 4.0</a><br>
+ &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 4</a><br>
+ &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 3</a><br>
+ &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 2</a><br>
+ <br>
+ <h5>&nbsp; <span style="text-decoration: underline;"></span><a
+ href="#serial">Serial instrument access:</a></h5>
+ &nbsp;&nbsp; <a href="#serial">All</a><br>
+ <br>
+ <span style="font-weight: bold;">NOTE:</span> That <b>mtp-probe</b>
+ /&nbsp; <span style="font-weight: bold;">libmtp</span> been known
+ to interfere with device access, particularly the Spyder 3 and
+ DTP94. Recent versions of the libmtp should ignore any instrument
+ marked as COLOR_MEASUREMENT_DEVICE by the
+ /etc/udev/rules.d/55-Argyll.rules file, but for older systems you
+ probably need to disable libmtp (look in the udev configuration).<br>
+ <br>
+ The <b>JETI</b> specbos <b>1211</b><b>,&nbsp;</b><b>1201</b><b>,
+ 1511, 1501</b> and the <b>Klien K10A</b> makes use of the <a
+ href="http://www.ftdichip.com/Drivers/VCP.htm">FTDI Virtual COM
+ Port Drivers</a> (VCP), that should come with any recent version
+ of Linux. Older versions of Linux may not support the FTDI FT231XS
+ chip that the <b>JETI</b> specbos <b>1511, 1501</b> use. You may
+ have to add yourself to the<span style="font-weight: bold;">
+ tty,&nbsp;</span><span style="font-weight: bold;">uucp</span>
+ or&nbsp;<b>dialout</b> group to have permission to open the
+ instrument.<br>
+ <br>
+ <span style="font-weight: bold;"></span>
+ <hr style="width: 100%; height: 2px;">
+ <h5><span style="color: rgb(204, 51, 204);"><a name="None"></a>No
+ device configuration needed:</span></h5>
+ A few systems have in place&nbsp; a security configuration such that
+ anyone logging in at the console of a machine has access to all the
+ local devices.<span style="color: rgb(204, 51, 204);"><span
+ style="font-weight: bold;"><br>
+ </span></span>
+ <h5><span style="color: rgb(204, 51, 204);"><a name="udev1"></a>USB
+ instruments access using udev with existing </span><span
+ style="color: rgb(204, 51, 204);"><span style="font-weight:
+ bold;"><font color="#330033">/etc/udev/rules.d</font> or</span>
+ <font color="#330033"> /usr/lib/udev/rules.d/69-cd-sensors.rules</font>
+ file.<br>
+ </span></h5>
+ <span style="color: rgb(204, 51, 204);"> </span>Recent Fedora based
+ systems include Gnome Color Manager, which comes with a udev rule
+ for color instruments. You can check this by looking for the <span
+ style="font-weight: bold;">/etc/udev/rules.d</span> or in <b>/usr/lib/udev/rules.d/69-cd-sensors.rules</b>
+ file. If this exists and is up to date enough to include the
+ instrument you want to use, then all you have to do is add yourself
+ to the <b>colord</b> group, ie:<br>
+ <br>
+ &nbsp;&nbsp; sudo usermod -a -G colord $USER<br>
+ <br>
+ If the <b>69-cd-sensors.rules</b> file is out of date and does not
+ include the latest instruments supported by Argyll, then the
+ simplest thing to do is to replace the <b>69-cd-sensors.rules</b>
+ file with the <span style="font-weight: bold;">usb/</span><span
+ style="font-weight: bold;">55-Argyll.rules</span>. You will need
+ to do this as root, and set the owner as root, group root,
+ permissions 644. You may need to re-plug in your instrument to get
+ changes to the udev rules recognised.<br>
+ <h5><span style="color: rgb(204, 51, 204);"><a name="udev2"></a>USB
+ instruments access using udev, with no existing <font
+ color="#330033">/etc/udev/rules.d</font> or <font
+ color="#330033">/usr/lib/udev/rules.d/69-cd-sensors.rules</font>
+ file.<br>
+ </span></h5>
+ Most recent systems use udev to manage device names and permissions,
+ but by default color instruments may not be accessible to normal
+ system users.<br>
+ To solve this a udev rule file needs to be added that modifies the
+ group and permission of any Color Measurement Instruments, and you
+ may then need to add yourself to that group.<br>
+ <br>
+ First check whether other rules are in <span style="font-weight:
+ bold;">/etc/udev/rules.d</span> or in <b>/usr/lib/udev/rules.d</b>,
+ and use the appropriate directory.<br>
+ (You may also want to check in that directory whether
+ 55-Argyll.rules or some other .rules file that is setup to enable
+ color instruments already exists in that directory.)<br>
+ <br>
+ <span style="font-weight: bold;"></span>Copy the file <span
+ style="font-weight: bold;">usb/</span><span style="font-weight:
+ bold;">55-Argyll.rules</span> from the binary or source
+ distribution into <span style="font-weight: bold;">/etc/udev/rules.d/55-Argyll.rules</span>
or <span style="font-weight: bold;">/usr/lib/udev/rules.d/55-Argyll.rules
-
- </span>(as appropriate) with&nbsp;owner root, group root,
- permissions 644.<br>
- <br>
- If you are on an <span style="font-weight: bold;">older system</span>
- that uses a udev that doesn't recognize the syntax used in
- 55-Argyll.rules, or that doesn't have rules to create the libusb
- /dev/bus/usb/00X/00Y device entries, you should install the <span
- style="font-weight: bold;">usb/45-Argyll.rules</span> file instead
- - See below.<br>
- <br>
- On recent systems the new rules file will be notices as soon as you
- plug the instrument in again.<br>
+
+
+ </span>(as appropriate) with&nbsp;owner root, group root,
+ permissions 644.<br>
+ <br>
+ If you are on an <span style="font-weight: bold;">older system</span>
+ that uses a udev that doesn't recognize the syntax used in
+ 55-Argyll.rules, or that doesn't have rules to create the libusb
+ /dev/bus/usb/00X/00Y device entries, you should install the <span
+ style="font-weight: bold;">usb/45-Argyll.rules</span> file instead
+ - See below.<br>
+ <br>
+ On recent systems the new rules file will be notices as soon as you
+ plug the instrument in again.<br>
On older systems you may need to run <b>/sbin/udevtrigger</b>,&nbsp;
@@ -293,62 +296,63 @@
-
- <b>/sbin/udevcontrol reload_rules</b> or&nbsp; <span
- style="font-weight: bold;">/sbin/udevstart</span> or reboot to get
- the new file noticed.<br>
- <br>
- (You may want to refer to <a
- href="http://reactivated.net/writing_udev_rules.html">this
- document</a> for more guidance on modifying udev rules, as well as
- <a
-href="http://www.google.com/search?hl=en&amp;q=man+udev&amp;btnG=Search&amp;meta=&amp;aq=f&amp;oq=">this</a>.)<br>
- <br style="font-weight: bold;">
- <span style="font-weight: bold;">YOU THEN MAY NEED TO:</span><br>
- <br>
- If your system is <span style="font-weight: bold;">not</span> using
- the ACL to manage device access for console users (the file <span
- style="font-weight: bold;">/var/run/ConsoleKit/database</span>
- doesn't exist on your system), then you will <span
- style="text-decoration: underline;">need to add</span> yourself to
- the <span style="font-weight: bold;">colord</span> group, if you
- are not already a member of it. You can do this either by using a
- "Users and Groups" system administration tool, or on the command
- line running as root:<br>
- <br>
- &nbsp;&nbsp; sudo usermod -a -G colord $USER<br>
- <br>
- or<br>
- &nbsp;&nbsp;&nbsp; su root<br>
- &nbsp;&nbsp;&nbsp; usermod -a -G colord $USER<br>
- <br>
- (If the usermod program isn't found as root, it might be in
- /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
- &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
- colord $USER".<br>
- &nbsp;If this doesn't work you will have to run "id yourusername" to
- list the current supplemental<br>
- &nbsp;groups, and add them plus colord using just "usermod -G
- group1,group2,... yourusername")<br>
- <br>
- You may find that the <b>colord</b><b></b> group doesn't exist on
- your system, and if so you will need to create it:<br>
- <br>
- &nbsp; sudo groupadd -r colord<br>
- <br>
- and then add yourself to the <b>colord</b> group.<br>
- <br>
- You may have to log out and then in again for the groups to become
- effective.<br>
- <br>
- You can check whether the instrument is being recognized and set to
- the colord group by comparing the output of <span
- style="font-weight: bold;">ls -l -R /dev/bus/usb</span> without
- and then with the instrument plugged in.<br>
- <br>
- You can test whether your instrument is accessible by plugging it in
- and then running "spotread -?" and looking for it listed after the <span
- style="font-weight: bold;">-c</span> option.<br>
+
+
+ <b>/sbin/udevcontrol reload_rules</b> or&nbsp; <span
+ style="font-weight: bold;">/sbin/udevstart</span> or reboot to get
+ the new file noticed.<br>
+ <br>
+ (You may want to refer to <a
+ href="http://reactivated.net/writing_udev_rules.html">this
+ document</a> for more guidance on modifying udev rules, as well as
+ <a
+href="http://www.google.com/search?hl=en&amp;q=man+udev&amp;btnG=Search&amp;meta=&amp;aq=f&amp;oq=">this</a>.)<br>
+ <br style="font-weight: bold;">
+ <span style="font-weight: bold;">YOU THEN MAY NEED TO:</span><br>
+ <br>
+ If your system is <span style="font-weight: bold;">not</span> using
+ the ACL to manage device access for console users (the file <span
+ style="font-weight: bold;">/var/run/ConsoleKit/database</span>
+ doesn't exist on your system), then you will <span
+ style="text-decoration: underline;">need to add</span> yourself to
+ the <span style="font-weight: bold;">colord</span> group, if you
+ are not already a member of it. You can do this either by using a
+ "Users and Groups" system administration tool, or on the command
+ line running as root:<br>
+ <br>
+ &nbsp;&nbsp; sudo usermod -a -G colord $USER<br>
+ <br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; su root<br>
+ &nbsp;&nbsp;&nbsp; usermod -a -G colord $USER<br>
+ <br>
+ (If the usermod program isn't found as root, it might be in
+ /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
+ &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
+ colord $USER".<br>
+ &nbsp;If this doesn't work you will have to run "id yourusername" to
+ list the current supplemental<br>
+ &nbsp;groups, and add them plus colord using just "usermod -G
+ group1,group2,... yourusername")<br>
+ <br>
+ You may find that the <b>colord</b><b></b> group doesn't exist on
+ your system, and if so you will need to create it:<br>
+ <br>
+ &nbsp; sudo groupadd -r colord<br>
+ <br>
+ and then add yourself to the <b>colord</b> group.<br>
+ <br>
+ You may have to log out and then in again for the groups to become
+ effective.<br>
+ <br>
+ You can check whether the instrument is being recognized and set to
+ the colord group by comparing the output of <span
+ style="font-weight: bold;">ls -l -R /dev/bus/usb</span> without
+ and then with the instrument plugged in.<br>
+ <br>
+ You can test whether your instrument is accessible by plugging it in
+ and then running "spotread -?" and looking for it listed after the <span
+ style="font-weight: bold;">-c</span> option.<br>
<h5><span style="color: rgb(204, 51, 204);"><a name="hotplug"></a>USB
instruments
@@ -364,73 +368,74 @@ instruments
-
- access using hotplug:<br>
- </span></h5>
- Under <span style="font-weight: bold;">much older versions of Linux</span>,
- you should look into the hotplug system configuration for USB
- devices. You know you are running this because the <span
- style="font-weight: bold;">/etc/hotplug</span> directory exists on
- your system.<br>
- <br>
- Assuming we want to configure for all Argyll supported USB
- instruments, copy the file <span style="font-weight: bold;">usb/</span><span
- style="font-weight: bold;">Argyll.usermap</span> from the binary
- or source distribution into&nbsp; <span style="font-weight: bold;">/etc/hotplug/usb/Argyll.usermap</span>
- with owner root, group root, permissions 644.<span
- style="font-weight: bold;"></span><br>
- <br>
- <br>
- &nbsp;(For even older versions, append the lines above to <span
- style="font-weight: bold;">/etc/hotplug/usb.usermap</span>, and
- you may have to run <span style="font-weight: bold;">update-usb.usermap</span>)<br>
- <br>
- Then copy the file <span style="font-weight: bold;">usb/</span><span
- style="font-weight: bold;">Argyll</span> from the binary or source
- distribution into <span style="font-weight: bold;">/etc/hotplug/usb/Argyll</span>
- with owner root, group root, permissions 744.<span
- style="font-weight: bold;"></span><br>
- <br>
- <span style="font-weight: bold;">YOU THEN NEED TO:</span><br>
- <br>
- You will then <span style="text-decoration: underline;">need to add</span>
- yourself to the <span style="font-weight: bold;">colord</span>
- group, if you are not already a member of it. You can do this either
- by using a "Users and Groups" system administration tool, or on the
- command line running as root:<br>
- <br>
- &nbsp;&nbsp; sudo usermod -a -G colord $USER<br>
- <br>
- or<br>
- &nbsp;&nbsp;&nbsp; su root<br>
- &nbsp;&nbsp;&nbsp; usermod -a -G colord $USER<br>
- <br>
- <br>
- (If the usermod program isn't found as root, it might be in
- /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
- &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
- colord $USER".<br>
- &nbsp;If this doesn't work you will have to run "id yourusername" to
- list the current suplemental<br>
- &nbsp;groups, and add colord using just "usermod -G
- group1,group2,... yourusername"<br>
- &nbsp;Another option may be to use gpasswd -a $USER colord))<br>
- <br>
- You may find that the <span style="font-weight: bold;">colord</span>
- group doesn't exist on your system, and if so you will need to
- create it:<br>
- <br>
- &nbsp; sudo groupadd -r colord<br>
- <br>
- and then add yourself to the colord group.<br>
- <br>
- You may have to log out and then in again for the groups to become
- effective.<br>
- <br>
- You can test whether your instrument is accessible by plugging it in
- and then running "spotread -?" and looking for it listed after the <span
- style="font-weight: bold;">-c</span> option.<br>
- <span style="font-weight: bold;"></span>&nbsp; <br>
+
+
+ access using hotplug:<br>
+ </span></h5>
+ Under <span style="font-weight: bold;">much older versions of Linux</span>,
+ you should look into the hotplug system configuration for USB
+ devices. You know you are running this because the <span
+ style="font-weight: bold;">/etc/hotplug</span> directory exists on
+ your system.<br>
+ <br>
+ Assuming we want to configure for all Argyll supported USB
+ instruments, copy the file <span style="font-weight: bold;">usb/</span><span
+ style="font-weight: bold;">Argyll.usermap</span> from the binary
+ or source distribution into&nbsp; <span style="font-weight: bold;">/etc/hotplug/usb/Argyll.usermap</span>
+ with owner root, group root, permissions 644.<span
+ style="font-weight: bold;"></span><br>
+ <br>
+ <br>
+ &nbsp;(For even older versions, append the lines above to <span
+ style="font-weight: bold;">/etc/hotplug/usb.usermap</span>, and
+ you may have to run <span style="font-weight: bold;">update-usb.usermap</span>)<br>
+ <br>
+ Then copy the file <span style="font-weight: bold;">usb/</span><span
+ style="font-weight: bold;">Argyll</span> from the binary or source
+ distribution into <span style="font-weight: bold;">/etc/hotplug/usb/Argyll</span>
+ with owner root, group root, permissions 744.<span
+ style="font-weight: bold;"></span><br>
+ <br>
+ <span style="font-weight: bold;">YOU THEN NEED TO:</span><br>
+ <br>
+ You will then <span style="text-decoration: underline;">need to add</span>
+ yourself to the <span style="font-weight: bold;">colord</span>
+ group, if you are not already a member of it. You can do this either
+ by using a "Users and Groups" system administration tool, or on the
+ command line running as root:<br>
+ <br>
+ &nbsp;&nbsp; sudo usermod -a -G colord $USER<br>
+ <br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; su root<br>
+ &nbsp;&nbsp;&nbsp; usermod -a -G colord $USER<br>
+ <br>
+ <br>
+ (If the usermod program isn't found as root, it might be in
+ /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
+ &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
+ colord $USER".<br>
+ &nbsp;If this doesn't work you will have to run "id yourusername" to
+ list the current suplemental<br>
+ &nbsp;groups, and add colord using just "usermod -G
+ group1,group2,... yourusername"<br>
+ &nbsp;Another option may be to use gpasswd -a $USER colord))<br>
+ <br>
+ You may find that the <span style="font-weight: bold;">colord</span>
+ group doesn't exist on your system, and if so you will need to
+ create it:<br>
+ <br>
+ &nbsp; sudo groupadd -r colord<br>
+ <br>
+ and then add yourself to the colord group.<br>
+ <br>
+ You may have to log out and then in again for the groups to become
+ effective.<br>
+ <br>
+ You can test whether your instrument is accessible by plugging it in
+ and then running "spotread -?" and looking for it listed after the <span
+ style="font-weight: bold;">-c</span> option.<br>
+ <span style="font-weight: bold;"></span>&nbsp; <br>
<h5><span style="color: rgb(204, 51, 204);"><a name="serial"></a>Serial
instruments
@@ -446,47 +451,49 @@ instruments
-
- access:</span><br>
- </h5>
- If you have a serial instrument then you may find that by default
- you don't have permission to access the serial ports or a Serial to
- USB adapter. Most systems make the serial ports available to any
- user in the <span style="font-weight: bold;">tty</span>, <span
- style="font-weight: bold;">uucp </span>or <b>dialout </b>group,
- so the best way of getting access to the serial ports is to add
- yourself to the correct group. (You can identify the correct group
- by looking at the group name shown by <b>ls -l /dev/ttyS*</b> )<b><br>
- <br>
- </b>&nbsp;You can add yourself to a group either by using a "Users
- and Groups" system administration tool, or on the command line using
- "usermod":<br>
- <br>
- &nbsp;&nbsp;&nbsp; su root<br>
- &nbsp;&nbsp;&nbsp; usermod -a -G dialout $USER<br>
- <br>
- or<br>
- <br>
- &nbsp;&nbsp; sudo usermod -a -G dialout $USER<br>
- <br>
- (If the usermod program isn't found as root, it might be in
- /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
- &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
- dialout $USER".<br>
- &nbsp;If this doesn't work you will have to run "id yourusername" to
- list the current suplemental<br>
- &nbsp;groups, and add a tty, uucp or dialout group using just
- "usermod -G group1,group2,... yourusername"<br>
- &nbsp;Another option may be to use gpasswd -a $USER dialout)<br>
- <br>
- You may have to log out and then in again for the group to become
- effective.<span style="font-weight: bold;"><br>
- </span>
- <p>&nbsp; <br>
- &nbsp; <br>
- &nbsp; <br>
- &nbsp; <br>
- &nbsp; <br>
- &nbsp; </p>
- </body>
-</html>
+
+
+ access:</span><br>
+ </h5>
+ If you have a serial instrument then you may find that by default
+ you don't have permission to access the serial ports or a Serial to
+ USB adapter. Most systems make the serial ports available to any
+ user in the <span style="font-weight: bold;">tty</span>, <span
+ style="font-weight: bold;">uucp </span>or <b>dialout </b>group,
+ so the best way of getting access to the serial ports is to add
+ yourself to the correct group. (You can identify the correct group
+ by looking at the group name shown by <b>ls -l /dev/ttyS*</b> )<b><br>
+ <br>
+ </b>&nbsp;You can add yourself to a group either by using a "Users
+ and Groups" system administration tool, or on the command line using
+ "usermod":<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; su root<br>
+ &nbsp;&nbsp;&nbsp; usermod -a -G dialout $USER<br>
+ <br>
+ or<br>
+ <br>
+ &nbsp;&nbsp; sudo usermod -a -G dialout $USER<br>
+ <br>
+ (If the usermod program isn't found as root, it might be in
+ /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
+ &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
+ dialout $USER".<br>
+ &nbsp;If this doesn't work you will have to run "id yourusername" to
+ list the current suplemental<br>
+ &nbsp;groups, and add a tty, uucp or dialout group using just
+ "usermod -G group1,group2,... yourusername"<br>
+ &nbsp;Another option may be to use gpasswd -a $USER dialout)<br>
+ <br>
+ You may have to log out and then in again, or even re-boot your
+ system for the group to become effective.<span style="font-weight:
+ bold;"><br>
+ </span>
+ <p>&nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; </p>
+ </body>
+</html>
diff --git a/doc/Installing_MSWindows.html b/doc/Installing_MSWindows.html
index 21f39ca..21f39ca 100644..100755
--- a/doc/Installing_MSWindows.html
+++ b/doc/Installing_MSWindows.html
diff --git a/doc/Installing_OSX.html b/doc/Installing_OSX.html
index 1d7bb8d..1d7bb8d 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/JETI_1501.jpg b/doc/JETI_1501.jpg
index ac348d6..ac348d6 100644..100755
--- a/doc/JETI_1501.jpg
+++ b/doc/JETI_1501.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/License4.txt b/doc/License4.txt
index 61be41a..61be41a 100644..100755
--- a/doc/License4.txt
+++ b/doc/License4.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/Passport.jpg b/doc/Passport.jpg
new file mode 100755
index 0000000..9bfc401
--- /dev/null
+++ b/doc/Passport.jpg
Binary files differ
diff --git a/doc/Performance.html b/doc/Performance.html
index c45084b..c45084b 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
index e38d23a..e38d23a 100644..100755
--- a/doc/SMCube.jpg
+++ b/doc/SMCube.jpg
Binary files differ
diff --git a/doc/Scenarios.html b/doc/Scenarios.html
index 8aa5d64..9a55e88 100644..100755
--- a/doc/Scenarios.html
+++ b/doc/Scenarios.html
@@ -75,7 +75,7 @@
handled when calibration is being used<br>
</a></h4>
<h4> <a href="#LP1">Linking Profiles</a></h4>
- <p>&nbsp;&nbsp;&nbsp; <b><a href="#LP2">Image dependent gamut
+ <p>&nbsp;&nbsp;&nbsp; <b><a href="#LP3">Image dependent gamut
mapping using device links</a></b><br>
</p>
<p>&nbsp;&nbsp;&nbsp; <b><a href="#LP2">Soft Proofing Link</a></b><br>
@@ -186,6 +186,12 @@
+
+
+
+
+
+
and profiling a display that doesn't have VideoLUT access</a>.<br>
<br>
@@ -270,6 +276,12 @@
+
+
+
+
+
+
-r</span> for an LCD display, or <span style="text-decoration:
underline; color: rgb(204, 51, 204);">dispcal -yc -r</span> for a
@@ -667,6 +679,12 @@
+
+
+
+
+
+
(<span style="font-weight: bold;">-Iw</span>) changes by doing on
the fly calibrations during the measurements. Instrument black level
@@ -743,6 +761,12 @@
+
+
+
+
+
+
Correction Matrix</a>. These are specific to a particular
Colorimeter and Display make and model combination, although a
@@ -751,6 +775,16 @@
style="font-weight: bold;">ccmx</span> files is <a
href="ccmxs.html">here</a>.<br>
<br>
+ Another, more general approach to correcting Colorimeters is to
+ store the spectral sensitivities for each individual instrument in
+ the instrument itself, and then combine that with spectral samples
+ for a particular display type to compute a specific instrument +
+ display correction matrix on the fly (i.e. the i1d3 * Spyder 4 &amp;
+ 5 instruments). The display spectral samples can be stored in a <a
+ href="File_Formats.html#.ccss">Colorimeter Correction Spectral
+ Sample</a> file. A list of contributed <span style="font-weight:
+ bold;">ccss</span> files is <a href="ccsss.html">here</a>.<span
+ style="font-weight: bold;"></span><br>
<h4><a name="PM7"></a>Calibrating and profiling a display that
doesn't have VideoLUT access.</h4>
<p>In some situation there is no access to a displays VideoLUT
@@ -825,7 +859,7 @@
href="cctiff.html#p1">DisplayA.icm</a> <a href="cctiff.html#p2">DisplayA.cal</a>
<a href="cctiff.html#p3">infile.jpg</a> <a href="cctiff.html#p4">outfile.jpg</a><br>
<span style="font-weight: bold;"></span><br>
- <hr size="2" width="100%">
+ <hr width="100%" size="2">
<h3><a name="PS1"></a>Profiling Scanners and other input devices
such as cameras<br>
</h3>
@@ -917,6 +951,12 @@
+
+
+
+
+
+
SG</a> charts:<br>
<br>
@@ -924,6 +964,12 @@
width="200" height="122"> <img alt="ColorChecker SG" src="SG.jpg"
style="width: 174px; height: 122px;"><br>
<br>
+ A chart provided for camera profiling is the X-Rite <a
+ href="http://xritephoto.com/colorchecker-passport-photo">ColorCheckerPassport</a>:<br>
+ <br>
+ <img alt="ColorChecker Passport" src="Passport.jpg" width="166"
+ height="122"><br>
+ <br>
The GretagMacbeth Eye-One Pro Scan Target 1.4 can also be used:<br>
<br>
<img alt="Eye-One Scan Target 1.4" src="i1scan14.jpg" style="border:
@@ -991,6 +1037,12 @@
+
+
+
+
+
+
HCT</a> :<br>
<br>
@@ -1073,6 +1125,12 @@
+
+
+
+
+
+
Imaging DCPro Target</a>:<br>
<br>
@@ -1149,6 +1207,12 @@
+
+
+
+
+
+
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
@@ -1207,6 +1271,12 @@ href="http://www.qpcard.com/en_b2c/color-reference-cards/instant-camera-raw-prof
+
+
+
+
+
+
202</a>:<br>
<br>
@@ -1349,6 +1419,12 @@ 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. Name
@@ -1370,6 +1446,13 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
&nbsp;&nbsp;&nbsp;&nbsp; <a href="spec2cie.html">spec2cie</a>
ColorCheckerSG.ti3 ColorCheckerSG.cie<br>
<br>
+ For the full ColortChecker Passport chart, the <b>ref/ColorCheckerPassport.cht</b>
+ file should be used, or if just the 24 patches corresponding to
+ the original ColorChecker are in the shot, the <b>ref/ColorCheckerHalfPassport.cht</b>
+ should be used. A user has kindly provided their measured values
+ for this chart, and they are available in <b>ref/ColorCheckerPassport.cie</b>
+ and <b>ref/ColorCheckerHalfPassport.cie</b> respectively.<br>
+ <br>
For the Eye-One Pro Scan Target 1.4 chart, the <span
style="font-weight: bold;"><span style="font-weight: bold;">ref/</span>i1_RGB_Scan_1.4.cht</span>
file should be used, and as there is no reference file
@@ -1429,6 +1512,12 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
+
+
+
+
+
</span>file made from measuring a sample chart is also available.
Alternately you could create your own reference file by
@@ -1510,6 +1599,12 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
+
+
+
+
+
documentation</a>).<br>
<br>
@@ -1553,10 +1648,11 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
linearly additive in behaviour.<br>
<br>
If the purpose of the input profile is to use it as a substitute for
- a colorimeter, then the <b>-u</b> flag should be used to avoid
- clipping values above the white point. Unless the shaper/matrix type
- profile is a very good fit, it is probably advisable to use a LUT
- type profile in this situation.<br>
+ a colorimeter, then the <b>-ua</b> flag should be used to force
+ Absolute Colorimetric intent, and avoid clipping colors above the
+ test chart white point. Unless the shaper/matrix type profile is a
+ very good fit, it is probably advisable to use a LUT type profile in
+ this situation.<br>
<br>
To create a matrix/shaper profile, the following suffices:<br>
<br>
@@ -1576,7 +1672,7 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
<a href="colprof.html#E">-D"Scanner A"</a> <a href="colprof.html#q">-qm</a>
- <a href="colprof.html#a">-ax</a> <a href="colprof.html#u">-u</a> <a
+ <a href="colprof.html#a">-ax</a> <a href="colprof.html#u">-ua</a> <a
href="colprof.html#p1">scanner</a><br>
<br>
Make sure you check the delta E report at the end of the profile
@@ -1602,7 +1698,7 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
href="colprof.html#p1">scanner</a><br>
<br>
<br>
- <hr size="2" width="100%">
+ <hr width="100%" size="2">
<h3><a name="PP1"></a>Profiling Printers<br>
</h3>
The overall process is to create a set of device measurement target
@@ -1902,7 +1998,7 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
component images, if the scanner or camera is capable of doing so;
not setting white or black points, using a fixed exposure etc.). It
is generally advisable to create a LUT type input profile, and use
- the <a href="http://www.argyllcms.com/doc/colprof.html#u">-u</a>
+ the <a href="http://www.argyllcms.com/doc/colprof.html#ua">-ua</a>
flag to avoid clipping scanned value whiter than the input
calibration chart.<br>
<br>
@@ -1969,6 +2065,12 @@ 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>
@@ -2055,6 +2157,16 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
the most different gamuts, and hence need the most gamut mapping to
convert from one colorspace to the other.<br>
<br>
+ <b>Note</b> that specifying a very large gamut colorspace as the
+ source gamut (i.e. <b>ProPhoto</b> etc.) is probably <u><b>NOT</b></u>
+ what you want to do, since unless the source images have a similar
+ very large gamut to that of the colorspace, they will end up getting
+ over compressed and come out looking dull. Instead use a source
+ profile that has a gamut more representative of the images gamut, <b>or</b>
+ you should provide a gamut using the the <a href="colprof.html#g">-g
+
+ parameter</a>. <br>
+ <br>
If you are creating a profile for a specific purpose, intending to
link it to a specific input profile, then you will get the best
results by specifying that source profile as the source gamut.<br>
@@ -2124,6 +2236,12 @@ then
+
+
+
+
+
+
it can save considerable processing time and space if the -b flag is
used, and the -S flag not used.<br>
@@ -2271,6 +2389,12 @@ then
+
+
+
+
+
+
and then used <a href="xicclu.html#g">xicclu</a> to explore the
effect of the parameters.<br>
@@ -2742,6 +2866,12 @@ 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;
@@ -2814,6 +2944,12 @@ an
+
+
+
+
+
+
image file.<br>
&nbsp;&nbsp;&nbsp; <a href="applycal.html#p1">applycal</a>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2878,6 +3014,12 @@ an
+
+
+
+
+
+
To incorporate calibration into an ICC profile.<br>
&nbsp;&nbsp;&nbsp; <a href="chartread.html#I">chartread</a>&nbsp;&nbsp;
@@ -2950,6 +3092,12 @@ a
+
+
+
+
+
+
profile chart.<br>
<br>
@@ -3039,7 +3187,7 @@ a
represent such a physical quantity.<br>
<br>
<br>
- <hr size="2" width="100%">
+ <hr width="100%" size="2">
<h3><a name="LP1"></a>Linking Profiles</h3>
Two device profiles can be linked together to create a device link
profile, than encapsulates a particular device to device transform.
@@ -3217,7 +3365,7 @@ a
href="collink.html#d">-dmt</a> options, then either leave them out
or substitute values that do match your environment.<br>
&nbsp;
- <hr size="2" width="100%"><br>
+ <hr width="100%" size="2"><br>
<h3><a name="TR1"></a>Transforming colorspaces of raster files</h3>
Although a device profile or device link profile may be useful with
other programs and systems, Argyll provides the tool <a
@@ -3255,7 +3403,7 @@ a
<a href="cctiff.html#p3">infile.jpg</a> <a href="cctiff.html#p4">outfile.jpg</a><br>
<br>
<br>
- <hr size="2" width="100%"><br>
+ <hr width="100%" size="2"><br>
<h3><a name="TV1"></a>Creating Video Calibration 3DLuts</h3>
Video calibration typically involves trying to make your actual
display device emulate an ideal video display, one which matches
@@ -3297,6 +3445,12 @@ a
+
+
+
+
+
+
madvr</b>" in dispcal, dispread and dispwin. Leave the MadTPG
"VideoLUT" and "3dluts" buttons in their default&nbsp; (enabled)
@@ -3364,6 +3518,12 @@ a
+
+
+
+
+
+
interactive adjustment mode can be used to set the white point.
Note that while adjusting the neutral axis for neutrality may
@@ -3403,6 +3563,12 @@ a
+
+
+
+
+
+
of where to apply display per channel calibration curves.</b></li>
<li>Choose one of the Absolute Colorimetric intents in collink
@@ -3485,7 +3651,7 @@ a
that the Video card has automatically or manually been configured to
scale full range RGB values to Video levels for the TV. If the
latter is not possible, then use the -E options on dispcal and
- dispread. (See <b>Signal encoding</b> bellow for more details on
+ dispread. (See <b>Signal encoding</b> below for more details on
this). It may also improve the accuracy of the display profile if
you use the <a href="dispread.html#Z">dispread -Z</a> option to
quantize the test values to the precision of the display
@@ -3900,6 +4066,12 @@ a
+
+
+
+
+
+
TV.cal </tt>EBU3213_PAL.icm TV.icm SD_PAL.icm</tt><tt><br>
</tt><tt> </tt><tt><br>
@@ -3931,6 +4103,12 @@ a
+
+
+
+
+
+
TV.cal </tt>SMPTE_RP145_NTSC.icm TV.icm SD_NTSC.icm</tt><br>
<br>
@@ -3969,6 +4147,12 @@ a
+
+
+
+
+
+
TV.cal </tt>EBU3213_PAL.icm TV.icm SD_PAL.icm</tt><tt><br>
</tt><tt> </tt><tt><br>
@@ -4000,6 +4184,12 @@ a
+
+
+
+
+
+
TV.cal </tt>SMPTE_RP145_NTSC.icm TV.icm SD_NTSC.icm</tt><br>
<br>
@@ -4018,7 +4208,7 @@ a
the graphics card VideoLUTs in some other fashion.<tt><br>
<br>
</tt>
- <hr size="2" width="100%"><br>
+ <hr width="100%" size="2"><br>
<h3><a name="TV2"></a>Verifying Video Calibration</h3>
<p>Often it is desirable to verify the results of a video
calibration and profile, and the following gives an outline of how
@@ -4060,7 +4250,7 @@ a
options included "-I b:0.2:2.15" then the equivalent fakeread
option "-b 0.2:2.15:TV.icm" should be used, etc.<br>
</p>
- <hr size="2" width="20%">
+ <hr width="20%" size="2">
<p>A sanity check we can make at this point is to see what the
expected result of the profiling &amp; calibration will be, by
simulating the reproduction of this test set:<br>
@@ -4104,7 +4294,7 @@ a
checkA.ti3<br>
<br>
</tt></p>
- <hr size="2" width="20%">
+ <hr width="20%" size="2">
<p>You can explicitly compare the gamuts of your video space and
your display using the gamut tools:<br>
</p>
@@ -4119,7 +4309,7 @@ a
you should use iccgamut <b>-ir</b> instead of <b>-ia</b>, so as
to align the white points.<br>
</p>
- <hr size="2" width="20%">
+ <hr width="20%" size="2">
<p>The main verification check is to actually measure the display
response and compare it against the reference. Make sure the
display is setup as you would for video playback and then use
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
index 86b4be2..86b4be2 100644..100755
--- a/doc/Spyd5.jpg
+++ 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/SpyderChecker24.jpg b/doc/SpyderChecker24.jpg
index 022eb11..022eb11 100644..100755
--- a/doc/SpyderChecker24.jpg
+++ b/doc/SpyderChecker24.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/XRGA.html b/doc/XRGA.html
index 295d7b2..778b8bd 100644..100755
--- a/doc/XRGA.html
+++ b/doc/XRGA.html
@@ -27,6 +27,7 @@
href="https://www.xrite.com/documents/literature/en/L7-462_XRGA_WhitePaper_en.pdf">conversion
+
is possible</a> between these different standards. While such a
conversion is not perfect, it reduces the discontinuities between
old instrument families and current X-Rite instruments.<br>
@@ -133,5 +134,8 @@ href="https://www.xrite.com/documents/literature/en/L7-462_XRGA_WhitePaper_en.pd
(The DTP51 returns only colorimetric data, while the conversion
requires spectral data.)<br>
<br>
+ You can also convert from one standard to the other using <a
+ href="spec2cie.html#A">spec2cie</a>.<br>
+ <br>
</body>
</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 d820c7f..dd8d0d5 100644..100755
--- a/doc/afiles
+++ b/doc/afiles
@@ -69,6 +69,7 @@ calvschar.html
WideGamutColmters.html
CrushedDisplyBlacks.html
ArgyllCMS_arts_tag.html
+inoutreferred.html
i1proDriver.html
i1proDriver.xls
i1proHiRes.html
@@ -81,6 +82,7 @@ Source.html
average.html
applycal.html
cb2ti3.html
+ls2ti3.html
cctiff.html
cht_format.html
dispwin.html
@@ -149,6 +151,7 @@ CMP_DT_003.jpg
CMP_Digital_Target-4.jpg
CMP_Digital_Target-7.jpg
colorchecker.jpg
+Passport.jpg
SpyderChecker.jpg
SpyderChecker24.jpg
LSDC.jpg
@@ -193,4 +196,6 @@ ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx
ccmxs/Spyder3_HP_LP2475w.ccmx
ccmxs/Spyder3_NEC2690WUXi2.ccmx
ccmxs/Spyder3_NEC_PA301W.ccmx
+ccsss.html
+ccsss/MacBookProRetina2016.ccss
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 e67ab2d..e67ab2d 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/ccsss.html b/doc/ccsss.html
new file mode 100755
index 0000000..98d5489
--- /dev/null
+++ b/doc/ccsss.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Contributed CCMX files</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=windows-1252">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>Contributed ccss files.<br>
+ </b></h2>
+ <span style="font-weight: bold;">ccss</span> files allow some
+ Colorimeters to be better calibrated for a particular Display make
+ and model combination.<br>
+ <span style="font-weight: bold;"></span><br>
+ <table style="text-align: left;" border="1" cellpadding="2"
+ cellspacing="2" width="100%">
+ <tbody>
+ <tr>
+ <td style="text-align: center; vertical-align: top;"
+ width="40%">Display<br>
+ </td>
+ <td style="vertical-align: top;" width="60%">CCSS<br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">Apple MacBook Pro Retina 2016</td>
+ <td style="vertical-align: top;"><a
+ href="ccsss/MacBookProRetina2016.ccss">MacBook Pro Retina
+ 2016</a></td>
+ </tr>
+ </tbody>
+ </table>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;"></span> If anyone wants to
+ contribute correction matrices that they've made for particular
+ display, I'm happy to put them on the website so that others can
+ make use of them. Any <span style="font-weight: bold;">ccss</span>
+ files contributed for this purpose will be assumed to have been
+ placed in the <span style="font-weight: bold;">public domain</span>.<br>
+ <br>
+ <script language="JavaScript">
+<!--
+// Comment
+var v1 = ".com"
+var v2 = "argyllcms"
+var v3 = "graeme"
+var v4 = "@"
+var v5 = "mailto:"
+var v6 = v5 + v3 + v4 + v2 + v1
+document.write("<a href=" + v6 + ">" + "Contact Me" + "</a>")
+//-->
+</script><br>
+ &nbsp;
+ </body>
+</html>
diff --git a/doc/ccsss/MacBookProRetina2016.ccss b/doc/ccsss/MacBookProRetina2016.ccss
new file mode 100755
index 0000000..bff4bc8
--- /dev/null
+++ b/doc/ccsss/MacBookProRetina2016.ccss
@@ -0,0 +1,24 @@
+CCSS
+
+DESCRIPTOR "CCSS for MacBook Pro Retina Display 2016"
+ORIGINATOR "Argyll ccxxmake"
+CREATED "Wed Jan 4 12:38:51 2017"
+DISPLAY "Color LCD, at 0, 0, width 1440, height 900 (Primary Display)"
+TECHNOLOGY "LCD RG Phosphor IPS"
+SPECTRAL_BANDS "481"
+SPECTRAL_START_NM "350.000000"
+SPECTRAL_END_NM "830.000000"
+SPECTRAL_NORM "1.000000"
+
+NUMBER_OF_FIELDS 482
+BEGIN_DATA_FORMAT
+SAMPLE_ID SPEC_350 SPEC_351 SPEC_352 SPEC_353 SPEC_354 SPEC_355 SPEC_356 SPEC_357 SPEC_358 SPEC_359 SPEC_360 SPEC_361 SPEC_362 SPEC_363 SPEC_364 SPEC_365 SPEC_366 SPEC_367 SPEC_368 SPEC_369 SPEC_370 SPEC_371 SPEC_372 SPEC_373 SPEC_374 SPEC_375 SPEC_376 SPEC_377 SPEC_378 SPEC_379 SPEC_380 SPEC_381 SPEC_382 SPEC_383 SPEC_384 SPEC_385 SPEC_386 SPEC_387 SPEC_388 SPEC_389 SPEC_390 SPEC_391 SPEC_392 SPEC_393 SPEC_394 SPEC_395 SPEC_396 SPEC_397 SPEC_398 SPEC_399 SPEC_400 SPEC_401 SPEC_402 SPEC_403 SPEC_404 SPEC_405 SPEC_406 SPEC_407 SPEC_408 SPEC_409 SPEC_410 SPEC_411 SPEC_412 SPEC_413 SPEC_414 SPEC_415 SPEC_416 SPEC_417 SPEC_418 SPEC_419 SPEC_420 SPEC_421 SPEC_422 SPEC_423 SPEC_424 SPEC_425 SPEC_426 SPEC_427 SPEC_428 SPEC_429 SPEC_430 SPEC_431 SPEC_432 SPEC_433 SPEC_434 SPEC_435 SPEC_436 SPEC_437 SPEC_438 SPEC_439 SPEC_440 SPEC_441 SPEC_442 SPEC_443 SPEC_444 SPEC_445 SPEC_446 SPEC_447 SPEC_448 SPEC_449 SPEC_450 SPEC_451 SPEC_452 SPEC_453 SPEC_454 SPEC_455 SPEC_456 SPEC_457 SPEC_458 SPEC_459 SPEC_460 SPEC_461 SPEC_462 SPEC_463 SPEC_464 SPEC_465 SPEC_466 SPEC_467 SPEC_468 SPEC_469 SPEC_470 SPEC_471 SPEC_472 SPEC_473 SPEC_474 SPEC_475 SPEC_476 SPEC_477 SPEC_478 SPEC_479 SPEC_480 SPEC_481 SPEC_482 SPEC_483 SPEC_484 SPEC_485 SPEC_486 SPEC_487 SPEC_488 SPEC_489 SPEC_490 SPEC_491 SPEC_492 SPEC_493 SPEC_494 SPEC_495 SPEC_496 SPEC_497 SPEC_498 SPEC_499 SPEC_500 SPEC_501 SPEC_502 SPEC_503 SPEC_504 SPEC_505 SPEC_506 SPEC_507 SPEC_508 SPEC_509 SPEC_510 SPEC_511 SPEC_512 SPEC_513 SPEC_514 SPEC_515 SPEC_516 SPEC_517 SPEC_518 SPEC_519 SPEC_520 SPEC_521 SPEC_522 SPEC_523 SPEC_524 SPEC_525 SPEC_526 SPEC_527 SPEC_528 SPEC_529 SPEC_530 SPEC_531 SPEC_532 SPEC_533 SPEC_534 SPEC_535 SPEC_536 SPEC_537 SPEC_538 SPEC_539 SPEC_540 SPEC_541 SPEC_542 SPEC_543 SPEC_544 SPEC_545 SPEC_546 SPEC_547 SPEC_548 SPEC_549 SPEC_550 SPEC_551 SPEC_552 SPEC_553 SPEC_554 SPEC_555 SPEC_556 SPEC_557 SPEC_558 SPEC_559 SPEC_560 SPEC_561 SPEC_562 SPEC_563 SPEC_564 SPEC_565 SPEC_566 SPEC_567 SPEC_568 SPEC_569 SPEC_570 SPEC_571 SPEC_572 SPEC_573 SPEC_574 SPEC_575 SPEC_576 SPEC_577 SPEC_578 SPEC_579 SPEC_580 SPEC_581 SPEC_582 SPEC_583 SPEC_584 SPEC_585 SPEC_586 SPEC_587 SPEC_588 SPEC_589 SPEC_590 SPEC_591 SPEC_592 SPEC_593 SPEC_594 SPEC_595 SPEC_596 SPEC_597 SPEC_598 SPEC_599 SPEC_600 SPEC_601 SPEC_602 SPEC_603 SPEC_604 SPEC_605 SPEC_606 SPEC_607 SPEC_608 SPEC_609 SPEC_610 SPEC_611 SPEC_612 SPEC_613 SPEC_614 SPEC_615 SPEC_616 SPEC_617 SPEC_618 SPEC_619 SPEC_620 SPEC_621 SPEC_622 SPEC_623 SPEC_624 SPEC_625 SPEC_626 SPEC_627 SPEC_628 SPEC_629 SPEC_630 SPEC_631 SPEC_632 SPEC_633 SPEC_634 SPEC_635 SPEC_636 SPEC_637 SPEC_638 SPEC_639 SPEC_640 SPEC_641 SPEC_642 SPEC_643 SPEC_644 SPEC_645 SPEC_646 SPEC_647 SPEC_648 SPEC_649 SPEC_650 SPEC_651 SPEC_652 SPEC_653 SPEC_654 SPEC_655 SPEC_656 SPEC_657 SPEC_658 SPEC_659 SPEC_660 SPEC_661 SPEC_662 SPEC_663 SPEC_664 SPEC_665 SPEC_666 SPEC_667 SPEC_668 SPEC_669 SPEC_670 SPEC_671 SPEC_672 SPEC_673 SPEC_674 SPEC_675 SPEC_676 SPEC_677 SPEC_678 SPEC_679 SPEC_680 SPEC_681 SPEC_682 SPEC_683 SPEC_684 SPEC_685 SPEC_686 SPEC_687 SPEC_688 SPEC_689 SPEC_690 SPEC_691 SPEC_692 SPEC_693 SPEC_694 SPEC_695 SPEC_696 SPEC_697 SPEC_698 SPEC_699 SPEC_700 SPEC_701 SPEC_702 SPEC_703 SPEC_704 SPEC_705 SPEC_706 SPEC_707 SPEC_708 SPEC_709 SPEC_710 SPEC_711 SPEC_712 SPEC_713 SPEC_714 SPEC_715 SPEC_716 SPEC_717 SPEC_718 SPEC_719 SPEC_720 SPEC_721 SPEC_722 SPEC_723 SPEC_724 SPEC_725 SPEC_726 SPEC_727 SPEC_728 SPEC_729 SPEC_730 SPEC_731 SPEC_732 SPEC_733 SPEC_734 SPEC_735 SPEC_736 SPEC_737 SPEC_738 SPEC_739 SPEC_740 SPEC_741 SPEC_742 SPEC_743 SPEC_744 SPEC_745 SPEC_746 SPEC_747 SPEC_748 SPEC_749 SPEC_750 SPEC_751 SPEC_752 SPEC_753 SPEC_754 SPEC_755 SPEC_756 SPEC_757 SPEC_758 SPEC_759 SPEC_760 SPEC_761 SPEC_762 SPEC_763 SPEC_764 SPEC_765 SPEC_766 SPEC_767 SPEC_768 SPEC_769 SPEC_770 SPEC_771 SPEC_772 SPEC_773 SPEC_774 SPEC_775 SPEC_776 SPEC_777 SPEC_778 SPEC_779 SPEC_780 SPEC_781 SPEC_782 SPEC_783 SPEC_784 SPEC_785 SPEC_786 SPEC_787 SPEC_788 SPEC_789 SPEC_790 SPEC_791 SPEC_792 SPEC_793 SPEC_794 SPEC_795 SPEC_796 SPEC_797 SPEC_798 SPEC_799 SPEC_800 SPEC_801 SPEC_802 SPEC_803 SPEC_804 SPEC_805 SPEC_806 SPEC_807 SPEC_808 SPEC_809 SPEC_810 SPEC_811 SPEC_812 SPEC_813 SPEC_814 SPEC_815 SPEC_816 SPEC_817 SPEC_818 SPEC_819 SPEC_820 SPEC_821 SPEC_822 SPEC_823 SPEC_824 SPEC_825 SPEC_826 SPEC_827 SPEC_828 SPEC_829 SPEC_830
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 4
+BEGIN_DATA
+1 -1.229074 1.028282 0.770825 0.543063 -0.197559 -0.152853 0.0499446 0.544099 0.189839 -0.0695990 -0.217327 0.218432 -0.0893429 0.142626 0.109164 0.172274 0.145968 0.114672 0.118308 -0.0786512 -0.0469904 0.208286 -0.122146 -0.0570022 0.137393 0.0146724 0.285069 -0.0541183 0.00337448 0.0121737 -0.0869573 0.138847 0.0631061 0.0446967 -0.0448670 -0.0992977 0.0992094 -0.132525 -0.0881117 -0.00433100 0.121623 0.0709305 0.172482 0.00470956 0.0770000 0.0633437 -0.0599632 0.00909850 0.0958201 0.0447204 0.0577566 0.00334247 0.0362516 -0.0511613 -0.0708144 -0.0117990 -0.0547063 0.142869 -0.0574402 -0.0736521 -0.0523000 -0.0226448 0.169945 -0.0807340 -0.0238772 -0.00492732 -0.00922519 0.0103264 0.0160797 0.0110569 -0.0617886 -0.121445 0.0228940 0.0195891 0.00483310 -0.0974835 -0.0565302 0.0389412 -0.0482179 0.0776888 0.00990931 0.0574053 -0.0445352 -0.0324823 0.105737 0.0759443 0.00813189 0.0757578 -0.0583909 0.0453077 0.0534197 0.214696 0.0760834 0.0416822 0.109562 0.0820944 0.139800 -0.0680833 0.155668 0.0713542 0.00346917 0.0979966 0.0265617 0.0460216 0.105533 0.0786731 0.0253641 0.136271 0.109117 0.0348591 0.0743953 0.00794790 0.0700562 0.00978926 0.0388147 0.0347358 0.0543960 0.0546260 0.115587 0.0747742 0.0342944 -0.102561 0.0935115 0.0342410 0.0186655 0.0166987 -0.00953181 -0.133102 -0.0493964 0.0282524 0.0886579 0.0261374 -0.0775343 -0.0478621 -0.00835317 0.0624340 0.0576478 -0.0208976 0.0282001 -0.0584022 -0.0391725 0.0136778 0.0153741 -0.0587399 0.0236229 0.0272606 0.0471005 0.0108597 0.0815823 0.0265309 0.0129400 0.0511739 -0.0196646 0.0168517 0.0429896 -0.0146275 0.0772866 0.0833747 -0.0296748 0.0228466 0.110755 0.0686586 0.0471500 0.0692692 0.0355990 0.0329450 0.0518768 0.0749167 0.0142600 0.00215427 0.0875422 0.115043 0.0315398 0.100544 0.133605 0.0419958 0.120457 0.0325583 -0.0148224 0.0505012 0.0867324 0.0198438 0.0386593 0.0339940 0.0100526 0.0816421 0.0411999 0.0653864 0.0479783 0.0653390 0.0148646 0.0329550 0.0619965 0.0138486 0.00696815 0.0928040 0.0428200 0.0610425 0.0511114 0.0792891 0.0322182 0.0838776 0.107338 0.0509220 -0.0409372 -0.0257744 -0.0237027 0.0452012 0.106608 0.157496 0.0577609 0.0349918 0.0168734 -0.0247675 -0.0388995 0.0781781 0.0216531 0.155534 0.0113826 0.103274 -0.00823076 0.120889 0.135217 0.102732 0.182175 0.271129 0.287134 0.438888 0.756609 0.881830 1.216372 1.647380 2.141313 2.474233 2.941798 3.421831 3.998791 4.363839 4.798997 5.109260 5.616134 5.643935 6.077715 6.288497 6.485942 6.781084 7.207885 7.639834 7.839772 7.874962 7.884899 7.989706 7.991143 7.873406 8.418205 9.695127 12.94689 17.02852 20.32062 21.38383 23.78977 30.09967 37.66430 39.81123 36.06109 29.10201 21.67810 17.17901 15.11602 14.47326 13.99081 13.62798 14.05815 14.79710 16.33024 18.55373 21.99596 31.95430 53.27721 80.78725 100.0000 97.46747 87.31952 80.97530 76.77822 68.59079 52.87788 35.33100 20.28425 11.42425 7.638963 6.323268 5.702443 5.664914 7.470315 12.13936 17.77611 20.47254 18.73917 14.05317 9.756094 7.070343 6.144192 4.892860 4.149095 3.612512 3.267638 2.886455 2.491948 2.270012 1.977040 1.815037 1.678537 1.464809 1.362137 1.279760 1.467391 1.322986 1.626307 1.820950 1.849515 1.733422 1.451177 1.189411 1.121836 0.963698 0.811524 0.795602 0.700275 0.741441 0.711367 0.730769 0.759391 0.674034 0.630072 0.515094 0.624801 0.619430 0.595153 0.604770 0.561686 0.621337 0.581283 0.555776 0.531120 0.493322 0.475352 0.489998 0.400185 0.431782 0.357676 0.373345 0.423131 0.340674 0.308411 0.361090 0.352102 0.393263 0.242701 0.269147 0.222446 0.346448 0.281205 0.388677 0.376336 0.326877 0.287953 0.292793 0.259125 0.220350 0.328088 0.288138 0.261598 0.196519 0.203897 0.251519 0.158627 0.163374 0.153745 0.200347 0.211917 0.117549 0.157297 0.0857614 0.172939 0.285866 0.106122 0.165848 0.234238 0.123573 0.142481 0.0939807 0.165584 0.179049 0.308712 0.139156 0.0371728 0.118719 0.109961 0.191534 0.223568 0.00528391 0.0241478 0.0576591 0.138814 0.229813 0.0968510 0.189545 0.177570 0.144188 0.204907 0.120354 0.101390 0.0802231 0.267769 0.311626 0.111053 0.0479564 0.136158 0.0363904 0.0662809 0.187991 0.182495 0.105865 -0.0189635 -0.0156891 0.196980 0.0599020 -0.00581312 0.103314 0.176971 -0.0304219 0.161510 0.172221 0.0969710 0.0645536 -0.0486514 -0.0515814 -0.0941731 0.0327929 0.171662 0.216267 0.0812484 0.102985 0.259040 -0.0125856 0.153270 0.125254 0.121109 0.0597115 0.107424 0.0379594 0.0389836 -0.0477219 0.157304 -0.000455669 0.0285114 0.154310 0.146356 0.239821 0.0800535 0.102750 -0.182462 0.00378071 -0.139762 0.0880396 0.0844002 0.0397942 -0.0431988 0.281857 0.145444 0.137001 0.120001 0.0391117 0.213601 0.0322087 0.0111827 0.144315 0.186386 0.324798 0.0222881
+2 -0.681341 0.224629 0.0108907 0.448846 0.220465 -0.339188 -0.149369 -0.176743 0.136170 0.0205700 0.117322 -0.0957620 0.283149 0.108968 -0.00251887 -0.0320039 -0.0525611 0.0200508 0.0801742 0.0437924 -0.0307340 0.0369494 0.0738610 0.0161450 -0.00174820 0.0832689 0.0280776 0.109536 0.0121685 0.00525243 0.00643856 0.0523043 0.0984995 0.00615737 0.0231364 0.0301465 0.0991673 0.00284105 0.0361439 0.0177092 0.0450352 0.233897 0.0474781 0.0235929 0.0317464 0.0544095 -0.00761268 0.0765607 0.0266390 -0.0440637 -0.0377256 0.00439779 -0.0348870 0.0184109 -0.0366677 -0.0400407 0.102186 -0.0180155 0.00429331 0.0424968 0.0346222 0.0494196 0.0189406 0.00623954 0.0178935 0.0199140 -0.0316318 0.0279317 -0.0182917 -0.00183687 -0.0102002 0.00312172 0.00479984 0.0155739 0.0593299 0.0113471 0.0308604 -0.00218622 -0.00102005 0.0183346 -0.00343486 0.0153781 -0.00368015 0.0722997 0.0787043 0.0233179 -0.0262993 0.0475141 0.0670581 0.0789776 0.0388247 0.0595790 0.0941747 0.148759 0.160289 0.155340 0.161809 0.256651 0.184987 0.170392 0.234022 0.236935 0.168146 0.146746 0.130571 0.128584 0.115825 0.156357 0.0937267 0.125502 0.138099 0.120237 0.143726 0.159372 0.189075 0.196147 0.147864 0.209575 0.244785 0.252957 0.309791 0.265775 0.379059 0.438606 0.475131 0.605934 0.679276 0.824868 0.918898 1.041264 1.181145 1.326086 1.460938 1.542890 1.652181 1.771378 1.749470 1.847027 1.890408 1.895732 1.921862 1.975945 2.127608 2.198850 2.307588 2.454665 2.702855 2.957885 3.290204 3.615434 3.998220 4.582009 5.229711 5.884497 6.590210 7.388928 8.252886 9.417835 10.58434 11.62222 12.91816 14.18645 15.47490 16.99124 18.19814 19.36450 20.45670 21.58248 22.87530 24.18470 25.66978 26.77796 27.98341 28.80040 29.80135 30.62489 31.64610 33.16751 34.40123 35.49808 36.47802 37.23686 37.87171 38.62024 39.47772 39.77423 39.88346 40.50524 40.29284 40.09369 39.94620 39.66352 39.47602 38.83058 38.32525 37.38533 36.20790 35.26518 34.45582 33.61303 32.68381 31.55270 30.19063 28.67903 27.19662 25.71420 24.87264 23.59857 22.44443 21.39621 20.61162 19.67642 18.75363 17.72603 16.85635 16.08044 15.07321 14.14388 13.27401 12.37297 11.72047 10.88642 10.29464 9.558503 9.007650 8.294290 7.837205 7.282896 6.946834 6.366132 5.992825 5.583579 5.183507 4.619461 4.330765 3.930660 3.694165 3.315585 3.120867 2.726083 2.454882 2.116177 1.934349 1.708181 1.575233 1.417333 1.322999 1.199221 0.973418 0.866157 0.765858 0.667664 0.549677 0.561594 0.478159 0.402369 0.369874 0.426794 0.438226 0.369603 0.365007 0.281240 0.331622 0.389252 0.298912 0.186745 0.136623 0.116604 0.0758921 0.117782 0.156616 0.0796964 0.124959 0.108123 0.0425565 0.0942738 0.0923970 0.0849929 0.0976281 0.105441 0.0591186 0.134383 0.113427 0.0947573 0.0793037 0.0767729 0.137612 0.0731932 0.0529911 0.0330115 0.0356194 0.0139859 0.0879669 0.0480973 0.0382105 0.0433214 0.0597546 0.0462188 0.0413747 0.0345610 0.0352557 0.0296437 0.00510208 -0.0111730 0.0593417 0.0102866 -0.0112577 0.000115408 -0.0344929 0.0131426 -0.00718016 0.0103273 0.0211947 0.00428334 -0.0128960 0.0273422 -0.00120351 0.00319796 0.0586451 0.0401155 0.0655941 0.0155755 0.00506276 0.0388504 0.0837667 0.0623819 -0.0269127 0.0140543 0.0730314 0.0228300 -0.00267933 0.0276535 0.0686044 0.0371276 0.0873406 -0.00324223 0.0485331 0.0240934 0.0176873 0.0342533 0.0293976 0.0126527 0.0334182 0.0495225 0.0136768 -0.00320042 0.00899626 -0.0703290 -0.0166176 0.0489032 0.0333951 0.0571858 -0.00501023 0.00439606 0.0689153 0.00393363 -0.0599174 0.0407132 0.0595929 0.106086 0.0309952 0.000988995 0.0624800 0.00665556 0.0684873 0.0436029 0.0224392 0.0398872 -0.00108095 -0.0101571 0.0215760 -0.00370246 -0.0855346 -0.0302690 -0.00178068 -0.0328490 -0.0109110 0.0232862 -0.0228716 -0.00108662 0.0954189 0.0495516 0.0710540 -0.0117678 0.0168066 0.00345244 0.0269005 0.0265877 -0.0132871 -0.0279005 -0.000831766 0.00332323 0.0322455 -0.0309309 -0.0104107 -0.0715796 0.0262563 0.0595817 -0.0311421 0.0185733 -0.0319267 -0.0253794 0.102474 0.0489917 0.0978273 0.0188420 0.130556 -0.0302547 0.00686338 0.0964913 0.184661 -0.00674266 -0.00628852 0.0119185 0.00297298 0.0458076 -0.00744862 0.0100119 0.0109323 0.0634147 0.137742 -0.00892943 0.0922367 0.123444 0.0754331 -0.0225961 -0.00258196 0.0311332 0.0227818 -0.0299732 -0.0206978 0.00978773 -0.0621992 0.0493773 0.0689280 0.0446407 -0.0149230 0.0317524 0.0952839 0.0641749 0.0449067 0.122198 0.0287715 0.000527126 -0.0135536 -0.0746910 0.0903372 0.0865920 0.0794522 0.0576097 0.0550314 0.00526858 -0.0184926 0.0917024 0.0475254 0.0564546 0.162786 0.158228 0.162686 0.0686142 0.105456 0.0820664 0.0813821 0.0597726 0.0808178 0.0757342 0.108232 0.109213 0.103468 0.0997066 0.0798817 0.0508388 0.134775 0.0984899 -0.00394619 0.0875386 0.124268 0.220103 0.0660750 0.155327 0.122859
+3 0.605440 -0.248081 -0.108365 -0.0812667 0.245061 -0.0231501 0.202870 -0.182028 0.255358 0.0267778 -0.0882754 -0.0289259 0.0989719 0.0910204 0.125218 0.136748 0.191823 0.258395 0.295684 -0.0352722 0.119668 -0.0460885 0.0927024 0.0757638 0.0484287 0.112105 0.0690559 0.0533907 0.0634765 -0.000849437 0.0102559 0.181101 0.310039 0.115178 0.178144 0.199961 0.0561609 0.143498 0.212479 0.122984 0.259287 0.319376 0.224975 0.112151 0.196072 0.180949 0.0949835 0.166070 0.183451 0.151753 0.193563 0.279231 0.228188 0.175584 0.235892 0.266917 0.315884 0.253228 0.251425 0.315274 0.276631 0.226351 0.348799 0.310402 0.382948 0.455527 0.428788 0.492653 0.561569 0.679713 0.814433 0.917635 1.175443 1.338843 1.616778 2.001516 2.341921 2.813980 3.362933 4.039188 4.796502 5.717830 6.802731 8.107656 9.580970 11.22865 13.44454 16.10228 19.34284 22.96170 26.90967 31.41083 37.11987 41.60351 46.74849 52.02323 57.33634 60.54945 62.95567 64.01985 63.51180 61.35891 58.44678 54.41191 50.24116 46.32940 42.23823 38.81778 35.97620 33.51004 31.41065 29.46763 27.61218 25.82418 23.90379 21.99081 20.16573 18.48000 16.59059 14.84334 13.60821 12.13067 10.80916 9.719923 8.891028 8.158058 7.490126 6.744443 6.338065 5.840059 5.379836 4.961801 4.671213 4.255821 3.960469 3.501906 3.232510 2.908465 2.617891 2.419616 2.206970 2.017347 2.102535 1.970668 1.883493 1.914789 1.949093 1.969419 2.049452 2.192724 2.293523 2.406538 2.549274 2.728403 2.918588 3.046748 3.150692 3.375909 3.563464 3.735439 3.965578 4.046294 4.100564 4.122626 4.161782 4.202637 4.083277 4.041697 4.135411 4.027405 3.822940 3.768800 3.716782 3.619679 3.405031 3.273081 3.117031 2.979380 2.770307 2.527265 2.325561 2.235617 2.061255 1.909248 1.709349 1.599354 1.477033 1.332447 1.183321 1.061246 0.942162 0.840989 0.767690 0.675198 0.619182 0.440326 0.377832 0.396071 0.286020 0.256575 0.336825 0.240102 0.165616 0.149659 0.0936311 0.0841221 0.0837432 0.105052 0.131715 0.0270390 0.0899259 0.0924528 0.0195313 0.0244554 0.0795556 0.0475256 0.0497621 0.0763155 0.0804940 0.0309931 -0.00414540 0.0136799 0.00357446 0.00199249 -0.0430382 0.0144840 0.0414488 0.0349215 0.0244667 0.00446919 0.0577950 0.00927942 0.0351902 -0.0000890410 0.0755101 0.0696358 0.0302342 0.00972013 -0.0426678 0.0836869 0.0205869 0.0745135 0.0500788 -0.00899777 -0.0311308 0.0308476 0.0266274 -0.00578369 -0.0190607 0.0258098 0.0270834 0.0279534 0.0401905 -0.0281210 0.0380357 0.0439006 0.0148114 0.0860736 -0.00986524 0.00696534 0.0550147 0.0321277 -0.00170773 0.0652334 0.00214952 0.0209479 0.0429783 0.0129535 -0.0648097 0.0189574 0.00936155 -0.00531208 -0.0148250 0.00673896 0.0693856 -0.0572130 0.0339122 0.0241131 0.0440967 0.0830033 0.0677121 0.0797581 0.0897889 0.0784629 0.132332 0.0871548 0.0587426 0.00775822 0.0603318 -0.0131460 0.0640756 -0.0277030 -0.0292432 0.00347343 0.0737244 -0.00913850 -0.0205686 -0.0111233 0.0674926 -0.0338532 0.00873906 0.0447927 0.0220340 -0.0747194 0.0563335 0.0214755 -0.0229396 0.00291316 -0.0424794 0.00557996 -0.0223344 -0.0370069 -0.00915344 0.0150581 0.0529108 -0.00868627 0.0353028 0.0266140 0.0347852 0.0325665 0.0145371 0.0261198 -0.00369994 -0.0230605 -0.0159590 0.0340464 -0.0304270 -0.0702857 -0.0387365 -0.00323191 0.0165832 -0.00443108 -0.000798763 0.0430412 0.0384100 0.00303719 0.000255308 0.0580186 0.00668364 -0.0254708 0.0181620 0.0307183 0.0182038 -0.0617133 0.0858128 -0.0944879 0.0258835 0.0814216 0.0319502 0.0646827 0.0168057 -0.0469404 0.0262439 -0.0777939 -0.0279119 0.0151098 0.00501222 -0.0289025 0.000480301 -0.131736 0.0297386 -0.0479392 -0.0376984 -0.0359883 0.0174931 0.0707260 -0.0798008 -0.0270310 -0.0273635 0.0289083 0.0906470 -0.0315575 -0.0348460 0.0525394 0.0865574 0.161158 -0.0162611 0.0682026 0.0600264 -0.00823299 -0.0254981 0.0388708 0.0235037 -0.0896806 0.0208950 0.0900680 0.0212962 0.0174412 -0.00734033 0.0711307 -0.0611705 -0.0798481 0.0265800 -0.0465537 0.0877898 0.0214077 0.0423860 -0.0741379 -0.0788414 0.0269989 -0.0543612 0.0615723 0.0166903 -0.0394955 -0.0229464 -0.0207412 -0.0341364 0.0313392 0.0673323 0.0786853 -0.0492880 0.0107205 0.0423312 -0.0129137 -0.0464363 0.0959452 -0.0627355 -0.0479210 0.000726023 0.0118439 0.00471910 -0.0438892 -0.0127887 0.0513683 0.0818131 0.0681787 0.167731 -0.0333133 -0.0478452 -0.0520634 -0.00366616 -0.0294156 -0.00879096 0.0136524 0.143600 0.0702123 -0.0120063 -0.00958843 0.0327755 0.0104146 0.121913 0.0340281 0.0326330 0.0440299 0.137373 0.258965 0.136004 0.00190704 -0.137202 0.0886893 0.0739976 0.0979148 0.0677261 0.0209136 0.0925282 0.157286 0.0778707 -0.0136447 0.0387868 -0.00156552 0.181098 0.140316 0.0365597 0.138972 0.0417863 0.0344944 0.102652 0.0788329 0.0318898 0.0365864 -0.0121223 0.0825118 0.154041 0.158069 0.122016 0.100888 0.0190466 0.0766090 0.0925453 0.142485 0.0707152
+4 1.595279 -0.267071 1.413421 0.832073 0.330684 -0.0290322 0.187577 0.117184 0.393705 -0.00421955 0.0781992 0.213289 -0.127661 0.443639 0.364321 0.154131 0.292099 0.209658 0.159578 0.121724 0.209504 -0.0348630 0.241598 0.0539795 0.374983 0.201308 0.320097 0.0251845 0.0808913 -0.0160640 0.157717 0.00437843 0.242663 -0.0380717 0.120700 0.156957 0.217687 0.243299 0.228515 0.107278 0.0858745 0.0664846 0.183779 0.176295 0.0975108 0.246435 0.251230 0.174439 0.220927 0.278229 0.386490 0.396048 0.330791 0.283474 0.298646 0.305066 0.252082 0.170358 0.238978 0.356126 0.326331 0.284523 0.308428 0.470387 0.452110 0.521969 0.557543 0.601409 0.559975 0.688528 0.751964 0.965921 1.194223 1.488590 1.748624 2.004605 2.474538 2.939625 3.344689 4.276773 4.795708 5.560631 6.655064 8.290498 9.717433 11.30808 13.29098 16.18261 19.32436 23.06637 26.86823 31.40205 37.13154 41.88772 47.33168 52.48280 57.73006 61.22387 63.45125 64.74852 64.02890 62.13192 59.17694 55.42482 50.78828 46.48410 42.38424 39.11901 36.11338 33.43474 31.44118 29.27671 27.49406 25.65797 23.73723 22.07577 20.40288 18.46525 16.82849 15.28232 13.79701 12.44949 11.15538 10.26310 9.426884 8.752518 8.083485 7.719931 7.157696 6.870334 6.503525 6.201553 6.116867 5.804410 5.505751 5.208474 5.116297 4.734132 4.547364 4.259882 4.111677 4.041070 3.912080 4.017874 4.130650 4.402754 4.553505 4.903321 5.415545 5.761668 6.252872 6.825158 7.706766 8.431316 9.439566 10.44072 11.30339 12.68698 13.84674 15.21660 16.63156 17.66067 19.58327 20.91130 22.27847 23.61164 24.67705 25.40217 26.55463 27.92177 29.40274 30.34885 31.52987 32.56499 33.11707 33.71354 34.43531 35.68731 36.78125 37.82579 38.77566 39.40298 40.09636 40.73695 41.19779 40.99215 41.71815 41.40529 41.58203 41.77044 41.07521 40.69829 40.59592 39.54771 38.88740 37.86746 36.76603 35.88795 34.79487 33.76213 32.74854 31.40403 29.98434 28.63649 27.43981 25.73823 24.87184 23.80234 22.39784 21.32809 20.68011 19.95831 18.73467 17.72467 16.66560 16.02326 14.97285 14.30080 13.33750 12.26686 11.81708 10.89788 10.27938 9.544734 9.208363 8.646208 8.137745 7.965984 7.401904 7.381935 7.060124 7.063072 7.011218 7.013887 7.439595 7.367568 7.485605 7.695443 7.861756 7.909449 7.898421 7.834027 7.866130 7.934604 7.933275 8.143575 8.310509 8.535821 8.561282 8.610562 8.423892 8.363094 8.333000 8.318197 8.836642 10.11123 13.07918 17.44832 20.31954 21.21006 23.73149 30.51880 37.07600 39.29722 35.71817 28.52599 21.42093 17.07092 15.30663 14.53564 14.04077 13.66697 13.76080 14.79738 16.29631 18.22325 21.94381 31.07216 52.39020 80.14292 99.26850 96.76690 86.96336 80.88165 76.34343 68.03736 51.82996 34.29944 19.78207 11.67823 7.620393 6.319976 5.682926 5.653817 7.202740 12.21208 17.67776 20.47920 18.33676 13.94515 9.706223 6.867896 5.689679 4.799857 4.127430 3.626008 3.105786 2.837879 2.527242 2.417294 2.250906 1.960406 1.684871 1.436465 1.281023 1.231534 1.309802 1.409347 1.544365 1.808096 1.742216 1.593269 1.557432 1.157897 1.093673 1.022861 0.887396 0.840646 0.740207 0.859497 0.796712 0.654523 0.727507 0.673973 0.703954 0.675309 0.672423 0.710310 0.776384 0.562205 0.580374 0.656067 0.543687 0.551711 0.509790 0.404774 0.503136 0.550323 0.508558 0.438375 0.426626 0.347692 0.405998 0.475545 0.348702 0.340989 0.250200 0.383617 0.361680 0.302507 0.237893 0.267080 0.267962 0.225608 0.311259 0.301841 0.259151 0.416021 0.185586 0.203544 0.291223 0.328912 0.0875649 0.114715 0.173519 0.0724644 0.229498 0.261873 0.196753 0.194385 0.171074 0.301622 0.298336 0.193742 0.207606 0.256481 0.215977 0.263475 0.304829 0.0737278 0.0969453 0.162223 0.142798 0.215809 0.141491 0.107142 0.145253 0.0260932 0.192600 0.202819 0.140430 0.278973 0.217008 0.188077 0.278064 0.135255 0.0768010 0.00929177 0.154380 0.287243 0.283639 0.0783458 0.186629 0.154136 0.185324 0.0741413 0.0208272 0.160973 0.142786 0.156723 0.0951803 0.240796 0.0307439 0.184309 0.186856 0.155956 0.209659 0.195804 0.0481838 0.0942833 0.0396693 0.159211 0.0599842 0.0683678 0.135868 0.0990298 0.124642 0.0167833 0.179912 0.0403701 0.125846 0.168018 -0.0958501 -0.124638 0.127461 0.0200087 0.202774 0.128908 0.178597 0.117116 0.115319 0.212039 -0.0223899 -0.0268099 0.219314 0.199692 0.133776 0.113012 -0.0517036 0.197311 0.159244 0.127269 0.112863 0.0996917 0.0989321 0.0483463 0.0295307 0.121643 0.0853537 0.0232937 0.0944850 0.0390032 0.158031 0.0574552 0.250102 0.155260 0.0335152 0.117290 0.0906806 0.314940 0.0779056
+END_DATA
diff --git a/doc/cctiff.html b/doc/cctiff.html
index 5a9ca82..5a9ca82 100644..100755
--- a/doc/cctiff.html
+++ b/doc/cctiff.html
diff --git a/doc/ccxxmake.html b/doc/ccxxmake.html
index a2a9080..021dd36 100644..100755
--- a/doc/ccxxmake.html
+++ b/doc/ccxxmake.html
@@ -34,6 +34,9 @@
style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
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>,
@@ -49,6 +52,9 @@
The instrument manufacturer may supply spectral sample files (see <a
href="oeminst.html">oeminst</a>).<br>
<br>
+ There is a <a href="ccsss.html">list of contributed</a> <span
+ style="font-weight: bold;">ccss</span> (Colorimeter Correction
+ Spectral Sample) files for some displays.<br>
There is a <a href="ccmxs.html">list of contributed</a> <span
style="font-weight: bold;">ccmx</span> (Colorimeter Correction
Matrix) files.<br>
@@ -76,6 +82,9 @@
+
+
+
&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
@@ -101,6 +110,9 @@ rather
+
+
+
than CCMX<br>
&nbsp; <a href="#f">-f ref.ti3[,targ.ti3]</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -129,6 +141,9 @@ 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
@@ -152,6 +167,9 @@ 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
@@ -188,6 +206,9 @@ m
+
+
+
for VideoLUT access.</font><br style="font-family: monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;<a href="#d">-d
@@ -210,6 +231,9 @@ m
+
+
+
n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Choose
the
@@ -238,6 +262,9 @@ 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;
@@ -264,6 +291,9 @@ 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;
@@ -281,12 +311,18 @@ 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
@@ -311,6 +347,9 @@ 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>
@@ -336,15 +375,24 @@ 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;
@@ -375,6 +423,9 @@ 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:
@@ -404,6 +455,9 @@ 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;
@@ -420,6 +474,9 @@ normal,
+
+
+
ss,vs: = optional horizontal, vertical scale.</span></font><br
style="font-family: monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;</font><font
@@ -445,6 +502,9 @@ normal,
+
+
+
Fill whole screen with black background</font><br
style="font-family: monospace;">
<small style="font-family: monospace;">&nbsp;<span
@@ -477,6 +537,9 @@ 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;
@@ -500,6 +563,9 @@ on
+
+
+
Disable initial calibration of instrument</font><small
style="font-family: monospace;"> if possible<br>
</small><span style="font-family: monospace;">&nbsp;</span><font
@@ -525,6 +591,9 @@ on
+
+
+
Use high resolution spectrum mode (if available)</font><font
style="font-family: monospace;" size="-1"></font><br
style="font-family: monospace;">
@@ -549,6 +618,9 @@ 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
@@ -558,8 +630,10 @@ on
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 1931_2 </small><small
style="font-family: monospace;"> (def.)</small><small
- style="font-family: monospace;">, 1964_10, S&amp;B 1955_2, shaw,
- J&amp;V 1978_2<br>
+ style="font-family: monospace;">, 1964_10, </small><small
+ style="font-family: monospace;"><tt><small>2012_2, 2012_10, </small></tt>S&amp;B
+
+ 1955_2, shaw, J&amp;V 1978_2 or file.cmf<br>
</small><font style="font-family: monospace;" size="-1">&nbsp;<a
href="#s">-s steps</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Override
@@ -586,6 +660,9 @@ sequence
+
+
+
combination steps (default 3)</font><br style="font-family:
monospace;">
<font style="font-family: monospace;" size="-1">&nbsp;<a href="#W">-W
@@ -609,6 +686,9 @@ sequence
+
+
+
n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Override
serial
@@ -637,6 +717,9 @@ 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>
@@ -668,6 +751,9 @@ overall
+
+
+
description</small><br>
<small style="font-family: monospace;">&nbsp;<a href="#I">-I
"displayname"</a> &nbsp;&nbsp;&nbsp;&nbsp; </small><span
@@ -679,6 +765,9 @@ overall
+
+
+
dtech</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set display technology type<br>
@@ -688,6 +777,9 @@ overall
+
+
+
CRT<br>
&nbsp;&nbsp;&nbsp;
m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -695,6 +787,9 @@ overall
+
+
+
Plasma<br>
&nbsp;&nbsp;&nbsp;
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -702,6 +797,9 @@ overall
+
+
+
LCD<br>
&nbsp;&nbsp;&nbsp;
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -709,6 +807,9 @@ overall
+
+
+
LCD CCFL<br>
&nbsp;&nbsp;&nbsp;
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -716,6 +817,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL IPS<br>
@@ -725,6 +829,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL VPA<br>
@@ -734,6 +841,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL TFT<br>
@@ -743,6 +853,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL Wide Gamut<br>
@@ -752,6 +865,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL Wide Gamut IPS<br>
@@ -761,6 +877,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL Wide Gamut VPA<br>
@@ -770,6 +889,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
CCFL Wide Gamut TFT<br>
@@ -779,6 +901,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
White LED<br>
@@ -788,6 +913,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
White LED IPS<br>
@@ -797,6 +925,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
White LED VPA<br>
@@ -806,6 +937,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
White LED TFT<br>
@@ -815,6 +949,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RGB LED<br>
@@ -824,6 +961,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RGB LED IPS<br>
@@ -833,6 +973,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RGB LED VPA<br>
@@ -842,6 +985,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RGB LED TFT<br>
@@ -851,6 +997,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RG Phosphor<br>
@@ -860,6 +1009,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RG Phosphor IPS<br>
@@ -869,6 +1021,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RG Phosphor VPA<br>
@@ -878,6 +1033,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LCD
RG Phosphor TFT<br>
@@ -887,6 +1045,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LED
OLED<br>
@@ -896,6 +1057,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>LED
AMOLED<br>
@@ -905,6 +1069,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>DLP
Projector<br>
@@ -914,6 +1081,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>DLP
Projector RGB Filter Wheel<br>
@@ -923,6 +1093,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>DPL
Projector RGBW Filter Wheel<br>
@@ -932,6 +1105,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>DLP
Projector RGBCMY Filter Wheel<br>
@@ -941,6 +1117,9 @@ overall
+
+
+
</small><small style="font-family: monospace;"><small
style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </small>Unknown<br>
</small> <tt>&nbsp;<a href="#U">-U c</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -952,6 +1131,9 @@ overall
+
+
+
Set UI selection character(s)</tt><br>
<font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
style=" font-family: monospace;" href="#Yrn">-<font size="-1">Y</font>
@@ -972,6 +1154,9 @@ overall
+
+
+
&nbsp;&nbsp;&nbsp;&nbsp; Override refresh, non-refresh display
mode</span></font><br>
<tt>&nbsp;<a href="#YR">-Y R:<i>rate</i></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -980,6 +1165,9 @@ overall
+
+
+
Override measured refresh rate with rate Hz</tt><br>
<font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
style=" font-family: monospace;" href="#YA">-<font size="-1">Y</font>A</a><span
@@ -1087,6 +1275,9 @@ overall
+
+
+
1,2</span> . Some experimentation may be needed using <a
href="dispwin.html">dispwin</a> on such systems, to discover what
screen has access to the VideoLUT hardware, and which screens the
@@ -1232,6 +1423,9 @@ overall
+
+
+
of particular instruments</a> for more details. This may give
better accuracy for display measurements.<br>
<br>
@@ -1257,12 +1451,18 @@ overall
observer. The default.<br>
&nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
observer.<br>
+ <b>&nbsp; 2012_2</b> selects the proposed CIE 2012 2 degree
+ observer.<br>
+ &nbsp; <b>2012_10</b> selects the proposed CIE 2012 10 degree
+ observer.<br>
&nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
observer<br>
&nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
observer<br>
&nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
observer<br>
+ &nbsp; <i><b>file.cmf</b></i> selects an observer specified by the
+ given <a href="File_Formats.html#.cmf">.cmf</a> file.<br>
<br>
<a name="s"></a>The <b>-s steps</b><span style="font-weight: bold;"></span>
parameter overrides the default number of test patch combination
@@ -1341,6 +1541,9 @@ overall
+
+
+
<b>-Y n</b> options overrides the refresh display mode set by the <a
href="spotread.html#y">-y display type selection</a>, with <b>-Y</b><span
style="font-weight: bold;"> r</span> forcing refresh display mode,
diff --git a/doc/chartread.html b/doc/chartread.html
index 19f4add..e39b936 100644..100755
--- a/doc/chartread.html
+++ b/doc/chartread.html
@@ -30,6 +30,9 @@ Verbose
+
+
+
mode</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#c">-c listno</a><span
@@ -48,6 +51,9 @@ transmission
+
+
+
measurement mode<br>
</span></small><small><span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#d">-d</a><span
@@ -62,6 +68,9 @@ measurement
+
+
+
mode (white Y relative results)</span></small><small><span
style="font-family: monospace;"></span></small><small><span
style="font-family: monospace;"><br>
@@ -74,6 +83,9 @@ measurement
+
+
+
Display type - instrument specific list to choose from.</span></font><br>
<small><span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#e">-e</a><span
@@ -87,6 +99,9 @@ measurement
+
+
+
mode (absolute results)<br>
</span></small><small><span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#p">-p</a><span
@@ -101,6 +116,9 @@ by
+
+
+
patch rather than strip</span></small><br>
<small><span style="font-family: monospace;"></span>&nbsp; <a
style="font-family: monospace;" href="#x">-x [lx]</a><span
@@ -109,6 +127,9 @@ Take
+
+
+
manually entered values, either L*a*b* (-xl) or XYZ (-xx).</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
@@ -123,6 +144,9 @@ Don't
+
+
+
save spectral information (default saves spectral)<br>
</span></small><small><span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#l">-l</a><span
@@ -144,6 +168,9 @@ partly
+
+
+
read chart<br>
&nbsp;<a href="#I">-I</a>
file.cal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override
@@ -156,6 +183,9 @@ partly
+
+
+
Set filter configuration:<br>
&nbsp;
n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -165,6 +195,9 @@ partly
+
+
+
None<br>
&nbsp;
p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -174,6 +207,9 @@ partly
+
+
+
Polarising filter<br>
&nbsp;
6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -183,6 +219,9 @@ partly
+
+
+
D65<br>
&nbsp;
u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -192,11 +231,17 @@ partly
+
+
+
U.V. Cut</span></font><small><span style="font-family:
monospace;"></span><span style="font-family: monospace;"></span></small><br>
&nbsp; <font size="-1"><span style="font-family: monospace;"><a
href="#A">-A N|A|X|G</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
XRGA conversion</span></font> (default N)<br>
<font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
style="font-family: monospace;" href="#N">-N</a><span
@@ -224,6 +269,9 @@ partly
+
+
+
Apply Colorimeter Correction Matrix</span></font><br>
<span style="font-family: monospace;">&nbsp;<a href="#X2">-X
file.ccss</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -239,6 +287,9 @@ Samples
+
+
+
for calibration</span><br>
<small><span style="font-family: monospace;">&nbsp;</span><a style="
font-family: monospace;" href="#Q">-Q observ</a><span
@@ -254,12 +305,17 @@ Samples
+
+
+
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span></small><small><span
style="font-family: monospace;">1931_2 </span></small><small><span
style="font-family: monospace;"> (def.)</span></small><small><span
- style="font-family: monospace;">, 1964_10, S&amp;B 1955_2, shaw,
- J&amp;V 1978_2</span></small><small><span style="font-family:
- monospace;"></span></small><font size="-1"><span
+ style="font-family: monospace;">, 1964_10, </span></small><small><span
+ style="font-family: monospace;"><tt><small>2012_2, 2012_10, </small></tt>S&amp;B
+
+ 1955_2, shaw, J&amp;V 1978_2 or file.cmf</span></small><small><span
+ style="font-family: monospace;"></span></small><font size="-1"><span
style="font-family: monospace;"></span></font><br>
<font size="-1"><span style="font-family: monospace;"> &nbsp;<a
href="#T">-T ratio</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -272,6 +328,9 @@ patch
+
+
+
consistency tolerance by ratio (if available)<br>
</span></font><font size="-1"><span style="font-family:
monospace;">&nbsp;<a href="#S">-S</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -284,6 +343,9 @@ strip
+
+
+
&amp; unexpected value warnings</span></font><br>
<font size="-1"><span style="font-family: monospace;">&nbsp;<a
href="#W">-W n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -294,6 +356,9 @@ Override
+
+
+
serial port flow control: n = none, h = HW, x = Xon/Xoff</span></font><br
style="font-family: monospace;">
<small><span style="font-family: monospace;"></span><small
@@ -309,6 +374,9 @@ Override
+
+
+
&nbsp;Base name for input[</span><a style="font-family:
monospace;" href="File_Formats.html#.ti2">.ti2</a><span
style="font-family: monospace;">]/output[</span><a
@@ -458,6 +526,9 @@ Override
+
+
+
-I</span> parameter allows overriding the .ti2 calibration curves
placed in the resulting .ti3 file with the actual calibration that
was used for that particular print.<br>
@@ -531,7 +602,9 @@ Override
information (ie. the X-Rite <span style="font-weight: bold;">i1d3</span>,
or the DataColor <span style="font-weight: bold;">Spyder4 &amp;
Spyder 5</span>).This can improve a colorimeters accuracy for a
- particular type of display.<br>
+ particular type of display. A list of contributed <span
+ style="font-weight: bold;">ccss</span> files is <a
+ href="ccsss.html">here</a>.<br>
<br>
<a name="T"></a> The -<span style="font-weight: bold;">T ratio</span>
argument modifies the patch consistency tolerance threshold for some
@@ -553,12 +626,18 @@ Override
observer. The default.<br>
&nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
observer.<br>
+ <b>&nbsp; 2012_2</b> selects the proposed CIE 2012 2 degree
+ observer.<br>
+ &nbsp; <b>2012_10</b> selects the proposed CIE 2012 10 degree
+ observer.<br>
&nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
observer<br>
&nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
observer<br>
&nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
observer<br>
+ &nbsp; <i><b>file.cmf</b></i> selects an observer specified by the
+ given <a href="File_Formats.html#.cmf">.cmf</a> file.<br>
<br>
<a name="S"></a>The <b>-S</b> flag causes the normal "wrong strip"
and "unexpected value" warnings to be suppressed. There may be a lot
diff --git a/doc/cht_format.html b/doc/cht_format.html
index 80a3e9e..80a3e9e 100644..100755
--- a/doc/cht_format.html
+++ b/doc/cht_format.html
diff --git a/doc/collink.html b/doc/collink.html
index dc67463..b746c5d 100644..100755
--- a/doc/collink.html
+++ b/doc/collink.html
@@ -19,12 +19,12 @@
or to retain the source black characteristic from the source
profile.<br>
<h3>Usage Summary</h3>
- <small><span style="font-family: monospace;">collink [-options] <span
- style="font-style: italic;">srcprofile dstprofile
- linkedprofile</span></span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#v">-v</a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <span style="font-family: monospace;">collink [-options] <span
+ style="font-style: italic;">srcprofile dstprofile linkedprofile</span></span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -63,32 +63,34 @@
- Verbose<br>
- </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#A">-A "manufacturer"</a><span
- style="font-family: monospace;">&nbsp; Set the manufacturer
- description string</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#M">-M "model"</a><span
- style="font-family: monospace;">
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set the model
- description string</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#D">-D "description"</a><span
- style="font-family: monospace;">&nbsp;&nbsp; Set the profile
- Description string&nbsp; (Default "</span><span
- style="font-style: italic; font-family: monospace;">inoutfile</span><span
- style="font-family: monospace;">")</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#C">-C "copyright"</a><span
- style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; Set the
- copyright string</span></small><br style="font-family:
+
+
+
+ Verbose<br>
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#A">-A "manufacturer"</a><span
+ style="font-family: monospace;">&nbsp; Set the manufacturer
+ description string</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#M">-M "model"</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set the model
+ description string</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#D">-D "description"</a><span
+ style="font-family: monospace;">&nbsp;&nbsp; Set the profile
+ Description string&nbsp; (Default "</span><span style="font-style:
+ italic; font-family: monospace;">inoutfile</span><span
+ style="font-family: monospace;">")</span><br style="font-family:
monospace;">
- <small><span style="font-family: monospace;"></span><span
- style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#V">-V</a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#C">-C "copyright"</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; Set the
+ copyright string</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#V">-V</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Verify
existing
@@ -129,16 +131,19 @@ existing
- profile, rather than link (Debug option)</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#q">-q lmhu</a><span
- style="font-family: monospace;"> &nbsp;&nbsp; &nbsp;
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quality - Low, Medium (def),
- High, Ultra</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#r">-r <i>res</i></a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ profile, rather than link (Debug option)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#q">-q lmhu</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quality - Low, Medium (def), High,
+ Ultra</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#r">-r <i>res</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Override
clut
@@ -179,10 +184,13 @@ clut
- res. set by -q</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#n">-n</a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ res. set by -q</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#n">-n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Don't
preserve
@@ -223,36 +231,38 @@ preserve
- device curves in result</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#f">-f</a><span
- style="font-family: monospace;">
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Special :- Force neutral colors
- to be K only output.<br>
- </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#fk">-fk</a><span
- style="font-family: monospace;">
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- &nbsp;&nbsp;&nbsp;&nbsp; Special :- Force K only neutral colors
- to be K only output<br>
- </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#fcmy">-fcmy</a><span
- style="font-family: monospace;">
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- &nbsp;&nbsp; Special :- Force 100% C,M or Y only to stay pure</span></small><br
+
+
+
+ device curves in result</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#f">-f</a><span
style="font-family: monospace;">
- <small><span style="font-family: monospace;"></span><span
- style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#F">-F</a><span
- style="font-family: monospace;">
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Special :- Force all colors to be
- K only output.</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#p">-p aprof.icm</a><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; Special :- Force neutral colors to
+ be K only output.<br>
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#fk">-fk</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Special :- Force K only neutral colors to
+ be K only output<br>
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#fcmy">-fcmy</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; Special :- Force 100% C,M or Y only to stay pure</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#F">-F</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Special :- Force all colors to be K
+ only output.</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p aprof.icm</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Include
@@ -292,14 +302,16 @@ Include
- abstract profile in link</span></small><br>
- <small><span style="font-family: monospace;"><small><span
- style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#a">-a file.cal</a><span
- style="font-family: monospace;">
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Apply calibration
- curves</span></small> to link output and append linear<br>
- &nbsp;<a href="H">-H file.cal</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ abstract profile in link</span><br>
+ <span style="font-family: monospace;"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#a">-a file.cal</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Apply calibration curves</span>
+ to link output and append linear<br>
+ &nbsp;<a href="H">-H file.cal</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -314,11 +326,14 @@ Include
- Append calibration curves to 3dlut<br style="font-family:
- monospace;">
- </span> <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#s">-s</a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Append calibration curves to 3dlut<br style="font-family:
+ monospace;">
+ </span> <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#s">-s</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Simple
Mode
@@ -359,15 +374,18 @@ Mode
- (default)</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#g">-g [src.gam]</a><span
- style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
- Gamut Mapping Mode [optional source image gamut]</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#G">-G [src.gam]</a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ (default)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#g">-g [src.gam]</a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+ Gamut Mapping Mode [optional source image gamut]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#G">-G [src.gam]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Gamut
@@ -407,18 +425,21 @@ Gamut
- Mapping Mode using inverse outprofile A2B [optional source
- gamut]</span><br style="font-family: monospace;">
- <br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp; &nbsp;&nbsp; </span><u
- style="font-family: monospace;">Simple Mode Options:</u><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#si">-i <i>in_intent</i></a><span
- style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp; p =
- perceptual, r = relative colorimetric,</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Mapping Mode using inverse outprofile A2B [optional source gamut]</span><br
+ style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp;&nbsp; </span><u
+ style="font-family: monospace;">Simple Mode Options:</u><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#si">-i <i>in_intent</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp; p =
+ perceptual, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
s
@@ -459,15 +480,18 @@ s
- = saturation, a = absolute colorimetric</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#so">-o </a><i
- style="font-family: monospace;"><a href="#so">out_intent</a> </i><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp; p =
- perceptual, r = relative colorimetric,</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ = saturation, a = absolute colorimetric</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#so">-o </a><i
+ style="font-family: monospace;"><a href="#so">out_intent</a> </i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; p = perceptual,
+ r = relative colorimetric,</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
s
@@ -508,18 +532,21 @@ s
- = saturation, a = absolute colorimetric</span><br
- style="font-family: monospace;">
- <br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp; &nbsp;&nbsp; </span><u
- style="font-family: monospace;">Mapping Mode Options:</u><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#i">-i <i>intent</i></a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- set linking intent from the following choice:</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ = saturation, a = absolute colorimetric</span><br
+ style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp;&nbsp; </span><u
+ style="font-family: monospace;">Mapping Mode Options:</u><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#i">-i <i>intent</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set
+ linking intent from the following choice:</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a
-
@@ -560,8 +587,11 @@ a
- Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
aw
-
@@ -602,9 +632,12 @@ aw
- Absolute Colorimetric (in Jab) with scaling to fit white point<br
- style="font-family: monospace;">
- </span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Absolute Colorimetric (in Jab) with scaling to fit white point<br
+ style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
aa
-
@@ -645,8 +678,11 @@ aa
- Absolute Appearance</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Absolute Appearance</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
r
-
@@ -687,9 +723,12 @@ r
- White Point Matched Appearance [ICC Relative Colorimetric]</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ White Point Matched Appearance [ICC Relative Colorimetric]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
la
-
@@ -730,9 +769,12 @@ la
- Luminance matched Appearance</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Luminance matched Appearance</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
p
-
@@ -773,8 +815,11 @@ p
- Perceptual (Preferred) [ICC Perceptual]<br>
- </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Perceptual (Preferred) [ICC Perceptual]<br>
+ </span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pa
@@ -814,12 +859,18 @@ pa
- - Perceptual Appearance</span></small><br>
+
+
+
+ - Perceptual Appearance</span><br>
<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
lp - Luminance Preserving Perceptual</tt><br style="font-family:
monospace;">
- <small><span style="font-family: monospace;"></span><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ms
-
@@ -860,8 +911,11 @@ ms
- Saturation</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Saturation</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
s
-
@@ -902,9 +956,12 @@ s
- Enhanced Saturation [ICC Saturation]</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Enhanced Saturation [ICC Saturation]</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
al
-
@@ -945,11 +1002,11 @@ al
- Absolute Colorimetric (Lab)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Absolute Colorimetric (Lab)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -980,14 +1037,23 @@ al
- rl - White Point Matched Colorimetric (Lab)</span><span
- style="font-family: monospace;"></span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#w">-w [J,a,b]</a><span
- style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; Use forced
- whitepoint hack [optional color to map the white to]<br>
- &nbsp;<a href="#b">-b</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+ rl - White Point Matched Colorimetric (Lab)</span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#w">-w [J,a,b]</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; Use forced
+ whitepoint hack [optional color to map the white to]<br>
+ &nbsp;<a href="#b">-b</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
@@ -997,14 +1063,13 @@ al
- Use RGB-&gt;RGB forced black point hack<br style="font-family:
- monospace;">
- </span> <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#c">-c <i>viewcond</i></a><span
- style="font-family: monospace;">&nbsp; &nbsp; set source viewing
- conditions for CIECAM02,</span><br style="font-family:
+ Use RGB-&gt;RGB forced black point hack<br style="font-family:
monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ </span> <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c <i>viewcond</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp; set source viewing
+ conditions for CIECAM02,</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
either
@@ -1045,14 +1110,17 @@ either
- an enumerated choice, or a parameter</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#d">-d <i>viewcond</i></a><span
- style="font-family: monospace;">&nbsp; &nbsp; set destination
- viewing conditions for CIECAM02,</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ an enumerated choice, or a parameter</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#d">-d <i>viewcond</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp; set destination
+ viewing conditions for CIECAM02,</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
either
@@ -1093,12 +1161,27 @@ either
- an enumerated choice, or a parameter:value change<br>
- </span></small><small><span style="font-family: monospace;">&nbsp;
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pp - Practical
- Reflection Print (ISO-3664 P2)</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ an enumerated choice, or a parameter:value change<br>
+ &nbsp;</span><tt>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </tt><tt><tt>pc
+ - Critical print evaluation environment (ISO-3664 P1)</tt><tt><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+ </tt>pp - Practical Reflection Print (ISO-3664 P2)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
+ &nbsp; pe - Print evaluation environment (CIE 116-1995)<br>
+ </tt><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp; pm - Print evaluation with partial Mid-tone adapation</tt><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; mt - Monitor in
+ typical work environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;
&nbsp;
@@ -1139,13 +1222,32 @@ either
- &nbsp; pe - Print evaluation environment (CIE 116-1995)<br>
- </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;
-&nbsp;
+ mb - Monitor in bright work environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; md - Monitor in darkened work
+ environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; jm - Projector in dim environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; jd - Projector in dark
+ environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene outdoors</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; ob - Original scene - Bright
+ Outdoors</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; cx - Cut Sheet Transparencies on
+ a viewing box</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s:surround
+n
@@ -1181,24 +1283,17 @@ either
- &nbsp; pc - Critical print evaluation environment (ISO-3664 P1)</span></small><small><span
- style="font-family: monospace;"></span><span style="font-family:
- monospace;"></span><span style="font-family: monospace;"></span><span
- style="font-family: monospace;"></span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;
- &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; mt - Monitor in
- typical work environment</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;
-&nbsp;
+ = auto, a = average, m = dim, d = dark,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;
@@ -1231,29 +1326,6 @@ either
- mb - Monitor in bright work environment</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
- &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; md - Monitor in darkened work
- environment</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
- &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; jm - Projector in dim
- environment</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
- &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; jd - Projector in dark
- environment</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp;
- &nbsp; &nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene
- outdoors</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
- &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; ob - Original scene - Bright
- Outdoors</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
- &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; cx - Cut Sheet Transparencies
- on a viewing box</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-s:surround
-n
@@ -1263,6 +1335,11 @@ n
+ c = transparency (default average)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Adapted
@@ -1292,11 +1369,6 @@ n
- = auto, a = average, m = dim, d = dark,</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;
-&nbsp;&nbsp;&nbsp;
@@ -1309,6 +1381,11 @@ n
+ white point as XYZ (default media white)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Adapted
@@ -1335,11 +1412,6 @@ n
- c = transparency (default average)</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Adapted
@@ -1355,6 +1427,10 @@ Adapted
+ white point as x, y</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+a:adaptation&nbsp;
+Adaptatation
@@ -1378,11 +1454,6 @@ Adapted
- white point as XYZ (default media white)</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Adapted
@@ -1401,6 +1472,12 @@ Adapted
+ luminance in cd.m^2 (default 50.0)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+b:background&nbsp;
+Background
+%
@@ -1421,10 +1498,6 @@ Adapted
- white point as x, y</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-a:adaptation&nbsp;
-Adaptatation
@@ -1446,6 +1519,15 @@ Adaptatation
+ of image luminance (default 20)<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; l:imagewhite&nbsp;
+ Image white in cd.m^2 if surround = auto (default 250)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;"><span style="font-family:
+ monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Flare
+light
@@ -1463,12 +1545,6 @@ Adaptatation
- luminance in cd.m^2 (default 50.0)</span><br style="font-family:
- monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-b:background&nbsp;
-Background
-%
@@ -1493,7 +1569,12 @@ Background
+ % of image luminance (default 0)<br>
+ </span>&nbsp;</span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ g:glare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare light % of
+ ambient (default 5)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1507,15 +1588,6 @@ Background
- of image luminance (default 20)<br>
- &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; l:imagewhite&nbsp;
- Image white in cd.m^2 if surround = auto (default 250)</span></small><br
- style="font-family: monospace;">
- <small><span style="font-family: monospace;"><small><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Flare
-light
@@ -1533,6 +1605,9 @@ light
+ g:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare color as XYZ
+ (default media white)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1554,12 +1629,6 @@ light
- % of image luminance (default 0)<br>
- </span></small>&nbsp;</span><span style="font-family:
- monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- g:glare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare light % of
- ambient (default 5)</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1569,10 +1638,34 @@ light
+ g:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare color
+ as x, y</span><br style="font-family: monospace;">
+ <tt><span style="font-family: monospace;"><tt><span
+ style="font-family: monospace;"><span style="font-family:
+ monospace;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ h:hkscale&nbsp;&nbsp;&nbsp;&nbsp; Helmholtz-Kohlrausch
+ effect scale factor (default 1.0)<br>
+ </span>&nbsp;</span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ m:mtaf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mid-tone
+ partial adaptation factor (default 0.0)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ m:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mid-tone
+ Adaptation white as XYZ (default D50)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ m:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Mid-tone Adaptation white as x, y<br>
+ </span></tt></span></tt>&nbsp; <span style="font-family:
+ monospace;"></span><a style="font-family: monospace;" href="#t">-t
+ <i>tlimit</i></a><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+source
@@ -1587,9 +1680,6 @@ light
- g:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare color as XYZ
- (default media white)</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1617,11 +1707,11 @@ light
- g:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare
- color as x, y</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#t">-t <i>tlimit</i></a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ total ink limit, 0 - 400% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#T">-T <i>klimit</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
set
source
@@ -1662,19 +1752,23 @@ source
- total ink limit, 0 - 400% (estimate by default)</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#T">-T <i>klimit</i></a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-set
-source
-
-
-
+ total ink limit, 0 - 100% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp; &nbsp;&nbsp; </span><u
+ style="font-family: monospace;">Inverse outprofile A2B Options:</u><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#k">-k tezhxr</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; CMYK Black generation</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+t
@@ -1707,20 +1801,6 @@ source
- total ink limit, 0 - 100% (estimate by default)</span><br
- style="font-family: monospace;">
- <br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp; &nbsp; &nbsp;&nbsp; </span><u
- style="font-family: monospace;">Inverse outprofile A2B Options:</u><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#k">-k tezhxr</a><span
- style="font-family: monospace;">&nbsp;&nbsp;
- &nbsp;&nbsp;&nbsp;&nbsp; CMYK Black generation</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;
-t
@@ -1730,6 +1810,11 @@ t
+ = transfer K from source to destination, e = retain K of
+ destination B2A table</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+z
@@ -1759,11 +1844,6 @@ t
- = transfer K from source to destination, e = retain K of
- destination B2A table</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;
-z
@@ -1776,6 +1856,14 @@ z
+ = zero K, h = 0.5 K, x = maximum K, r = ramp K (default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#kp">-k p stle stpo enpo
+ enle shape</a><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+p
@@ -1802,14 +1890,6 @@ z
- = zero K, h = 0.5 K, x = maximum K, r = ramp K (default)</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#kp">-k p stle stpo enpo
- enle shape</a><br style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;
-p
@@ -1825,6 +1905,15 @@ p
+ = black level generation curve parameters</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#kq">-k q stle0 stpo0 enpo0
+ enle0 shape0 stle2 stpo2 enpo2 enle2 shape2</a><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+q
@@ -1848,15 +1937,6 @@ p
- = black level generation curve parameters</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#kq">-k q stle0 stpo0
- enpo0 enle0 shape0 stle2 stpo2 enpo2 enle2 shape2</a><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;
-q
@@ -1875,6 +1955,18 @@ q
+ = transfer source K to dual curve limits</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#K">-K parameters</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Same as -k, but target is K locus rather than K value itself</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#l">-l <i>tlimit</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+destination
@@ -1895,18 +1987,6 @@ q
- = transfer source K to dual curve limits</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#K">-K parameters</a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Same as -k, but target is K locus rather than K value itself</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#l">-l <i>tlimit</i></a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-set
-destination
@@ -1928,6 +2008,13 @@ destination
+ total ink limit, 0 - 400% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#L">-L <i>klimit</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+destination
@@ -1945,13 +2032,6 @@ destination
- total ink limit, 0 - 400% (estimate by default)</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;">&nbsp;</span><a
- style="font-family: monospace;" href="#L">-L <i>klimit</i></a><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-set
-destination
@@ -1976,6 +2056,8 @@ destination
+ total ink limit, 0 - 100% (estimate by default)<br>
+ &nbsp;<a href="#3">-3 flag</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1990,8 +2072,6 @@ destination
- total ink limit, 0 - 100% (estimate by default)<br>
- &nbsp;<a href="#3">-3 flag</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2013,6 +2093,9 @@ destination
+ Create "3DLut" output file as well as devlink<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2024,9 +2107,6 @@ destination
- Create "3DLut" output file as well as devlink<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2051,6 +2131,9 @@ destination
+ eeColor .txt file</span><br>
+ <tt>&nbsp;&nbsp;&nbsp;&nbsp;
+ m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2059,9 +2142,6 @@ destination
- eeColor .txt file</span></small><br>
- <tt>&nbsp;&nbsp;&nbsp;&nbsp;
- m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2077,13 +2157,16 @@ destination
+ MadVR .3dlut&nbsp;&nbsp; file<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ IRIDAS .cube file<br>
+ </tt> <tt>&nbsp;<a href="#Ib">-I B</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- MadVR .3dlut&nbsp;&nbsp; file</tt><br>
- <tt>&nbsp;<a href="#Ib">-I B</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2100,17 +2183,15 @@ destination
BT.1886-like source EOTF with effective gamma g.g</tt><tt><br>
&nbsp;</tt><tt><a href="#Ib">-I b:p.p:g.g</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use effective gamma g.g source EOTF
- with p.p prop. output black point offset</tt><small><span
- style="font-family: monospace;"><small><span style="font-family:
- monospace;"></span></small></span></small><br>
- <small><span style="font-family: monospace;"><small><span
- style="font-family: monospace;"><tt>&nbsp;<a
- href="collink.html#Ib">-I
- g:g.g</a>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use
- effective gamma g.g source EOTF with all output black
- point offset</tt><br>
- </span></small>&nbsp;<a href="#e">-e flag</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ with p.p prop. output black point offset</tt><span
+ style="font-family: monospace;"><span style="font-family:
+ monospace;"></span></span><br>
+ <span style="font-family: monospace;"><span style="font-family:
+ monospace;"><tt>&nbsp;<a href="collink.html#Ib">-I g:g.g</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use
+ effective gamma g.g source EOTF with all output black point
+ offset</tt><br>
+ </span>&nbsp;<a href="#e">-e flag</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2143,11 +2224,11 @@ destination
- Video encode input as:<br>
- &nbsp;<a href="#E">-E flag</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Video encode input as:<br>
+ &nbsp;<a href="#E">-E flag</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2177,17 +2258,16 @@ destination
- Video encode output as:</span></small><small><span
- style="font-family: monospace;"><small><span style="font-family:
- monospace;"><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Video encode output as:</span><span style="font-family:
+ monospace;"><span style="font-family: monospace;"><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2203,9 +2283,6 @@ destination
- normal RGB 0..1 levels (default)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2215,6 +2292,9 @@ destination
+ normal RGB 0..1 levels (default)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2227,16 +2307,9 @@ destination
- RGB (16-235)/255 "TV" levels</span></small></span></small><br>
- <small><span style="font-family: monospace;"><small><span
- style="font-family: monospace;"><small><span
- style="font-family: monospace;"><small><span
- style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
- T
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2246,6 +2319,11 @@ destination
+ RGB (16-235)/255 "TV" levels</span></span><br>
+ <span style="font-family: monospace;"><span style="font-family:
+ monospace;"><span style="font-family: monospace;"><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; T
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2258,9 +2336,6 @@ destination
- RGB (16-235)/255 "TV" levels, clip WTW [Input Only]</span></small></span></small><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2273,6 +2348,9 @@ destination
+ RGB (16-235)/255 "TV" levels, clip WTW [Input Only]</span></span><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2282,9 +2360,6 @@ destination
- Rec601 YCbCr SD (16-235,240)/255 "TV" levels<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2300,15 +2375,15 @@ destination
+ Rec601 YCbCr SD (16-235,240)/255 "TV" levels<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2327,12 +2402,12 @@ destination
+ Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2354,9 +2429,9 @@ destination
- Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2378,13 +2453,12 @@ destination
- Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV"
- levels<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2403,16 +2477,16 @@ destination
- xvYCC Rec601 YCbCr Rec709 Prims. SD (16-235,240)/255 "TV"
- levels<br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- X&nbsp;&nbsp;&nbsp;&