From 6a00ce0f82474835646013f9d2547ec15f76b810 Mon Sep 17 00:00:00 2001 From: Desmis Date: Tue, 3 Apr 2018 12:55:34 +0200 Subject: [PATCH] add RT_sRGB with 2 Lut 212 1024 --- .../output/RT_sRGB-V2-srgbtrc1024.icc | Bin 0 -> 7488 bytes .../output/RT_sRGB-V2-srgbtrc212.icc | Bin 0 -> 2616 bytes rtengine/color.cc | 1 - rtengine/improccoordinator.cc | 19 +++++++++++++++++- 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 rtdata/iccprofiles/output/RT_sRGB-V2-srgbtrc1024.icc create mode 100644 rtdata/iccprofiles/output/RT_sRGB-V2-srgbtrc212.icc diff --git a/rtdata/iccprofiles/output/RT_sRGB-V2-srgbtrc1024.icc b/rtdata/iccprofiles/output/RT_sRGB-V2-srgbtrc1024.icc new file mode 100644 index 0000000000000000000000000000000000000000..08a727eb1786d3ec891420ee1d0b7edce08628bd GIT binary patch literal 7488 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 literal 0 HcmV?d00001 diff --git a/rtdata/iccprofiles/output/RT_sRGB-V2-srgbtrc212.icc b/rtdata/iccprofiles/output/RT_sRGB-V2-srgbtrc212.icc new file mode 100644 index 0000000000000000000000000000000000000000..e2fc7002b455a07b7e07c5d005385ecc42659ec8 GIT binary patch literal 2616 zcmeHJYitx%6h6D#cKc!rwm_>CuS&6%ot@onMJR%{TPPKX(3WZ`q)un<&JN7Zj59;G z5R@n=DyX$VRE&av0elcsDilybgCg1xrBE7QhvZ668|xix%a#0 zeCM&}&fK#AsUu`QYB&ivqKc_kmY0%8Yo`(SF-QOxq{C1s=6FM!R5h*|u6v#90*9sS zWGr9TrCnQ*#%sC>;7CUGt1(lv@Jhs44YO?AW?>zZLiyJg7UTG^&57gFHmABW1mH|S zUYlrRSG$E9Y@8@tScobDfSVw1p+F5DAY~2OE;VTr#svte+8kXHBPI#@1H-*!tSnPf zWvU7#`4Q99idj~X6e>_rr_^YmvKsU8YLqSTl2C{#t!1i8NTJV9rYf4Mn^cHf8ED4q zlryD9itMPW7(P`OSy|$#Vo-x^n8O$xi-xRBMNZ~bffo3ze5}2&W`IAZ*fn+x=;)Qj zHP+ZGQ&$3vI1Auv?v*vX2C#V%K=u#4vLPz~G8O`C+R4w>8@oO2!#NxLFdiO*CTNCr zumcXl8HdN=bxd$X9nFr99fzHXPQP=8bBXg)=V@1-Yr1QhYi~l|gvkjl2?r7fCyI$1 zlOSnI(wd}y-ILw#CA*Wu$-7d9rL?46NEK7}r;SV7n(j|u-zTrnYEPbLT?U)c-gj)@ zef?;^^S8W`>CN1oCG}75-#VafpnKq^>_|>-&i-4QZ<{p8GpI9n`C#Gp0CAG8J3hGc z*}H@xWqJ8SJwyMw`(8P#nl&U^hZwBiqn3b zF3D;N~XH=@wrBk`A1`GQ`6j%d7dYJoZt4;iwkBx^Uxyp z`Rv7sOU}J?s`=-ZpOzk5cH;HZ%P+mU6XE*ok=6Cl0e`oO?VV{oehSePTh^|KQAm=4hq6P`$ij-i7;1q$= z1yV-C+-%t-Ayrm&Ql)V`C1FHngpvxyq`E>)!Vt@qmvlFjSS;p?71|A#di9sR=S-FzAzb{09@iGI4XOF`1rn XGEjrbFd*V+C1q{$6>^W!4bT4pKxP4Z literal 0 HcmV?d00001 diff --git a/rtengine/color.cc b/rtengine/color.cc index ab9223358..c0d52a7d6 100644 --- a/rtengine/color.cc +++ b/rtengine/color.cc @@ -190,7 +190,6 @@ void Color::init () { gammatab_srgb[i] = gammatab_srgb1[i] = gamma2(i / 65535.0); } - gammatab_srgb *= 65535.f; gamma2curve.share(gammatab_srgb, LUT_CLIP_BELOW | LUT_CLIP_ABOVE); // shares the buffer with gammatab_srgb but has different clip flags } diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index e22aa3b0d..026195062 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -24,6 +24,10 @@ #include "colortemp.h" #include "improcfun.h" #include "iccstore.h" +#include +#include +#include + #ifdef _OPENMP #include #endif @@ -311,7 +315,20 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) if (params.wb.method == "Auto" && awbListener && params.wb.enabled) { awbListener->WBChanged (params.wb.temperature, params.wb.green); } - + Glib::ustring datal; + datal = "lutsrgb.txt"; + ofstream fou(datal, ios::out | ios::trunc); + + for(int i=0; i < 1024; i++) { + //printf("igamma2=%i\n", (int) 65535.f*Color::igamma2(i/212.0)); + float gam = Color::igamma2(i/1023.0); + int lutga = 65535.f* gam; + // fou << 65535*(int)Color::igamma2(i/212.0) << endl; + fou << i << " " << lutga << endl; + + } + fou.close(); + int tr = getCoarseBitMask (params.coarse); imgsrc->getFullSize (fw, fh, tr);