X-Git-Url: http://users.mur.at/ms/git/gitweb/?p=OpenColorIO-Configs.git;a=blobdiff_plain;f=aces%2Fluts%2Fslogf65_to_aces_3200.ctl;fp=aces%2Fluts%2Fslogf65_to_aces_3200.ctl;h=da35d27de7343455691629cf91526914379eb8a8;hp=0000000000000000000000000000000000000000;hb=1ce1614c96415dda3a5fc1d289322f681fe2b8b0;hpb=a2a301c14e0568fef61dfd5404f3a8b2e593df4d diff --git a/aces/luts/slogf65_to_aces_3200.ctl b/aces/luts/slogf65_to_aces_3200.ctl new file mode 100644 index 0000000..da35d27 --- /dev/null +++ b/aces/luts/slogf65_to_aces_3200.ctl @@ -0,0 +1,102 @@ +////////////////////////////////////////////////////////////////////////////////////// +// 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 SLog10_to_lin ( + float SLog +) +{ + return (pow(10,((((SLog/4-16)/219)-0.616596-0.03)/0.432699))-0.037584)*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 * 1023.0; + SLog[1] = gIn * 1023.0; + SLog[2] = bIn * 1023.0; + + // 10-bit Sony S-log to linear S-gamut + float lin[3]; + lin[0] = SLog10_to_lin( SLog[0]); + lin[1] = SLog10_to_lin( SLog[1]); + lin[2] = SLog10_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; +}