jedypod / gamut-compress Goto Github PK
View Code? Open in Web Editor NEWTools to compress out of gamut colors back into gamut.
Tools to compress out of gamut colors back into gamut.
Hello, I read the readme but I have a question... does this blinkscript or nuke gizmo match the same math as the official ACES 1.3 gamut compression?
In other words, I can use it in nuke to match my vfx pulls against some dailies that were generated by resolve 17 with ACES 1.3 gamut compression enabled?
Would be useful in general and for those of us without Nuke!
Thank you in advance for your work.
The latest version of 0.7 is not working in Windows 10 with Resolve 17 (17.1.1 Build 9) and ATI Radeon VII.
All previous releases are currently working to my system: 0.6 / 0.5 / 0.36 / 0.35 / 0.3.
Thank you.
Ted.
I'm not sure if this is a Rec709 only thing or not, but if I were to use your coefficients for any sample (ie. blue bar exr) blues skew to purple. I noticed this issue while working on an implementation in AviSynth.
The Nuke set up is a bit confusing but since you don't have an expressive code block to reference to I will post my implementation.
You seem to extract max() from columns in row-major order for the distance ratio matrix, while probably extracting rows is expected:
Max() for columns, yields [0.518208,0.074934,0.088542]
for Rec709 from Rec2020:
max(DRat[0],DRat[3],DRat[6])
max(DRat[1],DRat[4],DRat[7])
max(DRat[2],DRat[5],DRat[8])
Max() for rows, yields [0.074934,0.518208,0.063425]
for Rec709 from Rec2020:
max(DRat[0],DRat[1],DRat[2])
max(DRat[3],DRat[4],DRat[5])
max(DRat[6],DRat[7],DRat[8])
Another thing I implemented is distance aware thresholds, so the rolloff is equivalent for all the channels. If distance is short, you can get away with a lower threshold and hence keep more of the saturation. My function fit is: 0.085*log10(Dist+0.0036)+0.208
With that said I'm aware this is a workaround and the Path to White is skewed as this method only aligns primaries, so I still see, specially in red a big hue shift to oranges. This is not apparent with ACES ODTs because of its 'red glow' artifact though.
EDIT: By the way, I saw conflicting coefficients. In this post you recommended for ACEScg from AlexaWG [0.075553775,0.218766689,0.052656531]
while in your current blink file you recommend [0.078,0.22,0.056]
. With row max() I get [-0.007,0.0582,0.211105]
including chromatic adaptation.
EDIT2: I noticed you didn't attach a license. Am I ok to port this to AviSynth+ or should I add a license disclaimer? Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.