X-Git-Url: http://users.mur.at/ms/git/gitweb/?p=OpenColorIO-Configs.git;a=blobdiff_plain;f=aces_0.1.1%2Fluts%2Fsony%2Fslogf65_to_aces_3200.ctl;fp=aces_0.1.1%2Fluts%2Fsony%2Fslogf65_to_aces_3200.ctl;h=17ebeff39a6f662cef4525649f717719c2bba2e6;hp=0000000000000000000000000000000000000000;hb=9ce48d45f92a12b20b39eddd527b3c392b6a87cd;hpb=2335988b9d3ecc6b0d4f6f76938e1eaae449cac2 diff --git a/aces_0.1.1/luts/sony/slogf65_to_aces_3200.ctl b/aces_0.1.1/luts/sony/slogf65_to_aces_3200.ctl new file mode 100644 index 0000000..17ebeff --- /dev/null +++ b/aces_0.1.1/luts/sony/slogf65_to_aces_3200.ctl @@ -0,0 +1,115 @@ +////////////////////////////////////////////////////////////////////////////////////// +// License Terms for Academy Color Encoding System Components // +// // +// Academy Color Encoding System (ACES) software and tools are provided by the // +// Academy under the following terms and conditions: A worldwide, royalty-free, // +// non-exclusive right to copy, modify, create derivatives, and use, in source and // +// binary forms, is hereby granted, subject to acceptance of this license. // +// Performance of any of the aforementioned acts indicates acceptance to be bound // +// by the following terms and conditions: // +// // +// Copies of source code, in whole or in part, must retain the above copyright // +// notice, this list of conditions and the Disclaimer of Warranty. // +// // +// Use in binary form must retain the copyright notice (below), this list of // +// conditions and the Disclaimer of Warranty in the documentation and/or other // +// materials provided with the distribution. // +// // +// * Nothing in this license shall be deemed to grant any rights to trademarks, // +// copyrights, patents, trade secrets or any other intellectual property of // +// A.M.P.A.S. or any contributors, except as expressly stated herein. // +// // +// * Neither the name "A.M.P.A.S." nor the name of any other contributors to this // +// software may be used to endorse or promote products derivative of or based on // +// this software without express prior written permission of A.M.P.A.S. or the // +// contributors, as appropriate. // +// // +// * This license shall be construed pursuant to the laws of the State of // +// California, and any disputes related thereto shall be subject to the // +// jurisdiction of the courts therein. // +// // +// Copyright © 2012 Academy of Motion Picture Arts and Sciences (A.M.P.A.S.). // +// Portions contributed by others as indicated. All rights reserved. // +// // +// Disclaimer of Warranty: THIS SOFTWARE IS PROVIDED BY A.M.P.A.S. AND CONTRIBUTORS // +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, // +// THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND // +// NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL A.M.P.A.S., OR ANY // +// CONTRIBUTORS OR DISTRIBUTORS, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // +// SPECIAL, EXEMPLARY, RESITUTIONARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR // +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF // +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE // +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF // +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // +// // +// WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, THE ACADEMY SPECIFICALLY // +// DISCLAIMS ANY REPRESENTATIONS OR WARRANTIES WHATSOEVER RELATED TO PATENT OR // +// OTHER INTELLECTUAL PROPERTY RIGHTS IN THE ACADEMY COLOR ENCODING SYSTEM, OR // +// APPLICATIONS THEREOF, HELD BY PARTIES OTHER THAN A.M.P.A.S.,WHETHER DISCLOSED OR // +// UNDISCLOSED. // +////////////////////////////////////////////////////////////////////////////////////// + +// +// IDT for S-Log/S-Gamut F65 cameras +// Prototype: Jeremy Selan +// + + + +/* ============ SUBFUNCTIONS ============ */ +float SLog2_to_lin ( + float SLog +) +{ + // fit from [64,940] -> [0,1023] (of 1023) + // Map slog2->ire + float x = (SLog-64.0/1023.0) / ((940.0-64.0)/1023.0); + if (x < 0.030001222851889303) + { + x = ((x-0.030001222851889303 ) * 0.28258064516129); + } + else + { + x = (219.0*(pow(10.0, ((x-0.616596-0.03)/0.432699)) - 0.037584) /155.0); + } + + // 1.0 IRE => 0.9 scene-linear + return x*0.9; +} + + + + + +/* ============ Main Algorithm ============ */ +void +main +( input varying float rIn, + input varying float gIn, + input varying float bIn, + input varying float aIn, + output varying float rOut, + output varying float gOut, + output varying float bOut, + output varying float aOut +) +{ + // Prepare input values based on application bit depth handling + float SLog[3]; + SLog[0] = rIn; + SLog[1] = gIn; + SLog[2] = bIn; + + // 10-bit Sony S-log to linear S-gamut + float lin[3]; + lin[0] = SLog2_to_lin( SLog[0]); + lin[1] = SLog2_to_lin( SLog[1]); + lin[2] = SLog2_to_lin( SLog[2]); + + // S-Gamut to ACES matrix + rOut = lin[0] * 1.0110238740 + lin[1] * -0.1362526051 + lin[2] * 0.1252287310; + gOut = lin[0] * 0.1011994504 + lin[1] * 0.9562196265 + lin[2] * -0.0574190769; + bOut = lin[0] * 0.0600766530 + lin[1] * -0.1010185315 + lin[2] * 1.0409418785; + aOut = aIn; +}