moved adx luts into unbuild subdir
authorJeremy Selan <jeremy.selan@gmail.com>
Mon, 27 Aug 2012 18:52:38 +0000 (11:52 -0700)
committerJeremy Selan <jeremy.selan@gmail.com>
Mon, 27 Aug 2012 18:52:38 +0000 (11:52 -0700)
aces/config.ocio
aces/config_1_0_3.ocio
aces/luts/unbuild/adx_adx10_to_aces.ctl [new file with mode: 0644]
aces/luts/unbuild/adx_adx10_to_cdd.spimtx [moved from aces/luts/adx_adx10_to_cdd.spimtx with 100% similarity]
aces/luts/unbuild/adx_adx16_to_aces.ctl [new file with mode: 0644]
aces/luts/unbuild/adx_adx16_to_cdd.spimtx [moved from aces/luts/adx_adx16_to_cdd.spimtx with 100% similarity]
aces/luts/unbuild/adx_cdd_to_cid.spimtx [moved from aces/luts/adx_cdd_to_cid.spimtx with 100% similarity]
aces/luts/unbuild/adx_cid_to_rle.py [moved from aces/luts/adx_cid_to_rle.py with 100% similarity]
aces/luts/unbuild/adx_cid_to_rle.spi1d [moved from aces/luts/adx_cid_to_rle.spi1d with 100% similarity]
aces/luts/unbuild/adx_exp_to_aces.spimtx [moved from aces/luts/adx_exp_to_aces.spimtx with 100% similarity]

index 8ea1911..0851501 100644 (file)
@@ -66,11 +66,11 @@ colorspaces:
     allocationvars: [0, 1]
     to_reference: !<GroupTransform>
       children:
-        - !<FileTransform> {src: adx_adx10_to_cdd.spimtx}
-        - !<FileTransform> {src: adx_cdd_to_cid.spimtx}
-        - !<FileTransform> {src: adx_cid_to_rle.spi1d, interpolation: linear}
+        - !<FileTransform> {src: unbuild/adx_adx10_to_cdd.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cdd_to_cid.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cid_to_rle.spi1d, interpolation: linear}
         - !<LogTransform> {base: 10, direction: inverse}
-        - !<FileTransform> {src: adx_exp_to_aces.spimtx}
+        - !<FileTransform> {src: unbuild/adx_exp_to_aces.spimtx}
 
   - !<ColorSpace>
     name: adx16
@@ -85,11 +85,11 @@ colorspaces:
     allocationvars: [0, 1]
     to_reference: !<GroupTransform>
       children:
-        - !<FileTransform> {src: adx_adx16_to_cdd.spimtx}
-        - !<FileTransform> {src: adx_cdd_to_cid.spimtx}
-        - !<FileTransform> {src: adx_cid_to_rle.spi1d, interpolation: linear}
+        - !<FileTransform> {src: unbuild/adx_adx16_to_cdd.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cdd_to_cid.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cid_to_rle.spi1d, interpolation: linear}
         - !<LogTransform> {base: 10, direction: inverse}
-        - !<FileTransform> {src: adx_exp_to_aces.spimtx}
+        - !<FileTransform> {src: unbuild/adx_exp_to_aces.spimtx}
 
   - !<ColorSpace>
     name: slogf35
index ec0cfe9..83aea30 100644 (file)
@@ -66,11 +66,11 @@ colorspaces:
     allocationvars: [0, 1]
     to_reference: !<GroupTransform>
       children:
-        - !<FileTransform> {src: adx_adx10_to_cdd.spimtx}
-        - !<FileTransform> {src: adx_cdd_to_cid.spimtx}
-        - !<FileTransform> {src: adx_cid_to_rle.spi1d, interpolation: linear}
+        - !<FileTransform> {src: unbuild/adx_adx10_to_cdd.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cdd_to_cid.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cid_to_rle.spi1d, interpolation: linear}
         - !<LogTransform> {base: 10, direction: inverse}
-        - !<FileTransform> {src: adx_exp_to_aces.spimtx}
+        - !<FileTransform> {src: unbuild/adx_exp_to_aces.spimtx}
 
   - !<ColorSpace>
     name: adx16
@@ -85,11 +85,11 @@ colorspaces:
     allocationvars: [0, 1]
     to_reference: !<GroupTransform>
       children:
-        - !<FileTransform> {src: adx_adx16_to_cdd.spimtx}
-        - !<FileTransform> {src: adx_cdd_to_cid.spimtx}
-        - !<FileTransform> {src: adx_cid_to_rle.spi1d, interpolation: linear}
+        - !<FileTransform> {src: unbuild/adx_adx16_to_cdd.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cdd_to_cid.spimtx}
+        - !<FileTransform> {src: unbuild/adx_cid_to_rle.spi1d, interpolation: linear}
         - !<LogTransform> {base: 10, direction: inverse}
-        - !<FileTransform> {src: adx_exp_to_aces.spimtx}
+        - !<FileTransform> {src: unbuild/adx_exp_to_aces.spimtx}
 
   - !<ColorSpace>
     name: slogf35
diff --git a/aces/luts/unbuild/adx_adx10_to_aces.ctl b/aces/luts/unbuild/adx_adx10_to_aces.ctl
new file mode 100644 (file)
index 0000000..d728156
--- /dev/null
@@ -0,0 +1,144 @@
+////////////////////////////////////////////////////////////////////////////////////// \r
+// License Terms for Academy Color Encoding System Components                       //\r
+//                                                                                  //\r
+// Academy Color Encoding System (ACES) software and tools are provided by the      //\r
+// Academy under the following terms and conditions: A worldwide, royalty-free,     //\r
+// non-exclusive right to copy, modify, create derivatives, and use, in source and  //\r
+// binary forms, is hereby granted, subject to acceptance of this license.          //\r
+// Performance of any of the aforementioned acts indicates acceptance to be bound   //\r
+// by the following terms and conditions:                                           //\r
+//                                                                                  //\r
+// Copies of source code, in whole or in part, must retain the above copyright      //\r
+// notice, this list of conditions and the Disclaimer of Warranty.                  //\r
+//                                                                                  //\r
+// Use in binary form must retain the copyright notice (below), this list of        //\r
+// conditions and the Disclaimer of Warranty in the documentation and/or other      //\r
+// materials provided with the distribution.                                        //\r
+//                                                                                  //\r
+// * Nothing in this license shall be deemed to grant any rights to trademarks,     //\r
+// copyrights, patents, trade secrets or any other intellectual property of         //\r
+// A.M.P.A.S. or any contributors, except as expressly stated herein.               //\r
+//                                                                                  //\r
+// * Neither the name "A.M.P.A.S." nor the name of any other contributors to this   //\r
+// software may be used to endorse or promote products derivative of or based on    //\r
+// this software without express prior written permission of A.M.P.A.S. or the      //\r
+// contributors, as appropriate.                                                    //\r
+//                                                                                  //\r
+// * This license shall be construed pursuant to the laws of the State of           //\r
+// California, and any disputes related thereto shall be subject to the             //\r
+// jurisdiction of the courts therein.                                              //\r
+//                                                                                  //\r
+// Copyright © 2012 Academy of Motion Picture Arts and Sciences (A.M.P.A.S.).       //\r
+// Portions contributed by others as indicated. All rights reserved.                //\r
+//                                                                                  //\r
+// Disclaimer of Warranty: THIS SOFTWARE IS PROVIDED BY A.M.P.A.S. AND CONTRIBUTORS //\r
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,    //\r
+// THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND //\r
+// NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL A.M.P.A.S., OR ANY            //\r
+// CONTRIBUTORS OR DISTRIBUTORS, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,    //\r
+// SPECIAL, EXEMPLARY, RESITUTIONARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  //\r
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   //\r
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF           //\r
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE  //\r
+// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF        //\r
+// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                                       //\r
+//                                                                                  //\r
+// WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, THE ACADEMY SPECIFICALLY       //\r
+// DISCLAIMS ANY REPRESENTATIONS OR WARRANTIES WHATSOEVER RELATED TO PATENT OR      //\r
+// OTHER INTELLECTUAL PROPERTY RIGHTS IN THE ACADEMY COLOR ENCODING SYSTEM, OR      //\r
+// APPLICATIONS THEREOF, HELD BY PARTIES OTHER THAN A.M.P.A.S.,WHETHER DISCLOSED OR //\r
+// UNDISCLOSED.                                                                     //\r
+////////////////////////////////////////////////////////////////////////////////////// \r
+\r
+// \r
+// Universal ADX10 to ACES Transform\r
+// \r
+\r
+\r
+\r
+\r
+\r
+/* ============ CONSTANTS ============ */\r
+const float CDD_TO_CID[3][3] = {\r
+       {0.75573, 0.05901, 0.16134},\r
+       {0.22197, 0.96928, 0.07406},\r
+       {0.02230, -0.02829, 0.76460}\r
+};\r
+\r
+const float EXP_TO_ACES[3][3] = {\r
+       {0.72286, 0.11923, 0.01427},\r
+       {0.12630, 0.76418, 0.08213},\r
+       {0.15084, 0.11659, 0.90359}\r
+};\r
+\r
+const float LUT_1D[11][2] = {\r
+       {-0.190000000000000, -6.000000000000000},\r
+       { 0.010000000000000, -2.721718645000000},\r
+       { 0.028000000000000, -2.521718645000000},\r
+       { 0.054000000000000, -2.321718645000000},\r
+       { 0.095000000000000, -2.121718645000000},\r
+       { 0.145000000000000, -1.921718645000000},\r
+       { 0.220000000000000, -1.721718645000000},\r
+       { 0.300000000000000, -1.521718645000000},\r
+       { 0.400000000000000, -1.321718645000000},\r
+       { 0.500000000000000, -1.121718645000000},\r
+       { 0.600000000000000, -0.926545676714876}\r
+};\r
+\r
+const float REF_PT = (7120.0 - 1520.0) / 8000.0 * (100.0 / 55.0) - log10(0.18);\r
+\r
+\r
+\r
+\r
+\r
+/* ============ Main Algorithm ============ */\r
+void main\r
+(   input varying float rIn,\r
+    input varying float gIn,\r
+    input varying float bIn,\r
+    input varying float aIn,\r
+    output varying float rOut,\r
+    output varying float gOut,\r
+    output varying float bOut,\r
+    output varying float aOut\r
+)\r
+{\r
+       // Prepare input values based on application bit depth handling\r
+       float adx[3];\r
+    adx[0] = rIn * 1023.0;\r
+       adx[1] = gIn * 1023.0;\r
+       adx[2] = bIn * 1023.0;\r
+\r
+       // Convert ADX10 values to Channel Dependent Density values\r
+       float cdd[3];\r
+       cdd[0] = ( adx[0] - 95.0) / 500.0;\r
+       cdd[1] = ( adx[1] - 95.0) / 500.0;\r
+       cdd[2] = ( adx[2] - 95.0) / 500.0;\r
+\r
+       // Convert Channel Dependent Density values into Channel Independent Density values\r
+       float cid[3] = mult_f3_f33( cdd, CDD_TO_CID);\r
+       \r
+       // Convert Channel Independent Density values to Relative Log Exposure values\r
+       float logE[3];\r
+       if ( cid[0] <= 0.6) logE[0] = interpolate1D( LUT_1D, cid[0]);\r
+       if ( cid[1] <= 0.6) logE[1] = interpolate1D( LUT_1D, cid[1]);\r
+       if ( cid[2] <= 0.6) logE[2] = interpolate1D( LUT_1D, cid[2]);\r
+       \r
+       if ( cid[0] > 0.6) logE[0] = ( 100.0 / 55.0) * cid[0] - REF_PT;\r
+       if ( cid[1] > 0.6) logE[1] = ( 100.0 / 55.0) * cid[1] - REF_PT;\r
+       if ( cid[2] > 0.6) logE[2] = ( 100.0 / 55.0) * cid[2] - REF_PT;\r
+\r
+       // Convert Relative Log Exposure values to Relative Exposure values\r
+       float exp[3];\r
+       exp[0] = pow( 10, logE[0]);\r
+       exp[1] = pow( 10, logE[1]);\r
+       exp[2] = pow( 10, logE[2]);\r
+\r
+       // Convert Relative Exposure values to ACES values\r
+       float aces[3] = mult_f3_f33( exp, EXP_TO_ACES);\r
+\r
+       rOut = aces[0];\r
+       gOut = aces[1];\r
+       bOut = aces[2];\r
+       aOut = aIn;     \r
+}
\ No newline at end of file
diff --git a/aces/luts/unbuild/adx_adx16_to_aces.ctl b/aces/luts/unbuild/adx_adx16_to_aces.ctl
new file mode 100644 (file)
index 0000000..1335893
--- /dev/null
@@ -0,0 +1,144 @@
+////////////////////////////////////////////////////////////////////////////////////// \r
+// License Terms for Academy Color Encoding System Components                       //\r
+//                                                                                  //\r
+// Academy Color Encoding System (ACES) software and tools are provided by the      //\r
+// Academy under the following terms and conditions: A worldwide, royalty-free,     //\r
+// non-exclusive right to copy, modify, create derivatives, and use, in source and  //\r
+// binary forms, is hereby granted, subject to acceptance of this license.          //\r
+// Performance of any of the aforementioned acts indicates acceptance to be bound   //\r
+// by the following terms and conditions:                                           //\r
+//                                                                                  //\r
+// Copies of source code, in whole or in part, must retain the above copyright      //\r
+// notice, this list of conditions and the Disclaimer of Warranty.                  //\r
+//                                                                                  //\r
+// Use in binary form must retain the copyright notice (below), this list of        //\r
+// conditions and the Disclaimer of Warranty in the documentation and/or other      //\r
+// materials provided with the distribution.                                        //\r
+//                                                                                  //\r
+// * Nothing in this license shall be deemed to grant any rights to trademarks,     //\r
+// copyrights, patents, trade secrets or any other intellectual property of         //\r
+// A.M.P.A.S. or any contributors, except as expressly stated herein.               //\r
+//                                                                                  //\r
+// * Neither the name "A.M.P.A.S." nor the name of any other contributors to this   //\r
+// software may be used to endorse or promote products derivative of or based on    //\r
+// this software without express prior written permission of A.M.P.A.S. or the      //\r
+// contributors, as appropriate.                                                    //\r
+//                                                                                  //\r
+// * This license shall be construed pursuant to the laws of the State of           //\r
+// California, and any disputes related thereto shall be subject to the             //\r
+// jurisdiction of the courts therein.                                              //\r
+//                                                                                  //\r
+// Copyright © 2012 Academy of Motion Picture Arts and Sciences (A.M.P.A.S.).       //\r
+// Portions contributed by others as indicated. All rights reserved.                //\r
+//                                                                                  //\r
+// Disclaimer of Warranty: THIS SOFTWARE IS PROVIDED BY A.M.P.A.S. AND CONTRIBUTORS //\r
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,    //\r
+// THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND //\r
+// NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL A.M.P.A.S., OR ANY            //\r
+// CONTRIBUTORS OR DISTRIBUTORS, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,    //\r
+// SPECIAL, EXEMPLARY, RESITUTIONARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  //\r
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   //\r
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF           //\r
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE  //\r
+// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF        //\r
+// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                                       //\r
+//                                                                                  //\r
+// WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, THE ACADEMY SPECIFICALLY       //\r
+// DISCLAIMS ANY REPRESENTATIONS OR WARRANTIES WHATSOEVER RELATED TO PATENT OR      //\r
+// OTHER INTELLECTUAL PROPERTY RIGHTS IN THE ACADEMY COLOR ENCODING SYSTEM, OR      //\r
+// APPLICATIONS THEREOF, HELD BY PARTIES OTHER THAN A.M.P.A.S.,WHETHER DISCLOSED OR //\r
+// UNDISCLOSED.                                                                     //\r
+////////////////////////////////////////////////////////////////////////////////////// \r
+\r
+// \r
+// Universal ADX16 to ACES Transform\r
+// \r
+\r
+\r
+\r
+\r
+\r
+/* ============ CONSTANTS ============ */\r
+const float CDD_TO_CID[3][3] = {\r
+       {0.75573, 0.05901, 0.16134},\r
+       {0.22197, 0.96928, 0.07406},\r
+       {0.02230, -0.02829, 0.76460}\r
+};\r
+\r
+const float EXP_TO_ACES[3][3] = {\r
+       {0.72286, 0.11923, 0.01427},\r
+       {0.12630, 0.76418, 0.08213},\r
+       {0.15084, 0.11659, 0.90359}\r
+};\r
+\r
+const float LUT_1D[11][2] = {\r
+       {-0.190000000000000, -6.000000000000000},\r
+       { 0.010000000000000, -2.721718645000000},\r
+       { 0.028000000000000, -2.521718645000000},\r
+       { 0.054000000000000, -2.321718645000000},\r
+       { 0.095000000000000, -2.121718645000000},\r
+       { 0.145000000000000, -1.921718645000000},\r
+       { 0.220000000000000, -1.721718645000000},\r
+       { 0.300000000000000, -1.521718645000000},\r
+       { 0.400000000000000, -1.321718645000000},\r
+       { 0.500000000000000, -1.121718645000000},\r
+       { 0.600000000000000, -0.926545676714876}\r
+};\r
+\r
+const float REF_PT = (7120.0 - 1520.0) / 8000.0 * (100.0 / 55.0) - log10(0.18);\r
+\r
+\r
+\r
+\r
+\r
+/* ============ Main Algorithm ============ */\r
+void main\r
+(   input varying float rIn,\r
+    input varying float gIn,\r
+    input varying float bIn,\r
+    input varying float aIn,\r
+    output varying float rOut,\r
+    output varying float gOut,\r
+    output varying float bOut,\r
+    output varying float aOut\r
+)\r
+{\r
+       // Prepare input values based on application bit depth handling\r
+       float adx[3];\r
+    adx[0] = rIn * 65535.0;\r
+       adx[1] = gIn * 65535.0;\r
+       adx[2] = bIn * 65535.0;\r
+\r
+       // Convert ADX16 values to Channel Dependent Density values\r
+       float cdd[3];\r
+       cdd[0] = ( adx[0] - 1520.0) / 8000.0;\r
+       cdd[1] = ( adx[1] - 1520.0) / 8000.0;\r
+       cdd[2] = ( adx[2] - 1520.0) / 8000.0;\r
+\r
+       // Convert Channel Dependent Density values into Channel Independent Density values\r
+       float cid[3] = mult_f3_f33( cdd, CDD_TO_CID);\r
+       \r
+       // Convert Channel Independent Density values to Relative Log Exposure values\r
+       float logE[3];\r
+       if ( cid[0] <= 0.6) logE[0] = interpolate1D( LUT_1D, cid[0]);\r
+       if ( cid[1] <= 0.6) logE[1] = interpolate1D( LUT_1D, cid[1]);\r
+       if ( cid[2] <= 0.6) logE[2] = interpolate1D( LUT_1D, cid[2]);\r
+       \r
+       if ( cid[0] > 0.6) logE[0] = ( 100.0 / 55.0) * cid[0] - REF_PT;\r
+       if ( cid[1] > 0.6) logE[1] = ( 100.0 / 55.0) * cid[1] - REF_PT;\r
+       if ( cid[2] > 0.6) logE[2] = ( 100.0 / 55.0) * cid[2] - REF_PT;\r
+\r
+       // Convert Relative Log Exposure values to Relative Exposure values\r
+       float exp[3];\r
+       exp[0] = pow( 10, logE[0]);\r
+       exp[1] = pow( 10, logE[1]);\r
+       exp[2] = pow( 10, logE[2]);\r
+\r
+       // Convert Relative Exposure values to ACES values\r
+       float aces[3] = mult_f3_f33( exp, EXP_TO_ACES);\r
+\r
+       rOut = aces[0];\r
+       gOut = aces[1];\r
+       bOut = aces[2];\r
+       aOut = aIn;     \r
+}
\ No newline at end of file