* Initial update to python unit test module LookTest.
Signed-off-by: Mei Chu <meimchu@gmail.com>
* Updated PyLook and added some extra wrong type tests for LookTest.py
Signed-off-by: Mei Chu <meimchu@gmail.com>
* Updated LookTest and PyLook according to feedbacks.
Signed-off-by: Mei Chu <meimchu@gmail.com>
* Updated python LookTest according to further feedbacks.
Signed-off-by: Mei Chu <meimchu@gmail.com>
* Updated constructor method names per feedback.
Signed-off-by: Mei Chu <meimchu@gmail.com>
Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
* Adding file rules to config.
The file rules are a set of filepath to color space mappings that are evaluated from first to last. The first rule to match is what determines which color space is returned. There are four types of rules available. Each rule type has a name key that may be used by applications to refer to that rule. Name values must be unique. The other keys depend on the rule type:
- Basic Rule: This is the basic rule type that uses Unix glob style pattern matching and is thus very easy to use. It contains the keys:
* name: Name of the rule
* colorspace: Color space name to be returned.
* pattern: Glob pattern to be used for the main part of the name/path.
* extension: Glob pattern to be used for the file extension. Note that if glob tokens are not used, the extension will be used in a non-case-sensitive way by default.
- Regex Rule: This is similar to the basic rule but allows additional capabilities for power-users. It contains the keys:
* name: Name of the rule
* colorspace: Color space name to be returned.
* regex: Regular expression to be evaluated.
- OCIO v1 style Rule: This rule allows the use of the OCIO v1 style, where the string is searched for color space names from the config. This rule may occur 0 or 1 times in the list. The position in the list prioritizes it with respect to the other rules. It has the key:
* name: Must be "ColorSpaceNamePathSearch".
- Default Rule: The file_rules must always end with this rule. If no prior rules match, this rule specifies the color space applications will use. It has the keys:
* name: must be "Default".
* colorspace : Color space name to be returned.
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Remove unused constexpr.
Do not check system specific regex error.
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Add comments.
Rename some FileRules releated functions for clarity.
Add new FileRules function to insert the "ColorSpaceNamePathSearch" rule with specifying its name.
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Add new helper function setDefaultRuleColorSpace.
More comments.
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Rework GroupTransform interface and remove transform functions using float when there is a double version.
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Update PyExponentTransform.cpp
Replace tabs by spaces
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Using constexpr when possible.
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Fix conflict resolution
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
Exposure contrast has 3 properties that can be dynamic. When a property is dynamic it can be change after the processor has been created and optimized.
If 2 ops do have the same dynamic property, both will be controlled together.
Rework GPU unit test infrastructure to allow the same shader to be used several time (so that dynamic properties can be tested).
Add an interface to manipulate search paths one by one, allowing users to bypass the Windows issue with ":" being used as a path separator in the existing interface.
* Rework LogOpData to get ready for Log CTF parsing.
Add LogAffineTransform.
Add SSE and non SSE code path CPU and GPU implementation.
* LogAffine transform: remove enum defining parameters order from the API. Adding get/set for each paramater.
* Fix build after bad merge
* Adjust SSE version of the baked LUT in test.
* Adsk Contrib - Add the Gamma Op as defined by the ACES CLF specification
* Fix build break
* Add missing dependency
* Fix OSX build break
* Fix merge build breaks
* Fix merge build breaks
* Comment fixes
* Address the code review comments
* Improve the RenderParams structure
* Change to have ExponentTransform and ExponentWithLinearTransform (instead of the former GammaTransform) in the public API, and in the config file.
* Fix code review comments
* Fix code review comments
* Add some GPU unit tests for OCIO v1
* Improve the validation error message
* Fix code review comments
* Fix code review comments
* Add double support to ExponentTransform
* Fix code review comments
* Fix merge build breaks
* Fix platform specific 'Not SSE' computation precision
This PR implements Issue #610. It adds a new FileFormat to read Academy/ASC Common LUT Format (CLF) files. This fully implements the S-2014-006 spec from the Academy.
Note: you will see references to CTF in the code. The CLF support is based on the SynColor CTF reader, since CLF is a subset of CTF. The Autodesk Color Transform Format (CTF) is a superset of CLF that adds support for all OCIO ops (e.g. including Exponent and Log) as well as some ops that are useful for accurate ACES implementations. Because CTF requires adding some additional ops to OCIO, this PR does not enable CTF support yet. That will come in a future PR.
This PR adds a lot of unit tests and the tests/data/unittestsfiles.tar.gz has many new example CLF files for parsing tests. There are files that excercise all parts of the spec, including good files and files with syntax errors to test the exception handling. We put a fair amount of work into trying to provide useful error messages when a file cannot be parsed, indicating the line number and the exact nature of the issue.
* Array function already declared in base class. Removes an override warning.
* Adjust exception messages to constantly say CTF/CLF. <Info> element is CTF only.
* Update CTFReaderHelper.cpp
Fix expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Werror,-Wpotentially-evaluated-expression]
* Adsk Contrib - Add the CDL Op following the CLF specification
* Remove Visual Studio 2013 from AppVeyor as OCIO is now only C++11
* Fix merge failures
* Replace tinyXML by expat (#57)
eXpat is the xml parsing solution chosen for clf parsing, Replacing use of tinyXML by eXpat.
Add support for SATNode for CDL xml parsing.
* edit CMakeList.txt to use LF so that it gets patched properly
Remove uneeded compile options for eXpat
Fix CDL python test
* Fix text in test
* move expat header to a dedicated directory
fix linux build
* Fix typo in getXmlLineNumber
Remove references to CTF
* Fix some spelling and format issues with comments.
Add consistency to how LUT is spelled.
"OCIO configuration" or ".ocio configuration file"
* Fixing function parameters alignment