OCIOZ archive feature (#1627)#1696
Conversation
Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
|
Hi @cedrik-fuoco-adsk ! I take this should fix #1580 too? |
Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
… in order to respect C++ idiom and letting compiler optimize with NRVO and Copy elision - Improving how cmake find zlib (renamed getZLIB to Findzlib) - Make sure that ZLIB is statically linked on all platform (it wasn't on windows) - Fix issue with Python Unit test when using Python 2 (problem discovered on OSX) - Change how OpenEXR finds ZLIB by using our custom Findzlib - Patching Minizip-ng makefile to change cmake minimum version Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
Hi @amyspark, I would say that it should potentially fix issue #1580 based on the information on the issue. Unfortunately, I don't have the setup or environment to test that. |
remia
left a comment
There was a problem hiding this comment.
Great work @cedrik-fuoco-adsk, appreciate all the unit tests.
|
Thank you for the thorough review Remi! We will push another commit to address your points. |
…on needs to happend. - Responding to Remi's comments. Notable changes: - Comments typo and styles fix. - Unit tests fixes. - Removing the usage of std::ifstream in getLutData and getConfig since it is not needed at all - It was slowing down getLutData. - Implicitly converting python list to std::vector<uint8_t> (for getLutData) - When archiving a config, the file won't added (overwridden) multiple times if the file matches multiple supported format. Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
|
Thanks @remia for all the comments! The last commit should address all of your comments except the side note on splitting Config_tests.cpp. Note that the Linux CI Build are still failing because of the issue with the CMake version. |
- In ConfigIOProxy Python Unit test, changed getLutData to return a bytearray instead of a list. I think this makes more sense and it works with Python 2 and 3. Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
|
One more commit is in progress to update a few comments. |
Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
|
Here is a proposed fix for the VFX 2019 Linux builds, |
…inux (matrix.vfx-cy == '2019'). Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
|
I assume the remaining error can be addressed doing something similar to what we do for expat here? |
The lib prefix is ok. It seems like it doesn't use CMAKE_INSTALL_LIBDIR even though it is set to "lib64". It still installs it into "ext/dist/lib" instead of "ext/dist/lib64" EDIT: Should be all fixed now! |
- Removing unused CMAKE variables from ZLIB_CMAKE_ARGS Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
This PR is the implementation of the OCIOZ archive config feature (#1627).
The OCIO environment variable can now be set to an OCIOZ archive and an archive will work in CreateFromFile.
e.g. export OCIO=/home/user/myconfig/myarchived_config.ocioz
A new abstract class called ConfigIOProxy has been added to the Public API.
This abstract class allows a client application to implement a derived class that can provide a different
way of getting the config, the LUTs, and the existence of the LUTs.
The three methods are :
CreateFromConfgIOProxy has been added to the Public API which allows creation of a config from a derived instance of ConfigIOProxy.
isArchivable has been added to the Public API which tell you if the current config is archivable or not.
A new app called "ocioarchive" provides the following:
ociocheck:
Minizip-ng (handles the ZIP format) and ZLIB (handles compression) have been added as dependencies to OCIO.
Signed-off-by: Cedrik Fuoco cedrik.fuoco@autodesk.com