Compare commits

...
824 Commits
Author SHA1 Message Date
zialandDoug Walker 5a808fb57a Fix ocioconvert invalid bidepth handling (#2323)
Signed-off-by: zial <zhenlai1013@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-07-09 21:05:14 -04:00
Doug Walker c2bd98f7d3 Adsk Contrib - Fix various Actions problems (#2324)
* Update RTD build OS

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Attempt to fix dependencies-latest fail

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Attempt to fix dependencies-latest fail - take 2

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Allow Linux 2023 to use the latest container

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Reorder link libraries

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fetch matching prebuilt OpenColorIO for OIIO app builds in CI

The aswf/ci-ocio container images intentionally omit OpenColorIO since
the whole point of the image is to build it from source. But the
container's prebuilt OpenImageIO is dynamically linked against a
specific OpenColorIO release that isn't present, causing link
failures for ociolutimage/ocioconvert/ociodisplay whenever
OCIO_USE_OIIO_FOR_APPS=ON. Fetch that matching release from the ASWF
Conan remote and stage it on the linker path before configuring, so
apps link against both the from-source build (used directly) and the
container's expected release (used transitively via OpenImageIO).

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Revert "Reorder link libraries"

This reverts commit fa79c589e0fbb5bb380a5f5406612e48849d9f6a.

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fail configure when OCIO_USE_OIIO_FOR_APPS is ON but OIIO is missing

Previously, requesting OCIO_USE_OIIO_FOR_APPS=ON while OpenImageIO
could not be found silently fell back to OpenEXR (or skipped building
ociolutimage/ocioconvert/ociodisplay entirely), with only a WARNING.
This let CI silently stop exercising the OIIO code path in those apps
without failing, masking the fact that OIIO wasn't actually being
tested. Turn this into a hard configure-time error instead, so a
missing OpenImageIO is caught immediately when it was explicitly
requested.

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix OIIO build on macOS

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Try to identify source of crash in OpOptimizers test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Print SKIPPED rather than PASSED for new CPU test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Ensure the new test runs even if the existing test crashes

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Turn off AVX512 support for EPYC 9V45

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-07-08 19:38:58 -04:00
f660cee612 ociocheck to check OpenColorIO library version first (#2310)
* Add to PathUtils

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Python test switch to ExceptionMissingFile

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated tests to use ExceptionMissingFile instead

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Revert PathUtil related changes.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Remove PathUtils changes

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Switch exception raised for filepath not provided in CreateFromFile.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Remove TODO

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Add CVE to security (#2311)

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Mei Chu <meimchu@gmail.com>

* Adsk Contrib - Fix 2023.3 Linux container break (#2315)

* Fix 2023.3 Linux container break

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Adjust to keep the name constant to use the existing GitHub branch rules

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Mei Chu <meimchu@gmail.com>

* Add DirectX 12 GPU backend for automated unit testing on Windows (#2271)

* Add DirectX 12 GPU backend for automated unit testing on Windows

Introduce a DirectX 12 / HLSL rendering backend alongside the existing OpenGL / GLSL and Metal / MSL backends, enabling the GPU unit test suite to run natively on Windows without requiring an OpenGL context.

Key changes:

  GraphicalApp abstract interface (graphicalapp.h/cpp)

    Backend-agnostic base class extracted from OglApp.  OglApp and MetalApp now inherit from it.

  DxApp (dxapp.h/cpp) -- DirectX 12 backend

    Off-screen RGBA32F render target, full-screen triangle via SV_VertexID, staging readback, SM 6.0 DXC shader compilation.

  HLSLBuilder (hlsl.h/cpp) -- HLSL shader generation

    Translates GpuShaderDesc into HLSL pixel shaders with 1D and 3D LUT texture uploads in RGBA32F format.

  CMake integration

    OCIO_DIRECTX_ENABLED option, FetchContent for DirectX-Headers, auto-copy of DXC runtime DLLs to the test output directory.

  Test tolerance adjustments

    Minor epsilon increases for 4 tests due to DX12/SM6.0 FMA and pow() precision differences.

  All 263 GPU tests pass on the DirectX 12 backend.

Build and run:

  # Configure (OCIO_DIRECTX_ENABLED defaults to ON on Windows)

  cmake -S . -B build -DCMAKE_BUILD_TYPE=Release

  # Build the GPU test binary

  cmake --build build --target test_gpu_exec --config Release

  # Run GPU tests with the DX12 backend

  ctest --test-dir build -C Release -R test_dx

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Fix post-rebase issues found in code review

  - HeadlessOglApp::printGraphicsInfo() was calling pure virtual base (crash on headless EGL)
  - graphicalapp.cpp included oglapp.h unconditionally; guard under OCIO_GL_ENABLED
  - tests/gpu/CMakeLists.txt early-return guard excluded Vulkan-only builds
  - Add missing test_vulkan ctest entry

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Minor additional comments, formatting and fixes.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Speed up DX12 GPU test backend (~19%)

  The DX12 test suite was noticeably slower than the OpenGL and Vulkan backends. Profiling the run showed the gap was almost entirely in DXC shader
  compilation, not in Present, fence waits, or DxcCreateInstance as initially suspected.

  Three low-risk changes:

  - Cache IDxcUtils and IDxcCompiler3 as DxApp members instead of recreating them on every setShader() call. The COM instances are thread-safe and
  perfectly reusable; recreating them per test added no value.
  - Compile the full-screen-triangle vertex shader exactly once and reuse the bytecode across all tests. The VSMain HLSL is a hard-coded
  SV_VertexID-driven triangle with no test-specific state — the bytecode is identical every time. Extracted into a new ensureVertexShaderCompiled()
  helper. This alone eliminated the biggest redundancy (263 duplicate VS compiles).
  - Present(1, 0) → Present(0, 0). VSync is meaningless for an off-screen test harness that reads back from a float render target. Locally the win shows
  up mostly in waitForPreviousFrame, which was being throttled by the swap-chain pipeline even on an invisible window.

  All 263/263 tests still pass; no tolerance changes, no DXIL codegen changes (except for a UTF8 fix), no precision risk.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Several small fixes tidying up the recently-added GPU test infrastructure.

  - Fix unused-variable warnings (fatal on macOS with warnings-as-errors): guard useDxRenderer and useVulkanRenderer declarations with the same ifdefs as their usage sites. useMetalRenderer
   stays unconditional because it's referenced on all platforms.
  - Propagate the MSVC+shared-libs PATH workaround to test_vulkan so it can find OpenColorIO_*.dll at runtime, matching what's already done for test_dx.
  - Upgrade the dxcompiler.dll detection message from STATUS to WARNING and rewrite it to name OCIO_DIRECTX_ENABLED and offer concrete recovery paths. The previous STATUS message was easy
  to miss, leaving users with a silent degradation until test_dx failed at runtime.
  - Rename the OpenGL ctest from test_gpu to test_opengl now that sibling backend-specific tests (test_dx, test_vulkan, test_metal) exist. The test_gpu_exec binary keeps its name since it's
   backend-agnostic and selects via CLI flags.
  - Declare OCIO_VULKAN_ENABLED as a first-class CMake option with mark_as_advanced, matching the existing OCIO_DIRECTX_ENABLED. It was previously used in conditionals without ever being
  declared, so it never appeared as a toggle in ccmake/cmake-gui.
  - Document both OCIO_DIRECTX_ENABLED and OCIO_VULKAN_ENABLED in docs/quick_start/installation.rst, noting that Vulkan requires an external SDK.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Integrate DirectX-Headers with OCIO's external-package pattern

  Previously InstallDirectXHeaders.cmake was included unconditionally from oglapphelpers/CMakeLists.txt, so DirectX-Headers was always fetched from GitHub regardless of whether the user had
   a local copy installed. There was no way to use a system install, a vendored copy, or an air-gapped build, and the dep didn't respect OCIO_INSTALL_EXT_PACKAGES. DirectX-Headers is now a
  first-class OCIO dependency, handled the same way as Imath, ZLIB, yaml-cpp, etc.: try find_package first, fall back to FetchContent only if not found and OCIO_INSTALL_EXT_PACKAGES allows
  it.

  Changes:
  - New share/cmake/modules/FindDirectX-Headers.cmake, modeled on FindImath.cmake.
  - InstallDirectXHeaders.cmake → InstallDirectX-Headers.cmake (the hyphen matches OCIO's Install convention).
  - oglapphelpers/CMakeLists.txt now calls ocio_handle_dependency(DirectX-Headers ...) with MIN_VERSION 1.606.0 (Windows SDK 22H2 era — old enough to cover most installed copies) and
  RECOMMENDED_VERSION 1.619.1 (the version OCIO pins and validates).

  For users: a local DirectX-Headers install can now be supplied via any of the standard CMake mechanisms — -DDirectX-Headers_DIR, -DDirectX-Headers_ROOT, -DDirectX-Headers_INCLUDE_DIR, or
  globally with -DOCIO_INSTALL_EXT_PACKAGES=NONE to forbid any network fetch.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Improve dxcompiler.dll diagnostics and allow overriding its path

  Addresses test crashes seen on stuck Windows 10 hosts caused by an old dxcompiler.dll shipped in that host's Windows SDK Redist.

  - Print the version of the found dxcompiler.dll at configure time so crash reports identify the exact DXC build without follow-up diagnostics.
  - Emit a standing hint pointing at the DirectX Shader Compiler releases page, which is the documented workaround.
  - New -DOCIO_DXCOMPILER_DLL=<path> overrides the Windows SDK Redist search, letting users supply a newer DLL pre-build instead of copying it by hand after.
  - Extracted the DXC-runtime logic into share/cmake/utils/LocateDXCompilerRuntime.cmake so tests/gpu/CMakeLists.txt stays focused on the test target.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Minor comment tweaks in LocateDXCompilerRuntime.cmake.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Use OCIO_DirectX-Headers_RECOMMENDED_VERSION in InstallDirectX-Headers.cmake

  ocio_install_dependency already propagates the RECOMMENDED_VERSION from the
  ocio_handle_dependency call site. Consume it instead of hardcoding the
  version a second time. Matches the pattern in Installyaml-cpp.cmake and
  Installpystring.cmake.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Address local cleanup notes from PR #2271 Claude review.

* Name CbvSrvHeapSize and throw in setShader if a shader needs more SRV slots than the heap holds.
* Guard ~DxApp() so the GPU wait/CloseHandle are skipped when sync objects were never created (constructor partial-init).
* Comment the 16-byte float4 stride used when packing UNIFORM_VECTOR_FLOAT/INT arrays into the HLSL constant buffer.
* Only record m_windowClassName when RegisterClassExA actually succeeds, so cleanup won't unregister a class owned by another DxApp.
* Drop the redundant trailing else in GPUUnitTest.cpp's shadingLanguage selector (initializer already covers it).

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

---------

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Mei Chu <meimchu@gmail.com>

---------

Signed-off-by: Mei Chu <meimchu@gmail.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Éric Renaud-Houde <eric.renaud.houde@gmail.com>
2026-06-10 13:29:05 -04:00
Doug Walker 7063751feb Adsk Contrib - Avoid possible cycles in transforms (#2318)
* Fix potential cycle crash

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Clarify purpose of the various guards

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-06-08 21:04:01 -04:00
Éric Renaud-HoudeandDoug Walker 57a94a8003 Add DirectX 12 GPU backend for automated unit testing on Windows (#2271)
* Add DirectX 12 GPU backend for automated unit testing on Windows

Introduce a DirectX 12 / HLSL rendering backend alongside the existing OpenGL / GLSL and Metal / MSL backends, enabling the GPU unit test suite to run natively on Windows without requiring an OpenGL context.

Key changes:

  GraphicalApp abstract interface (graphicalapp.h/cpp)

    Backend-agnostic base class extracted from OglApp.  OglApp and MetalApp now inherit from it.

  DxApp (dxapp.h/cpp) -- DirectX 12 backend

    Off-screen RGBA32F render target, full-screen triangle via SV_VertexID, staging readback, SM 6.0 DXC shader compilation.

  HLSLBuilder (hlsl.h/cpp) -- HLSL shader generation

    Translates GpuShaderDesc into HLSL pixel shaders with 1D and 3D LUT texture uploads in RGBA32F format.

  CMake integration

    OCIO_DIRECTX_ENABLED option, FetchContent for DirectX-Headers, auto-copy of DXC runtime DLLs to the test output directory.

  Test tolerance adjustments

    Minor epsilon increases for 4 tests due to DX12/SM6.0 FMA and pow() precision differences.

  All 263 GPU tests pass on the DirectX 12 backend.

Build and run:

  # Configure (OCIO_DIRECTX_ENABLED defaults to ON on Windows)

  cmake -S . -B build -DCMAKE_BUILD_TYPE=Release

  # Build the GPU test binary

  cmake --build build --target test_gpu_exec --config Release

  # Run GPU tests with the DX12 backend

  ctest --test-dir build -C Release -R test_dx

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Fix post-rebase issues found in code review

  - HeadlessOglApp::printGraphicsInfo() was calling pure virtual base (crash on headless EGL)
  - graphicalapp.cpp included oglapp.h unconditionally; guard under OCIO_GL_ENABLED
  - tests/gpu/CMakeLists.txt early-return guard excluded Vulkan-only builds
  - Add missing test_vulkan ctest entry

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Minor additional comments, formatting and fixes.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Speed up DX12 GPU test backend (~19%)

  The DX12 test suite was noticeably slower than the OpenGL and Vulkan backends. Profiling the run showed the gap was almost entirely in DXC shader
  compilation, not in Present, fence waits, or DxcCreateInstance as initially suspected.

  Three low-risk changes:

  - Cache IDxcUtils and IDxcCompiler3 as DxApp members instead of recreating them on every setShader() call. The COM instances are thread-safe and
  perfectly reusable; recreating them per test added no value.
  - Compile the full-screen-triangle vertex shader exactly once and reuse the bytecode across all tests. The VSMain HLSL is a hard-coded
  SV_VertexID-driven triangle with no test-specific state — the bytecode is identical every time. Extracted into a new ensureVertexShaderCompiled()
  helper. This alone eliminated the biggest redundancy (263 duplicate VS compiles).
  - Present(1, 0) → Present(0, 0). VSync is meaningless for an off-screen test harness that reads back from a float render target. Locally the win shows
  up mostly in waitForPreviousFrame, which was being throttled by the swap-chain pipeline even on an invisible window.

  All 263/263 tests still pass; no tolerance changes, no DXIL codegen changes (except for a UTF8 fix), no precision risk.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Several small fixes tidying up the recently-added GPU test infrastructure.

  - Fix unused-variable warnings (fatal on macOS with warnings-as-errors): guard useDxRenderer and useVulkanRenderer declarations with the same ifdefs as their usage sites. useMetalRenderer
   stays unconditional because it's referenced on all platforms.
  - Propagate the MSVC+shared-libs PATH workaround to test_vulkan so it can find OpenColorIO_*.dll at runtime, matching what's already done for test_dx.
  - Upgrade the dxcompiler.dll detection message from STATUS to WARNING and rewrite it to name OCIO_DIRECTX_ENABLED and offer concrete recovery paths. The previous STATUS message was easy
  to miss, leaving users with a silent degradation until test_dx failed at runtime.
  - Rename the OpenGL ctest from test_gpu to test_opengl now that sibling backend-specific tests (test_dx, test_vulkan, test_metal) exist. The test_gpu_exec binary keeps its name since it's
   backend-agnostic and selects via CLI flags.
  - Declare OCIO_VULKAN_ENABLED as a first-class CMake option with mark_as_advanced, matching the existing OCIO_DIRECTX_ENABLED. It was previously used in conditionals without ever being
  declared, so it never appeared as a toggle in ccmake/cmake-gui.
  - Document both OCIO_DIRECTX_ENABLED and OCIO_VULKAN_ENABLED in docs/quick_start/installation.rst, noting that Vulkan requires an external SDK.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Integrate DirectX-Headers with OCIO's external-package pattern

  Previously InstallDirectXHeaders.cmake was included unconditionally from oglapphelpers/CMakeLists.txt, so DirectX-Headers was always fetched from GitHub regardless of whether the user had
   a local copy installed. There was no way to use a system install, a vendored copy, or an air-gapped build, and the dep didn't respect OCIO_INSTALL_EXT_PACKAGES. DirectX-Headers is now a
  first-class OCIO dependency, handled the same way as Imath, ZLIB, yaml-cpp, etc.: try find_package first, fall back to FetchContent only if not found and OCIO_INSTALL_EXT_PACKAGES allows
  it.

  Changes:
  - New share/cmake/modules/FindDirectX-Headers.cmake, modeled on FindImath.cmake.
  - InstallDirectXHeaders.cmake → InstallDirectX-Headers.cmake (the hyphen matches OCIO's Install convention).
  - oglapphelpers/CMakeLists.txt now calls ocio_handle_dependency(DirectX-Headers ...) with MIN_VERSION 1.606.0 (Windows SDK 22H2 era — old enough to cover most installed copies) and
  RECOMMENDED_VERSION 1.619.1 (the version OCIO pins and validates).

  For users: a local DirectX-Headers install can now be supplied via any of the standard CMake mechanisms — -DDirectX-Headers_DIR, -DDirectX-Headers_ROOT, -DDirectX-Headers_INCLUDE_DIR, or
  globally with -DOCIO_INSTALL_EXT_PACKAGES=NONE to forbid any network fetch.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Improve dxcompiler.dll diagnostics and allow overriding its path

  Addresses test crashes seen on stuck Windows 10 hosts caused by an old dxcompiler.dll shipped in that host's Windows SDK Redist.

  - Print the version of the found dxcompiler.dll at configure time so crash reports identify the exact DXC build without follow-up diagnostics.
  - Emit a standing hint pointing at the DirectX Shader Compiler releases page, which is the documented workaround.
  - New -DOCIO_DXCOMPILER_DLL=<path> overrides the Windows SDK Redist search, letting users supply a newer DLL pre-build instead of copying it by hand after.
  - Extracted the DXC-runtime logic into share/cmake/utils/LocateDXCompilerRuntime.cmake so tests/gpu/CMakeLists.txt stays focused on the test target.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Minor comment tweaks in LocateDXCompilerRuntime.cmake.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Use OCIO_DirectX-Headers_RECOMMENDED_VERSION in InstallDirectX-Headers.cmake

  ocio_install_dependency already propagates the RECOMMENDED_VERSION from the
  ocio_handle_dependency call site. Consume it instead of hardcoding the
  version a second time. Matches the pattern in Installyaml-cpp.cmake and
  Installpystring.cmake.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Address local cleanup notes from PR #2271 Claude review.

* Name CbvSrvHeapSize and throw in setShader if a shader needs more SRV slots than the heap holds.
* Guard ~DxApp() so the GPU wait/CloseHandle are skipped when sync objects were never created (constructor partial-init).
* Comment the 16-byte float4 stride used when packing UNIFORM_VECTOR_FLOAT/INT arrays into the HLSL constant buffer.
* Only record m_windowClassName when RegisterClassExA actually succeeds, so cleanup won't unregister a class owned by another DxApp.
* Drop the redundant trailing else in GPUUnitTest.cpp's shadingLanguage selector (initializer already covers it).

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

---------

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-05-22 19:48:31 -04:00
Doug Walker 907a643afe Adsk Contrib - Fix 2023.3 Linux container break (#2315)
* Fix 2023.3 Linux container break

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Adjust to keep the name constant to use the existing GitHub branch rules

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-05-22 19:16:59 -04:00
Doug Walker f705d2e6f0 Add CVE to security (#2311)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-05-13 17:48:51 -04:00
Doug Walker c173846ced Adsk Contrib - Miscellaneous improvements suggested by Claude (#2308)
* Various fixes suggested by Claude

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Address review comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update security guidelines

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Address review comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Further max Lut3D size cleanup

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve cast to avoid possible warning

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-05-06 17:59:46 -04:00
Doug Walker 222ca509c9 Fix observed behavior (#2307)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-05-06 17:23:36 -04:00
Rémi AchardandDoug Walker 4a119df181 Fix OpenGL ES type issues in ACES2 FixedFunction Ops (#2281)
* Fix OpenGL ES type issues in ACES2 FixedFunction Ops

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update src/OpenColorIO/ops/fixedfunction/FixedFunctionOpGPU.cpp

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add 2D texture path tests for ACES2 cusp and reach table sampling

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-05-06 15:22:05 -04:00
Rémi Achard 9abd326bde Add /bigobj for pybind11 target on Windows (#2304)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
2026-05-06 14:57:12 -04:00
Doug Walker 39e775bd84 Improve CMake and Actions settings (#2302)
* Improve cmake and actions settings

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Bump sonarqube action

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix Windows documentation fail

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix Windows documentation fail, take 2

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-05-05 15:16:53 -04:00
Cuneyt OzdasandDoug Walker e24ce5c05d Adsk Contrib - Setup Debugger Env Paths (#2262)
* - Adding a CMake utility function to setup debugger environments so that the debugger can locate the run-time dependencies. This makes it possible to compile and launch the projects directly within visual studio for example.
- Calling the above function in projects that need it.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - white space fix

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - group the source files in IDE to replicate the source tree structure

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Grouping the cpu test project sources to replicate the source tree structure. OCIO library files and the test files are separately grouped for better clarity.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Make the gpu test CTest paths modification more robust

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-04-24 00:22:44 -04:00
Doug Walker 45ff624270 Adsk Contrib - Update Python documentation requirements (#2285)
* Implement dependabot requests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Revert Sphinx

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update latest dependabot

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add sphinx-press install

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove outdated comment

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-04-22 23:34:20 -04:00
Doug Walker 812f3a462b Adsk Contrib - Update CI to VFX 2026 (#2282)
* Update Linux CI to VFX 2026

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Implement TSC requests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add pypa action and improve Sonar stuff

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update deploy site actions

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove more python 3.9

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update latest dependabot

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-04-22 19:21:40 -04:00
Doug Walker 044f66bac1 Adsk Contrib - Hue curve python binding was not copying all parameters (#2276)
* Fix bug in hue curve python binding

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Pointer check improvement

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Dangling reference fix

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-04-03 15:49:29 -04:00
Dmitry Kazakov 75bb9d0a04 Fix linking to self-built deps on Windows + Clang (#2273)
1) Expat: 'MD' suffix is added on MSVC only, 'd' suffix is added on WIN32
2) ZLib: 'd' suffix is added only on MSVC

Signed-off-by: Dmitry Kazakov <dimula73@gmail.com>
2026-04-01 19:12:57 -04:00
Pavan MadduriandDoug Walker c7612d102a gpu: Add Vulkan unit test framework (#2243)
* Add release signing workflow using Sigstore (#2229)

This adds a GitHub Actions workflow that signs release artifacts
using Sigstore, following the OpenSSF Best Practices Badge
recommendations. The workflow is triggered on release publication
and:

1. Creates a .tar.gz archive of the source tree
2. Signs the archive using sigstore/gh-action-sigstore-python
3. Uploads both the tarball and .sigstore.json credential bundle

Based on the OpenEXR release-sign.yml workflow template.

Closes #2034

Signed-off-by: pmady <pavan4devops@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: pmady <pavan4devops@gmail.com>

* gpu: Add Vulkan unit test framework

Add initial Vulkan support for GPU unit testing in OpenColorIO.

This commit introduces:
- vulkanapp.h/cpp: Headless Vulkan rendering framework for GPU tests
- CMakeLists.txt updates: Conditional Vulkan build support with OCIO_VULKAN_ENABLED
- GPUUnitTest.cpp: --vulkan flag to run tests with Vulkan renderer

The Vulkan implementation uses compute shaders for color processing,
similar to the existing OpenGL and Metal implementations. It supports
headless rendering suitable for CI environments.

Note: GLSL to SPIR-V compilation requires linking against glslang or
shaderc library (marked as TODO in the implementation).

Issue Number: close #2209

Signed-off-by: pmady <pavan4devops@gmail.com>

* gpu: Implement GLSL to SPIR-V compilation using glslang

Add glslang library dependency for runtime GLSL to SPIR-V compilation
in the Vulkan unit test framework. This enables the Vulkan GPU tests
to actually run by compiling OCIO-generated GLSL shaders to SPIR-V.

Changes:
- CMakeLists.txt: Add find_package(glslang) and link glslang libraries
- vulkanapp.cpp: Implement compileGLSLToSPIRV() using glslang API

The implementation:
- Initializes glslang process (thread-safe, one-time init)
- Configures Vulkan 1.2 / SPIR-V 1.5 target environment
- Parses GLSL compute shader source
- Links shader program
- Generates optimized SPIR-V bytecode

Signed-off-by: pmady <pavan4devops@gmail.com>

* docs: Add comprehensive Vulkan testing guides for PR #2243

Add detailed testing documentation to help reviewers and contributors
test the Vulkan unit test framework locally.

Files added:
- VULKAN_TESTING_GUIDE.md: Comprehensive guide with installation
  instructions for macOS, Linux, and Windows, build configuration,
  troubleshooting, and platform-specific notes
- QUICK_TEST_STEPS.md: Quick reference guide with fast-track
  installation and testing steps for each platform

These guides address the request from @doug-walker to provide
instructions for installing Vulkan SDK and glslang dependencies
needed to test the Vulkan branch locally.

Signed-off-by: pmady <pavan4devops@gmail.com>

* Remove testing guide files - will provide as PR comment instead

Signed-off-by: pmady <pavan4devops@gmail.com>

* fix: Change Vulkan CMake definitions from PRIVATE to PUBLIC

Address feedback from @doug-walker regarding build issues:
- Change target_include_directories from PRIVATE to PUBLIC
- Change target_link_libraries from PRIVATE to PUBLIC
- Change target_compile_definitions from PRIVATE to PUBLIC

This allows dependent targets (like test_gpu_exec) to properly
access the OCIO_VULKAN_ENABLED definition and Vulkan libraries.

Signed-off-by: pmady <pavan4devops@gmail.com>

* fix: Add MoltenVK portability extension for macOS

Add VK_KHR_PORTABILITY_ENUMERATION extension and flag for macOS
to enable Vulkan instance creation with MoltenVK.

Signed-off-by: pmady <pavan4devops@gmail.com>

* feat: Integrate Vulkan test framework into GPU unit tests

Complete Vulkan test integration for OpenColorIO GPU unit tests:

- Add Vulkan-specific helper functions in GPUUnitTest.cpp:
  - AllocateImageTexture for VulkanApp
  - UpdateImageTexture for VulkanApp
  - UpdateOCIOVulkanState for VulkanApp
  - ValidateImageTexture for VulkanApp

- Wire VulkanApp into test execution loop with proper branching

- Fix VulkanApp initialization:
  - Add MoltenVK portability extension for macOS
  - Add bounds checking in compute shader
  - Fix cleanup order to destroy VulkanBuilder before device

- Fix CMake: Change PRIVATE to PUBLIC for Vulkan definitions

Test Results (macOS with MoltenVK):
- 155 tests PASSED (all non-LUT operations)
- 108 tests FAILED (LUT1D/LUT3D - require texture sampler support)

The LUT tests fail because 3D texture sampler support is not yet
implemented in VulkanBuilder. This is a known limitation that
requires additional work to implement texture allocation and
descriptor set updates for LUT textures.

Signed-off-by: pmady <pavan4devops@gmail.com>

* Add Vulkan uniform buffer and LUT texture support

- Implement VulkanBuilder uniform buffer creation and update for dynamic parameters
- Add 3D LUT texture allocation with RGBA format (RGB32F not supported on MoltenVK)
- Add 1D/2D LUT texture allocation with proper format handling
- Fix shader generation to use correct descriptor bindings for textures and uniforms
- Add std140 layout qualifier to OCIO uniform blocks
- Update descriptor set layout and pool sizes to include uniforms and textures
- Call updateUniforms() before each dispatch for dynamic parameter updates

Test results: 216/263 tests pass (82%)
Remaining failures are complex uniform blocks with vec3 types that need
additional std140 alignment handling.

Signed-off-by: pmady <pavan4devops@gmail.com>

* Fix Vulkan uniform buffer layout and 1D texture handling

- Use OCIO's getUniformBufferSize() and m_bufferOffset for correct std140 layout
- Write array data with 16-byte stride per element (std140 requirement)
- Add std140 layout qualifier to uniform blocks in shader generation
- Disable 1D textures for Vulkan (use 2D instead) for MoltenVK compatibility
- Add better exception handling in GPU unit tests for debugging

This fixes 108 additional Vulkan GPU tests, bringing the pass rate from
155/263 (59%) to 260/263 (98.9%). The 3 remaining failures are ACES2
precision-sensitive edge cases that may need Vulkan-specific tolerance
adjustments.

Signed-off-by: pmady <pavan4devops@gmail.com>

* Use OCIO's getTextureShaderBindingIndex API for Vulkan texture bindings

- Remove manual sampler declarations in buildShader(), use OCIO-generated ones
- Configure shader descriptor with setDescriptorSetIndex(0, 2) for Vulkan
  to start texture bindings at 2 (after input/output storage buffers)
- Use get3DTextureShaderBindingIndex() and getTextureShaderBindingIndex()
  for correct texture binding indices
- Add GPU diagnostic output to verify MoltenVK uses actual GPU hardware

This addresses review feedback from PR #2243 to use the new texture binding
API added in OCIO 2.5.1 (PR #2226) instead of manually declaring samplers.

Test results: 260/263 tests pass (98.9%)
Remaining 3 failures are ACES2 precision-sensitive edge cases.
GPU confirmed: Apple M2 Pro (Integrated GPU), not CPU emulation.

Signed-off-by: pmady <pavan4devops@gmail.com>

* Address PR review comments for Vulkan unit test framework

- Fix switch warning by explicitly handling VK_PHYSICAL_DEVICE_TYPE_OTHER
  and VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM cases
- Fix unused format parameter warning in transitionImageLayout
- Move input/output buffers to high bindings (100, 101) to avoid conflicts
  with OCIO's uniform binding at 0, eliminating need to edit shader text
- Refactor GPUUnitTest.cpp to share code between GL and Vulkan:
  - Extract PrepareInputValues helper for UpdateImageTexture
  - Extract ValidateResults and ValidateImageTextureImpl template for
    ValidateImageTexture
- Preserve Mac ARM ifdef for NaN/Infinity test disabling in Vulkan path
- Update texture binding start to 1 (was 2) since binding 0 is now used
  for OCIO uniforms

Signed-off-by: pmady <pavan4devops@gmail.com>

* Address PR review: use consecutive bindings and increase tolerances

- Change input/output buffer bindings from 100/101 to 1/2
- Update setDescriptorSetIndex(0, 3) so textures start at binding 3
- Increase test tolerances as requested:
  - Test 39 (line 306): 3e-6f -> 3e-5f
  - Test 49 (line 659): 0.018f -> 0.019f
  - Test 51 (line 696): 0.03f -> 0.032f
- Update comments to reflect the new binding strategy

Signed-off-by: pmady <pavan4devops@gmail.com>

---------

Signed-off-by: pmady <pavan4devops@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-03-25 20:04:35 -04:00
d9eb50cca5 Alpha channel should be 1 by default, rather than 0 (#2197)
* For CPU processor, when source has no alpha make it default to 1.

Signed-off-by: pylee <penne.y.lee@intel.com>

* Fix alpha channel for integer types.

Signed-off-by: pylee <penne.y.lee@intel.com>

* Fix max alpha value to be from input bitdepth not output.

Signed-off-by: pylee <penne.y.lee@intel.com>

* Forgot to update ImagePacking.h

Signed-off-by: pylee <penne.y.lee@intel.com>

* Remove the unused inputBitDepth name causing compiler error.

Signed-off-by: pylee <penne.y.lee@intel.com>

* Update src/OpenColorIO/ImagePacking.cpp

Co-authored-by: Cuneyt Ozdas <github@cuneytozdas.com>
Signed-off-by: PenneLee <pennelee@gmail.com>

---------

Signed-off-by: pylee <penne.y.lee@intel.com>
Signed-off-by: PenneLee <pennelee@gmail.com>
Co-authored-by: Cuneyt Ozdas <github@cuneytozdas.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-03-04 22:27:17 -05:00
Doug Walker 0773c267f1 Increment lib version to 2.6.0 dev (#2266)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-03-04 21:46:47 -05:00
Éric Renaud-Houde e9c48718e8 Fix vector comparison expression for HLSL. (#2270)
Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
2026-03-04 20:27:24 -05:00
Cuneyt OzdasandDoug Walker eaa028171a Adsk Contrib - Add Support for SMPTE ST 2036-1 compliant CLF files (#2265)
* Adding reading and writing support for SMPTE ST 2036-1 compliant CLF files.

- Added "Id" element support per the spec.

- Extended the CTFVersion class to handle non-numeric formats per the spec (which uses xmlns as the version)

- CLF xml parser now strips the namespaces from the elements by default. This makes it possible to parse files with simple name spaces but complex name-spaced clf files may still fail. There is an internal switch to turn on/off the name space stripping. This way elements which need to retain the name spaces (such as the Info element) can still get the un-stripped names.

- Extended the Input and Output Descriptor collection to hold multiple entries (similar to Description field)

- CLF writer now writes the SMPTE xmlns version as well as the CompCLFVersion attribute. The resulting files can be read both by the Academy CLF parsers and SMPTE CLF parsers.

- Generated cache hash IDs are now in the 8-4-4-4-12 UUID format to help complying with SMPTE id requirements

- ociomakeclf tool now takes "--generateid" switch to for inserting newly added "Id element" into the target clf file.

TODO:

- Description and Descriptor elements need to collect the language attribute.

- non-default namespace attributes (e.g. xmlns:foo) needs to be collected as root level attributes.

- Those two TODO items need some re-factoring in the data collection code.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Per the code review, exposing the newly added constant METADATA_ID_ELEMENT in python too.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - re-worked some part of the CLF parser and the CTFReaderTransform class to be able to collect richer metadata.
- Now collecting the language attribute of the Description, input and output descriptor elements.
- Also collecting the non-default xmlns attributes at the root level.
- Updated the tests accordingly.
- Replaced clf/pre-smpte_only/matrix_example.clf with clf/matrix_example_utf8.clf in some for some Reference tests.
- Added format information to the ociomakeclf tool's help text.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - nmake the compilers happy.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - make the compilers happy pt2

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - make the compilers happy pt3
(we need to make Windows compiler settings as picky as other platforms)

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-02-18 03:31:03 -05:00
Kevin WheatleyandDoug Walker a1ab61ec63 Remove redundant unit_test_failures declaration (#2261)
Removed the declaration of 'unit_test_failures' from UnitTest.h.

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-02-12 00:02:36 -05:00
Doug Walker f390b9d204 Add more info to the documentation overview page (#2264)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-02-11 00:05:48 -05:00
Thomas Mansencal 9bb14559e7 Implement support for Astral's uv. (#2097)
Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
2026-02-03 09:44:48 +13:00
KATO ELVIS 205d53b6c3 add LF trademark disclaimer to site footer (#2253)
Signed-off-by: ELVIS-KATO <katoelvis23@gmail.com>
2026-02-02 14:57:59 -05:00
Doug Walker 2a8b59e8a5 Update 2.5 documentation (#2252)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-01-23 16:51:12 -05:00
Pavan MadduriandDoug Walker 181303ef32 Add release signing workflow using Sigstore (#2229)
This adds a GitHub Actions workflow that signs release artifacts
using Sigstore, following the OpenSSF Best Practices Badge
recommendations. The workflow is triggered on release publication
and:

1. Creates a .tar.gz archive of the source tree
2. Signs the archive using sigstore/gh-action-sigstore-python
3. Uploads both the tarball and .sigstore.json credential bundle

Based on the OpenEXR release-sign.yml workflow template.

Closes #2034

Signed-off-by: pmady <pavan4devops@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-01-12 20:26:55 -05:00
Pavan MadduriandDoug Walker 61c4e08c9a Add Dependabot configuration for automated dependency updates (#2230)
Add dependabot.yml to enable automated dependency updates for:
- GitHub Actions workflows (weekly)
- Python pip packages (weekly)

This follows OpenSSF Best Practices Badge recommendations and
is part of the Step Security hardening measures.

Part of #2035

Signed-off-by: pmady <pavan4devops@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-01-11 23:22:22 -05:00
Doug Walker 6a1dff6ee2 Adsk Contrib - Fix interop ID issue in ociocheck (#2204)
* Fix ociocheck

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Minor improvements

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-01-11 19:46:07 -05:00
Kevin WheatleyandDoug Walker 449d1f2bee Bug/2220 array subscript out of range exception can be thrown under a floating point rounding edge case (#2227)
* Add test to reproduce bug 2220

Code incorrectly deals with edge cases where atan2() returns end of range [-pi, pi]

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Extend tables to have an additonal entry to allow for boundary condition to not over flow table bounds during lookup

All tables are now 1 entry larger and should have valid data wrapped into the extra entries

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Clarify ACES OT 2.0 edge-case test comments around hue-angle table access bug

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

---------

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-01-11 19:02:10 -05:00
Doug Walker 9fea546de9 Fix Vulkan texture binding index issue (#2226)
* Fix texture binding index issue

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add texture binding index getters

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Adjust addTexture return and fix Python binding

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix unit tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2026-01-11 18:26:02 -05:00
Cuneyt OzdasandDoug Walker d7917d4398 Addressing Issue #2228 - Heap-use-after-free in OpenColorIO::ThrowInvalidRegex (#2231)
This turned out to be not a UAF issue but an out-of-bounds-access issue where the throw was accessing the incorrect (and potentially shorter) string with an index derived from another (and potentially longer) string.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-01-11 17:05:25 -05:00
Cuneyt OzdasandDoug Walker 5d2409bbdb Remove [0,1] clamping from ICC transforms (#2224)
* Addressing issue #1915, remove [0, 1] clamping from ICC profiles.

Currently the clamping is removed ONLY when the the type 0 (simple gamma) TRC is used. In this case the the mirroring around origin is used for the negative values.

Other parametric curves are currently implemented as 1DLuts thus will not handle out of bound values properly. In a later wave we can either convert LUTs to half-domain ones or try to implement them with more complex ops (such as exponent with linear).

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Fixing the op tests in the inverse direction
- More detailed explanation for the clamp removal in pure-gamma TRC cases.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2026-01-11 16:24:26 -05:00
Cuneyt Ozdas 2bc8759dc2 Fix Windows Doxygen install script (#2234)
* - Fix Windows Doxygen install script as Doxygen v1.16.0 changed the released zip name.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* double escape maybe?

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
2026-01-11 15:06:13 -05:00
Carol PayneandDoug Walker 1d77ecda70 Updating news for OCIO 2.5 and Slack link (#2217)
Signed-off-by: Carol Payne <carol.alynn.payne@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-12-10 23:06:22 -05:00
Rémi Achard b59cd64368 Add Python 3.14 wheels and minor fixes (#2218)
* Enable Python 3.14 wheels

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Replace macos-13 by macos-15-intel

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Allow find_package CONFIG mode with Package_ROOT

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2025-11-24 18:23:10 -05:00
AsheikhmandDoug Walker 125af7d2d3 Issue 2075 : Apply RGB on transpose matrices. (#2206)
* adding unit test for applyRGB buffer, check in the applyRGB if the buffer is C order or not, for now throw error

Signed-off-by: Afsaneh Sheikhmiri <afsaneh.sheikhmiri@autodesk.com>

* Adsk Contrib - Detect C/F order, if not C order : RuntimeError shown, test is still not passing

Signed-off-by: Afsaneh Sheikhmiri <afsaneh.sheikhmiri@autodesk.com>

* remove 1d arrays from the test, since even after Transpose, 1d arrays are still contiguous

Signed-off-by: Afsaneh Sheikhmiri <afsaneh.sheikhmiri@autodesk.com>

---------

Signed-off-by: Afsaneh Sheikhmiri <afsaneh.sheikhmiri@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-10-28 17:24:48 -04:00
Doug Walker a9ca7e583f Update documentation for 2.5 release (#2202)
* Update documentation for 2.5 release

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix typos

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Address review comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix markdown

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Minor updates

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-10-01 01:47:34 -04:00
Cuneyt OzdasandDoug Walker f5ca104001 Adsk Contrib - Adding built-in ACES 2.0 configs (#2193)
* - Adding the latest WIP built-in configs (https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/runs/17850187967)

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Removing the getDefaultBuiltinConfigName() function which was marked as deprecated in v2.3. Similar functionality is now offered by ResolveConfigPath("ocio://default").
- Updated the python binding and the tests accordingly.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - New configs fresh from the oven.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Updating the built-in configs from the PR's latest CI run, #420 ( https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/runs/18078552508 )

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Fix a copy-paste typo in the comments

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-10-01 01:07:44 -04:00
Doug Walker 23d0179a7a Adsk Contrib - Merge configs feature (#2179)
* Config merge rewrite, part 1

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit 08a3adf15308ee1a629a29ce8ff94b53f9e7de70)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add API for config and colorspace merge

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit fadef86510ecbf10d991c61983c91e860358f78f)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Prototype of merge avoid duplicates feature

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit 008ad27467f3a02411a89082ec4e3477286c0a2c)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Unit test fix

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit cbc0f0ec96c8456ceb73f2b6a11b209084613d3f)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve duplicates detection

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit 9871ef4fc9e131d29bf68f5716098a64d9818f9d)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix unit test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit 914b2f036baeba2b49c35b64790c4ffa47853f0d)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Various merge fixes

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit f60e990a7288d2a9790cab16ac7475630f6662eb)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add more tests and clean-up

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove CreateFromFile support

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add Python binding

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve view transform comparison

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Address Remi's comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix build breaks

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-30 23:54:08 -04:00
9ebb7706c9 Adsk Contrib - Add hue curve transform (#2177)
* Hue Curve Transform GPU

(cherry picked from commit 393c0f6cf42bd04ed2214eb5c537785927f386ac)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Review Fixes P1

(cherry picked from commit 5b9ff85439070c5ac1bf2be36d28971d82efb204)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Review Fixes P2

(cherry picked from commit d1a5d7a1dca62c0d07fb7158bca578556af7a2ee)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Review Fixes P3

(cherry picked from commit 83340c595fae4c130df105fc83b31270f66f58a2)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Review Fixes P4

(cherry picked from commit b243d1d3e37db1a3bbfcad4271142fa973687d89)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* GradingHueCurveOpData_tests

(cherry picked from commit 2a96167e458260eb1d68d2fa95203d5b066838cd)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Review Fix, ChannelCrosstalk

(cherry picked from commit 0bac40198610e8dca2f0207e633eb0252578684b)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Review Fix, missing fixed function enums in switch cases

(cherry picked from commit 051bd7d574cb1f0d88d2a79a543dde8d6dffc535)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Review Fix, Missing comment on unused test parameters

(cherry picked from commit 07aca3cf31fc0a8b36d117dd6cbe32588549f95d)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* CI Fix, removing multi-line comment

(cherry picked from commit bf780199a1647286d56b8bfbf7933e8ff6762573)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fixes for Test 2: test_cpu

(cherry picked from commit 4a5001ed26cd39af46ef9cdf6fe87a529db21e23)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix Windows CI

Towards clean

(cherry picked from commit d298681a84b7236f4b5795a5cf06ab1fd243338b)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix for missing slopes on periodic curves

(cherry picked from commit 3f393f8b100b508ef39ac908535f05677e77decb)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove leftover #include from debuging

(cherry picked from commit e7fd3f2c819bc3f69a14b8f801df90bf974cf06a)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Enable to draw the curve eval only for a specific hue curve. (#11)

(cherry picked from commit d658e707be29e08437e9fad8a1cdf01bfa909633)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* RGB to HSY fixed functions using CPU (#17)

(cherry picked from commit a25c1c7fed4c0b6ea1b6c5e668acb12a45ee6f19)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix identity hue curve draw only (#20)

(cherry picked from commit 4f276e5c0f60ccb2c460df6521501f2d49d20b0d)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* <<Operator upgrade for list of floats (#23)

(cherry picked from commit 7e6378f2d21ed3ff3c36461987bf24e09c29533e)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix unit tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit a9e51c86de01315721025418808c78d9fa8265ff)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix hue curve unit tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit 6c233c8f19c12b711bbec705d7a90e3c84c2fb70)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Comment out OSL tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit cf7744e245cfcaba20fe30366819bafe889f2bec)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Finish the implementation

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve interface, add tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Minor clean-up

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Op<< should contain slopes

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix python doc line

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve validation of control points

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update API calls based on Vulkan PR

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Saturation robustness

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* HSY transform setter adjustment

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Jonathan Laroche <jonathan.laroche@autodesk.com>
Co-authored-by: larochj <143038478+larochj@users.noreply.github.com>
2025-09-30 23:12:06 -04:00
Doug Walker f30f2c85df Adsk Contrib - Include color spaces with no categories in menuHelper results by default (#2189)
* Jasmin - Treat No Category As Any

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit 146e90b055ec8720c7d4136a37a18e0eaebab6c6)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix python tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
(cherry picked from commit fbcd4d4cf8208bf7408f0fa8d737a3fb73b84ff6)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add treat no category as any

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add ability to run a single Python test suite

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Clean up minor issues

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Respond to review

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix GPU Action

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-30 18:57:02 -04:00
97c37385e1 Bump C++, dependencies and update CI workflows (#2192)
* Bump dependencies and update CI workflows

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* - converting [==] operator to [=] to make them POSIX complaint.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Code cleanup (PR feedback)

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove ASWF container minor tag

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Debug dependencies latest Linux

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Attempt fixing dependencies latest

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Try OpenEXR 3.4.0

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Adjust CMake imported target for OpenEXR 3.4

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Force internal OpenJPH when building OpenEXR

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Attempt to fix OpenJPH library name

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Adjust comment on OpenJPH version

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Disable Python 3.14 wheels until the official release

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Cleanup obsolete workarounds for OCIO_PYTHON_LOAD_DLLS_FROM_PATH

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-09-29 20:03:23 -04:00
Michael De CariaandDoug Walker 1da6645efa Add setStringVar to Context Object Python Bindings (#2198)
* Expose setStringVar to Python Bindings Context Object

Signed-off-by: Michael De Caria <decariamichael@gmail.com>

* Add setStringVar to Python Context Test

Signed-off-by: Michael De Caria <decariamichael@gmail.com>

---------

Signed-off-by: Michael De Caria <decariamichael@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-09-29 00:03:13 -04:00
337f7c761c Adsk Contrib - Vulkan support (#2176)
* Support for Vulkan GLSL (not yet active).

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Activated Vulkan shader generation, fixed bool handling.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Replaced tabs with spaces.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Documentation added for new methods, return values and member variables.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Padding and alignment for uniform buffers optimized, smaller fixes.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Restored ociodisplay and removed code for testing.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Added functions to set/get descriptor set index and texture binding start index.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Added exception for invalid texture binding index, smaller fixes.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Suggested documentation update

Co-authored-by: Aleksi Sapon <aleksi.sapon@autodesk.com>
Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Merge conflicts fixed.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixed missing space for non-Vulkan GLSL uniforms.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixed descriptorSetIndex for textures.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixed uniform buffer array stride and size.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixes documentation, formatting. Adds test and py functions.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Added missing python bindings.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixed Metal unit tests.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixes for MyOSLShaderCreator.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixed spaces at beginning of uniform declarations.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

* Fixed Vulkan unit test.

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>

---------

Signed-off-by: Michael Horsch <michael.horsch@autodesk.com>
Co-authored-by: Aleksi Sapon <aleksi.sapon@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-09-26 14:16:59 -04:00
Cuneyt Ozdas 7e7f2de28c Adsk Contrib - Adding interchange attributes to ViewTransforms and Looks (#2194)
* Adding interchange attributes to ViewTransforms and Looks
- Currently only the amf_transform_ids key is supported. That key is needed for ACES 2 built-in configs.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Fixing the build by propagating the last minute wording change.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Fixing a bug in ViewTransform python tests
- Removing the ColorSpace amf_transform_ids_serialization test as almost all of the cases are now exercised in the Config interchange_attributes test.
- minor cleanup

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
2025-09-22 17:58:46 -04:00
Doug Walker 92ab718b83 Adsk Contrib - Enhance active display/view list API (#2186)
* Enhance active display/view list API

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update ocioview to use new API

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix python arg name

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-18 20:46:02 -04:00
Cuneyt OzdasandDoug Walker 1cec2abed4 Adsk Contrib - Adding color space attribs: interop_id, amf_transform & icc_profile_name (#2165)
* Adding 3 new attributes to the color space: interop_id, amf_transform_ids and icc_profile_name

- Addressing the issues #1975, #2152 and #2153
- Bumped the config version to 2.5
- newly added attributes require v2.5 config both for serialization and de-serialization and will throw if they appear in older configs.
- Hardened multiple existing functions against null parameters. Previously those functions were crashing if null is passed, as assigning null to std::string is undefined behavior.
- Expanded tests to some affected functions' unit tests to include null passing. Setters will take null as empty string. compare functions will throw.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* As discussed in the TSC meeting, adding a namespace field separator logic to the interop_id field.
- only zero or one ":" is allowed in the interop_id name
- ":" can not be the last character
- added cpp and python unit tests.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Adding interop_id verification in ociocheck.

Non-namespaced IDs are checked against the known CIF values and warning is issued if not found.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* minor touches.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* fix the failing test.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Disallow non-ASCII characters (outside of [0..127] range) in the interopID field.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Fixing the tests which were failing due to exception wording change.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - replacing getAMFTransformIDs and getICCProfileName with more generic getInterchangeAttribute function. Same with the setters
- getInterchangeAttribute() and setInterchangeAttribute() functions currently knows and accepts "amf_transform_ids" and "icc_profile_name" keys. other keys will throw.
- ColorSpace serializer will list all of the key/value pairs.
- InteropID and interchangeAttributes are now allowed in earlier config versions down to 2.0 too. Config::checkVersionConsistency() will throw only for version smaller than 2.0.
- YAML loader and saver now supports the "interchange" section. Any unknown keys under that section will be ignored upon load and will generate a warning but won't throw.
- Generic str key/value loader/saver is extended for re usability (and fixed incorrect throw message).
- since the amf keywords are separated by newline characters, the newline sanitizer that was used for the description is also generalized and applied to all of the current and possible future interchange fields.
- ColorSpace_test.cpp file updated to test the current state and behavior of the API.
- ComputeValues function in the CPUProcessor_tests.cpp was taking the linenumber as as template parameter. This was a very bad idea as that means each invocation of the function would create a separate copy of the function which was causing all sorts of issues in the debugger and failing to compile when the line numbers are not constants (happens in JIT debug sessions). Fixed by making the line number a normal parameter.
- Python ColorSpace object no longer takes the amf of icc parameters in the constructor. User needs to set them explicitely later on.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - ocioconvert now writes the ColorIntropID attribute of of the output color space.
- ociocheck now does extended validity check on the interopID string.
- preliminary implementation of getColorSpaceFromInteropID().

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Another cleanup pass. After some deliberation, we decided to remove getColorSpaceFromInteropID() which will be done in a later pass.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Config::getColorSpaceFromInteropID() function is removed.
- another round of cleanup.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* minor comment fix

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* minor fixes to unknown interchange key warning and its unit test.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Adding the missing interop_id validation check along with couple of unit-tests.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - typo fix and minor cleanup

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Looks like Doxygen doesn't like URLs in the doxygen comment section. Removing the url to see if this fixes the CI issue.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - minor typo fix

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - deduplicating the newline sanitize code in OCIOYaml.cpp
- exposing the interchange attributes as a standard python dictionary through the "interchangeAttributes" read-only property.
- adding python tests on the new interchangeAttributes property.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - per code-review, converting the interchangeAttributes propery on python colorspace object to getInterchangeAttributes() function to stick with the existing conventions.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-09-17 19:10:19 -04:00
Doug Walker 764f14a9e3 Fixes for the Wheel workflow (#2190)
* Turn off failing stuff

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Turn off ociolutimage

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Uninstall the runner EXR

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Bump EXR min version to 3.1.6

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Bump EXR recommended version to 3.1.6

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Minor clean up

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-16 19:56:12 -04:00
Doug Walker 1dfa6aa746 Add setDisplayTemporary method (#2181)
(cherry picked from commit f25cb6af18c5c1966316ff0aa221de32b160f00b)

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-12 23:03:43 -04:00
Doug Walker b3252c7cd1 Add mirrored displays (#2183)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-12 14:16:45 -04:00
Doug Walker e151865471 Attempt to fix CI fail involving halfs (#2188)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-12 13:46:06 -04:00
Beat ReichenbachandDoug Walker 273cdfa4c2 Add Python GPUProcessor example (#2166)
Signed-off-by: Beat Reichenbach <44111292+beatreichenbach@users.noreply.github.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-09-03 20:52:03 -04:00
Doug Walker cc9dcffda2 CI fixes (#2184)
* Try to roll back to earlier docker image

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Use pip3 rather than pip

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Roll back container version again

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-09-03 20:19:01 -04:00
Michael Dolan fcdbf56c04 Refactor RTD Python API doc generation (#2171)
* Remove frozen docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Make opencolorio RTD requirement

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Only install from PyPi on RTD_BUILD

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Trigger PR RTD build

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Restructure pip command

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fallback to latest PyPi version

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Increase sphinx verbosity for debugging

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update sphinx verbosity

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Try another verbosity adjustment

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix sphinx build command

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Adjusting relative path

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Trying alt build structure

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Another alt build structure

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Try pre-install of OCIO

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Testing platform build

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revert conf.py __doc__ test

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update CI to use windows-2022, and linux builds to use apt

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Handle dnf/yum/apt for different workflows

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix wheel builds on Linux

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Skip epel install

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add manual doxygen install option

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Make dnf scripts executable

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* special doxygen case for centos

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Trying doxygen 1.9.0 on centos-7

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Try latest yum install of doxygen

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Turn off docs on CentOS-7 builds

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add Windows CI with docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Use apt for linux wheel builds

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Testing linux distro on wheel builds

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update yum repos on CentOS-7

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* remove sudo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Adjust CentOS-7 vault repo URLs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add altarch doxygen handling

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Inspect Windows docs env

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Remove status checks

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Re-enable linux-old docs builds

Signed-off-by: Michael Dolan <michdolan@gmail.com>

---------

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2025-09-02 18:14:38 -04:00
Cuneyt OzdasandDoug Walker c5d6c1a6d3 Adsk Contrib - Renaming the view helper functions to follow the OCIO conventions. (#2167)
* Renaming the newly added view helper functions to follow the OCIO conventions.

- The wording order {object(s)}{Is|Are|Has|Have}{State} for the newly added function names are different than the more typical convention of {is|are|have|has}{Object(s)}{State}.

- Config class already has functions in the second form, such as Config::isColorSpaceUsed() or Config::isColorSpaceLinear(). We also have functions named in yet another form like Config::isInactiveColorSpace(). So not to introduce a 3rd variant, I'm renaming these newly added ones.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* capitalizing two function names per request.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-06-20 00:32:32 -04:00
Anthony RobertsandDoug Walker db68839483 Fix build issue when using clang (#2137) (#2140)
* Fix build issue when using clang (#2137)

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

* Change define check, and update comment

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

---------

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-06-19 22:37:54 -04:00
Rémi Achard b6d33f7018 Update Python frozen docs (#2168)
* Remove excluded member

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix import errors

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove duplicated members

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove unused file

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Avoid package name duplication in Python documentation type hints

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Build frozen docs

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2025-06-17 18:45:17 -04:00
annieandDoug Walker 6c15d45e38 Add view helper functions to Config class (#2083)
* Add view helper functions to Config class

Signed-off-by: annie <annieyhlin09@gmail.com>

* add view helper functions to Config class and unit tests

Signed-off-by: annie <annieyhlin09@gmail.com>

* add view helper functions as python bindings

Signed-off-by: annie <annieyhlin09@gmail.com>

* add unit tests for view helper py bindings

Signed-off-by: annie <annieyhlin09@gmail.com>

* update with style changes and comments

Signed-off-by: annie <annieyhlin09@gmail.com>

* comprehensive unit tests for ViewsAreEqual and displayHasView

Signed-off-by: annie <annieyhlin09@gmail.com>

* improved in-line comments for unit tests

Signed-off-by: annie <annieyhlin09@gmail.com>

* test suite for comparing virtual displays, fix to getVirtualDisplayViewTransformName when shared

Signed-off-by: annie <annieyhlin09@gmail.com>

* update briefs for ViewsAreEqual + VirtualViewsAreEqual, remove redunant lines in tests, add virtualViewIsShared checks to getVirtualView-related functions

Signed-off-by: annie <annieyhlin09@gmail.com>

* move virtual_display_exceptions test from tests/cpu/Config_tests.cpp to tests/cpu/Display_tests.cpp

Signed-off-by: annie <annieyhlin09@gmail.com>

* move display_view_order test from tests/cpu/Config_tests.cpp to tests/cpu/Display_tests.cpp

Signed-off-by: annie <annieyhlin09@gmail.com>

* add usage of viewIsShared to compare_displays test

Signed-off-by: annie <annieyhlin09@gmail.com>

* add test of clearSharedViews to basic test module in tests/cpu/Display_tests.cpp

Signed-off-by: annie <annieyhlin09@gmail.com>

* change configs for compare_virtual_displays in tests/cpu/Config_tests.cpp to use looks, rules, and description

Signed-off-by: annie <annieyhlin09@gmail.com>

* improve test cases for python config tests

Signed-off-by: annie <annieyhlin09@gmail.com>

* restore old tests to Config_tests.cpp and move new tests compare_displays, compare_virtual_displays to Display_tests.cpp

Signed-off-by: annie <annieyhlin09@gmail.com>

* add null/empty view name handling to viewIsShared and virtualViewIsShared

Signed-off-by: annie <annieyhlin09@gmail.com>

---------

Signed-off-by: annie <annieyhlin09@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-05-26 14:12:05 -04:00
Doug Walker ac94d7b0ba Adsk Contrb - Fix pass-thru exponent composition issue (#2154)
* Fix gamma composition issue

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Adjust docs build settings to fix CI

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Adjust docs build settings to fix CI

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Revert CI change

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Minor comment tweak

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-05-18 01:36:49 -04:00
Manoj Kumar M 36b7595f14 Feature/update landing feature image (#2161)
* Replace landing page feature image with insideout 2

Signed-off-by: immanu10 <manojmanu8971117@gmail.com>

* update website contribution process

Signed-off-by: immanu10 <manojmanu8971117@gmail.com>

* remove generated public files

Signed-off-by: immanu10 <manojmanu8971117@gmail.com>

* update readme and delete spiderverse jpg

Signed-off-by: immanu10 <manojmanu8971117@gmail.com>

---------

Signed-off-by: immanu10 <manojmanu8971117@gmail.com>
2025-05-17 14:10:03 -04:00
zachlewis fc162a8e40 fix: adjust requirements.txt for documentation-building ci step (#2158)
Make sure we're not getting a version of setuptools that's so new it breaks stuff for us.

Should fix CI failures like this one:
https://github.com/AcademySoftwareFoundation/OpenColorIO/actions/runs/14816012234/job/41596531770#step:4:311

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>
2025-05-13 14:20:17 -04:00
Sean Long 898345165b Add AJA ColorBox as a supported application (#2138)
Signed-off-by: Sean Long <seanl@aja.com>
2025-04-21 18:21:34 -07:00
Doug Walker e6622965f3 Add apps to website (#2147)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-04-17 14:32:54 -04:00
zachlewisandDoug Walker ddb9b12062 ci: Use ARM-native runners for linux ARM Python wheels (#2115)
* ci: Use ARM-native runners for linux ARM Python wheels

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* fix: Make build system compatible with CMake-4.0

Set CMAKE_POLICY_VERSION_MINIMUM=3.5 for our ZLIB and pybind11 build scripts and modules.
Update the cmake_minimum_required syntax in the top-level CMakeLists.txt

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

---------

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-04-03 21:47:44 -04:00
zachlewisandDoug Walker aaa4a79f22 ci: New deploy_site workflow (#2113)
Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-04-03 15:32:51 -04:00
Doug Walker 05466120f3 Propose NaN fix for the ACES2 inverse output transforms (#2132)
* Propose Aab_to_RGB NaN fix

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix for test on ARM

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix for tests on Linux/Windows

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix for GPU test on Linux

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* NaN fix for gamma and double log fixed functions

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove commented-out code

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2025-03-18 22:40:27 -04:00
193154244b ACES 2.0 Output Transform performance optimisation (#2127)
* ACES 2.0 Output Transform performance optimisation (#2119)

* Extend ocioperf to take config file parameter on CLI

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Extend ocioconvert to take config on command line

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Extract tonescale_fwd function

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Extract inverse tonescale function

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Combine c and Z variables in J calculation exponent
replace 100.0 entries when referring to the scale of J
Extract calculation of nonlinear compression into functions

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Split RGB<->JMh function into two parts to expose opponent intermediate values

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Use function to compute matrix multiply for LMS calculations

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove unused member variable from JMhParams structure

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Combine chromatic adaptation weights into LMS matrix (and inverse) - CHANGES PIXEL OUTPUT

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Use matrix form for transforming cone responses to Aab

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Normalise the F_L parameter

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove ra and ba related variables to avoid them being out of sync with opponent calculation

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Make A<->J conversion function generic

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Deduplicate Y<->J conversions

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Factor JMh scaling parameters into Aab matrices

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* factor our references to PI, 360 and 180 constants
Avoid looking up cusp twice during inverse
Whilst searching for the cusp we have already constrained the search so we do not need to clamp

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Add functions to explain some of the calculations

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Further clarify when 100 means reference luminance
Migrate rescaling into tonescale s_2 parameter
Rename model_gamma to reflect it is actually the inverse

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* migrate init steps performed within other init functions to the top level to avoid repeat init of precomputed values.

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* extract some of the fixed values that only depend on the hue to reduce recomputation during inverse gamut mapping

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Avoid double lookup for reachMaxM value by resolving once the hue is known.

also reduces size of object on stack by not passing the whole table.

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Push wrapping of hues to the boundary,
mark up  conversion points from external inputs etc

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Store gamma values as reciprocals
move more magic constants into const variables
factor some of the complex expressions into function (temporarily makes things slower)

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Add some missing includes to headers

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* minor cleanup to use std::array instead of plain array for test samples

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Inline reach boundary finding
restructure find_gamut_boundary_intersection to highlight common patterns.

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Extract gamut mapper compression function
rework get_focus_gain to directly computer the slope_gain
Share calculation of analytical thereshold

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Rework gamut mapper to compress absolute M then only recalculate calculate J

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Precalculate maximum search range for cusp lookup

next steps would be to factor hue into separate table to improve cache hits followed by redistribution to more uniform hues which should narrow search range

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Experiment with reusing slope calculations in gamut mapper
presmooth cusp values

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Add a collection of TODO's

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Restore function mapping table index to hue

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Minor tweaks to tonescale inverse clamp

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove duplicate table whilst calculating upper hull gamma

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Add some additional sample points for the upper hull gamma finder

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Slight tidy up of gamma fitting code

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Experiment with alternate smin implementation

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove unused function and tidy up comments

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Extract hue search into separate function

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Extract hues into separate table, merge gamma values into their place (gamma values now sampled on cusp hue intervals). Removes extra texture from GPU path.

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Simplify upper hull gamma hue lookup to avoid unneeded lerping as we are sampling the table entries directly

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Split out tonescale function, minor tweaks to Aab->JMh

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Build tables more uniformly, needs some clean up and lots of testing

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Speed up reach corner finding by switching to testing against the Achromatic rather than J limit

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Speed up hull gamma finding by computing values which depend only on the test points and not the gamma values themselves

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Adjust GPU hue lookup to take advantage of more uniform distribution

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Fix GLSL compatibility with hue lookup
Remove compiler warnings for unused parameters

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Attempt to simplify table generation code

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Explicilty allow GCC to perform additional optimisations - Needs some discussion

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Add extra entries to reach table to avoid needing to clamp to range during pixel processing

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* GPU move reach Max M sampling to avoid looking it up multiple times per pixel

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove smoothing from GPU path, it is baked into the csup

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Fix bug with reach lookup

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Try only wrap hues on input to the shaders

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* rework GPU camut compressor to follow the same algorithm as CPU. Not 100% the same GPU still recalculates some values

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Rework solve_J_intersect to have fewer div instructions

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Adjust GPU code to better align with CPU code's structure, some additional precomputation is now applied during shader generation

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Precompute more scaling factors into matrices and nonlinear functions

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Experiment with unsigned integers for array access

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Bypass one J-> A conversion by saving the Aab computed earlier

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Test intrinsics for compression Norm calculation

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Attempt to calculate sin/cos only once per pixel.
Some minor micro optimisations.
Further alignment of GPU with CPU code,
Tests values need evaluating
Some GPU results are different - TBD

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove unused parameters

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Try tree vectoriser for gcc

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Add Vectorise option for MSVC

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove unused function

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Constexpr std::max is only available in C++ 14 for now avoid the call to it

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Try to fir intrinsic based errors on osome build configurations

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Another C++ 14 usage fix

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Remove check for CLANG left over from testing

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

---------

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>

* Update ACES2 CPU non-SIMD path (#2122)

* - Commenting out the ACES2 SIMD implementation for now to focus on validity of the scalar math. For SIMD we need to do implement run-time switching logic too.
- Slight improvements to the unit tests so that we print out the computed error metric as well as the actual and expected values. Helps to see the magnitude of the error.
- FixedFunctionOpCPU and BuiltinTransform tests now produce error lines with the same structure & syntax, including the computed error.
- Updated the expected values for ACES2 tests with the values the new optimized code produces, this makes all of the of CPU tests pass now.
- For ACES2 ops and builtin transforms, the error threshold is increased to 1e-4
- added few, temporary code snippets that dumps the currently produced results, making it easier to update the golden values if needed again.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Fixing Linux build

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Making Linux build happy is never easy.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Address GPU unit test failures (#2123)

* - Weights for cos(3h) and sin(h) in chroma_compress_norm() looks wrong. Fixing the weights makes the GPU tests pass now (except of the inverse output transform which seems to have a separate issue).
- If the new weights are correct, I'll need to update the CPU test target values too.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Updating the expected values in the CPU tests

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - The remaining GPU test failures were caused by a simple typo where we were passing h instead of J to ocio_tonescale_inv() function. With the fix all the unit tests are happy now.

- Since we decided not to include any SIMD implementation in this version, I removed the conditional code paths and left the current SSE & AVX implementations as commented out for future guidence.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Remove unused code for old gamut table calculations (#2124)

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Minor code cleanup

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Adding negative A trap on Aab_to_JMh_Shader() per code review

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Adding copysign to tonescale to make it aligned with the CPU implementation.

It's possible that on GPU we may never receive negative J due to prior guarding, but for now aligning with the CPU to be on the safer side.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Add built-in transform round-trip test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Loosen tolerance for other machines

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add GPU round-trip tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Loosen tolerances for other GPUs

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-03-14 18:29:28 -04:00
Rémi AchardandDoug Walker 30db20428b Add missing setConfigIOProxy call to the Python API (#2128)
* Add missing setConfigIOProxy call to the Python API

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Restore a clean cache for other unit tests

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-03-12 00:09:08 -04:00
JGamache-autodeskandDoug Walker fed973f463 Integrating matrix multiplication fix from OSL (#2121)
See https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/pull/1513 for more details.

Signed-off-by: Jerry Gamache <jerry.gamache@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-03-10 14:53:27 -04:00
Mark TitchenerandDoug Walker 7237eaadd4 Change recommended Imath version to 3.1.12. This should fix Issue #1764. (#2120)
Signed-off-by: Mark Titchener <mark.titchener@foundry.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-03-10 02:57:28 -04:00
Cuneyt OzdasandDoug Walker af69f39dfb Adsk Contrib - Issue #2111 Absolute paths not working through proxy (#2112)
* Ticket #2111
- Do not use config proxy for absolute paths while computing file hash or loading LUT data.
- Added the unit test provided in the ticket.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Changing the logic so that for abs paths we first try the configProxy and if that fails fall back to file system. For relative paths, we don't fall back to file system though, proxy is expected to handle those.
- Removed the unnecessary closeLutStream() function. We're using unique pointers, that means RAII is in place. The whole idea behind RAII is we don't need to worry about the cleanup or the type of the object wrapped by the RAII handler (unique_ptr in this case).
- Cleaned up some unnecessary conversions, type shuffling and copies around the code I touched.
- Cleaned up some unsafe type casts which are prone to dereferencing null pointers.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Ah! make_unique is a c++14 feature and we support C++11. I wonder why windows build is configured to use c++14+ while other platforms use C++11. Replacing make_unique with the new syntax to make the other platforms happy too.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Minor cleanup
- Added a test for absolute path to inexistent file.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2025-03-03 22:37:04 -05:00
Morteza Mostajab d807b380d2 Issue #2116 : Fixes Metal backend's generated shaders with float/int constant Array Performance (#2117)
* Issue #2116 : Improves Metal Backend Perf. moves the constant float/int declaration to constant space so it doesnt get initialized per thread. This improved color correction performance on M4 Max 3-4 times better.

Signed-off-by: Morteza <smostajabodaveh@apple.com>

* Tiny refactoring to improve code maintainability

Signed-off-by: Morteza <smostajabodaveh@apple.com>

---------

Signed-off-by: Morteza <smostajabodaveh@apple.com>
2025-02-10 00:37:58 -05:00
Taegyun Ha c5c85b009c Fix issue with ocio_depts handling spaces in file paths (#2109)
Signed-off-by: Taegyun Ha <taegyun.ha@disguise.one>
2025-01-06 16:06:04 -05:00
Anthony RobertsandDoug Walker c09951e456 Add support for Windows ARM64 (#2089)
* Add support for Windows ARM64

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

* Fix improper compiler flag check

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

* Fix sse2neon issues on Windows ARM64

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

* Fix cross-compilation on Windows for X64 -> ARM64

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

* Fix comment to match with corresponding if directive

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

* Check for MSVC before setting MSVC-style flag

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

* Fix comment to resolve ambiguity

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>

---------

Signed-off-by: Anthony Roberts <anthony.roberts@linaro.org>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-12-18 20:33:22 -05:00
Rémi AchardandDoug Walker 6fa40a4f6c Fix Python wheel macOS workflow and make OCIO_PYTHON_LOAD_DLLS_FROM_PATH opt-in (#2106)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-12-10 16:53:28 -05:00
Doug Walker 1890b7d0ae Adsk Contrib - Optimizer should detect pair inverses before combining multiple op pairs (#2104)
* Fix opt combine issue

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve gamma test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add check for DisplayP3-HDR built-in

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-12-10 12:42:59 -05:00
Éric Renaud-HoudeandDoug Walker 31325793f0 Replaced DX11 HLSL shading language with the more accurate shading model 5.0 (SM_5_0). (#2078)
Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-12-09 21:25:25 -05:00
Doug Walker 4b87e85c1f Revert github action to deploy website (#2105)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-12-09 20:22:34 -05:00
Seif AshrafandDoug Walker 0f06f044bf Fixed range function error in nuke colorlookup examples (#2096)
* Error found: ocio_to_colorlookup_all.py

Signed-off-by: Seif Ashraf <seifibrahim32@GMail.com>

* Update colorlookup_to_spi1d.py

Signed-off-by: Seif Ashraf <seifibrahim32@GMail.com>

* Update ocio_to_colorlookup_rgb.py

Signed-off-by: Seif Ashraf <seifibrahim32@GMail.com>

---------

Signed-off-by: Seif Ashraf <seifibrahim32@GMail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-12-07 19:17:46 -05:00
Doug Walker dafefe63e1 Fix bit-depth attr for inv luts for CTF writing (#2090)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-12-07 16:23:30 -05:00
hannahmkrasnickandDoug Walker 5c2fa576ca [2057] - Fix views/display submenus in OCIODisplay app (#2068)
* fix views/display submenus

Signed-off-by: Hannah <hannah.mk23@gmail.com>

* fix global variable name

Signed-off-by: Hannah <hannah.mk23@gmail.com>

---------

Signed-off-by: Hannah <hannah.mk23@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-12-07 15:21:35 -05:00
f2dc1475e7 Text format (e.g. IridasCube) parsing optimizations (#2074)
* Iridas .cube and other text format parsing optimizations

Primarily driven by a wish to increase performance of parsing .cube
files. But the functions that are added or changed are used across
parsing of all/most of text based formats.

With these changes, parsing "Khronos PBR Neutral" .cube file (5.4MB)
on Ryzen 5950X / VS2022 Release build: 167ms -> 123ms.

- Add locale independent IsSpace(char). Somewhat similar to 3aab90d,
  whitespace trimming perhaps should not be locale dependent.
- Add IsEmptyOrWhiteSpace() and use that inside ParseUtils::nextline,
  instead of doing Trim(line).empty().
- Add StringUtils::StartsWith(char) and use that in various parsers
  that were constructing whole std::string object just to check for a
  single character.
- When building for C++17 or later, NumberUtils can use standard
  <charconv> from_chars functions (except on Apple platforms, where
  those are not implemented for floating point types as of Xcode 15).
  This has advantage of not having to deal with errno or locales. Saves
  some thread local storage accesses and function calls (e.g. on Windows
  errno is actually a function call).
- There's a CMake setup change that adds /Zc:__cplusplus flag for MSVC;
  for backwards compat reasons it does not report proper C++ version
  detection defines otherwise.

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>

* Fix test failures (char can be signed, doh)

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>

* Tests: add unit test coverage for NumberUtils::from_chars directly

Currently it was only tested indirectly via XMLReaderUtils_tests and
file format tests

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>

* Fix from_chars in C++17 code path to understand hex prefix (0x) and skip optional whitespace

To match the pre-C++17 behavior that was there before

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>

* Fix detection of <charconv> float from_chars availability

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>

* Tests: Fix missing <limits> include for gcc

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>

* Tests: fix uninitialized variable warning-as-error on gcc

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>

---------

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-12-06 23:05:40 -05:00
Doug Walker c7ad2a9f65 Fix broken Linux and Mac CI workflow (#2102)
* Fix broken Linux and Mac CI workflow

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update job name

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-12-06 16:39:49 -05:00
zachlewis 203c458516 Add GHA workflow to rebuild and republish site on changes to docs/site (#2098)
* fix: modernize Hugo setup

* Replace use of deprecated `.Site.IsMultiLingual` with preferred `hugo.isMultilingual`

* Adjust pagination settings in config.toml

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* ci: Add GHA workflow for triggering site rebuilds

Whenever a change to a file under "docs/site" is pushed to the `main` branch, rebuild docs/site/homepage with Hugo and publish to `gh-pages` branch, taking care to preserve the contents of the "old" directory.

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

---------

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>
2024-11-25 12:37:14 -05:00
Thomas Mansencal f37ca55409 Add DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR builtin transform. (#2095) 2024-11-19 11:07:24 +13:00
Chris Nashandzachlewis 9bc5b8eb1c add Disguise to list of supported applications (#2088)
Signed-off-by: Chris Nash <chris.nash@disguise.one>
Co-authored-by: zachlewis <zachlewis@users.noreply.github.com>
2024-11-04 23:32:53 -05:00
Craig Zerouni 800efd8f3a Update doc building instructions (#2085)
* Update doc building instructions

Signed-off-by: Craig Zerouni <czerouni@gmail.com>

* Remove stray comment line

Signed-off-by: Craig Zerouni <czerouni@gmail.com>

---------

Signed-off-by: Craig Zerouni <czerouni@gmail.com>
2024-11-04 07:00:38 -05:00
Dave Sawyer 81c07fd855 Photoshop now supports OCIO (#2084)
* ocio gm in photoshop

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>

* Update supported_apps.yml

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>

* ps and fnordware text

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>

---------

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>
2024-10-18 18:49:29 -04:00
Ananth b3900df754 Move GPU LUT files into the tests dir (#2069)
Instead of creating temporary LUT files for GPU tests,
read them from the testdata directory instead.
This removes the need to clean them up after each run.

Signed-off-by: Ananth Bhaskararaman <ananth.b@qubecinema.com>
2024-10-17 22:39:16 -04:00
Aras PranckevičiusandDoug Walker 707734d100 Build: enable parallel source file compilation on MSVC (#2072)
By default Visual Studio projects do not compile source files in
parallel. Add "/MP" flag to enable that.

From scratch OCIO build on Ryzen 5950X, VS2022: 580sec -> 208sec.
Most of remaining single-threaded time is cloning external libraries
or building external libraries (most of them don't do parallel
compilation either). But within building OCIO itself, CPU usage
goes close to 100% instead of 5%.

Signed-off-by: Aras Pranckevicius <aras@nesnausk.org>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-10-16 11:06:09 +01:00
Éric Renaud-Houde 59d6a864f0 Match ACES 2.0 shader resource suffix format to regular luts. (#2077)
Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
2024-10-11 14:23:04 -04:00
Doug Walker 6998d6d3d7 Increment library version (#2065)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-09-30 20:57:24 -04:00
Doug Walker 4dd0273cfa Adsk Contrib - Update documentation for 2.4 release (#2060)
* Update documentation for 2.4 release

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add link to prototype ACES 2 configs

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update video links

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-09-29 23:16:27 -04:00
shaneantrim feb4ada09c Update usage_examples.rst (#2062)
* Update usage_examples.rst

Changed Displaying an image, using the GPU (Full Viewport Pipeline) to CPU, added Python section and added Displaying an image, using the GPU with C++ example.

Signed-off-by: shaneantrim <shaneantrim@gmail.com>

* removed main() call

Signed-off-by: shaneantrim <shaneantrim@gmail.com>

* Removed Legacy C++ section

Signed-off-by: shaneantrim <shaneantrim@gmail.com>

---------

Signed-off-by: shaneantrim <shaneantrim@gmail.com>
2024-09-29 21:18:47 -04:00
Annie Lin 7fc59f80e6 Add hasAlias method to ColorSpace and NamedTransform classes (#2059)
* Add hasAlias method to ColorSpace and NamedTransform classes

Signed-off-by: annie <annieyhlin09@gmail.com>

* minor style changes

Signed-off-by: annie <annieyhlin09@gmail.com>

* Update Python binding to include hasAlias method with unit tests

Signed-off-by: annie <annieyhlin09@gmail.com>

---------

Signed-off-by: annie <annieyhlin09@gmail.com>
2024-09-26 21:22:53 -04:00
2f5ae2c568 Fix platform latest (#2058)
* Fix platform latest

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix Windows Python 3.7 CI

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: zachlewis <zachlewis@users.noreply.github.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-26 16:28:16 -04:00
Cuneyt OzdasandDoug Walker db6f675bce Adsk Contrib - Adding the new cg and studio configs (issue #1999) (#2039)
* For issue #1999 adding the new cg and studio configs.
- Added new configs cg-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio and studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio
- Made default config cg-config-v2.2.0_aces-v1.3_ocio-v2.4
- Updated the tests accordingly.

TODO: Some documents such as aces_cg.rst and aces_studio.srt need to be updated.
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - minor white-space fixes.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* renaming P3 display scene referred aliases:

-- lin_displayp3_scene --> lin_p3d65_scene
-- srgb_displayp3_scene --> srgb_p3d65_scene

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Make CIE-XYZ Scene-referred inactive

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-26 15:55:35 -04:00
Cuneyt OzdasandDoug Walker 79e7b7bff7 Adsk Contrib - Issues #1968 (mirrored) and #1992 (LUT-free builtins) (#2029)
* Adsk Contrib - Issues #1968 (mirrored builtins) and #1992 (LUT-free builtins Pt.1)

For issue #1992 - "Make LUT-free implementations of certain built-in transforms"
- Adding fixed-functions PQ_TO_LINEAR and LINEAR_TO_PQ. These will be used to handle following built-in transforms if the LUT support is turned off:
-- CURVE - ST-2084_to_LINEAR
-- CURVE - LINEAR_to_ST-2084
-- DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ
-- DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65
- Implemented CPU renderers for scalar, SSE2 (with fastPower) and SSE2 (with Intel SVML) intrinsics targets for the new fixed-function.
- Implemented GPU shader generator for the new fixed-function
- Remaining fixed-functions will be implemented in an upcoming PR.

For issue #1968 - "Make display EOTFs in built-in transforms mirrored and unclamped to preserve sub-black and super-white"
- Existing LUT-based HLG curve is now unclamped at both ends and mirrored around origin.
- Both the existing LUT-based and the new LUT-free implementations of the PQ curve are now unclamped at both ends and mirrored around origin.

Aux Changes
- GetFixedFunctionCPURenderer() now takes a new bool parameter fastLogExpPow.
- Added a stand-in OCIO_LUT_SUPPORT preprocessor macro in preparation for ocio-lite where the lut support can be turned off.
- Added util functions to Config_tests.cpp to help creating configs with arbitrary version.
- Added ability to test fixed-function cpu renderers with and without fastLogExpPow.
- Added capability to specify custom extended ranges in the GPU unit tests. Default value is [-1.0,2.0] same as the previously hard-coded range.
- Fixed a bug in the GPU unit tests where the computed domain values would overshoot.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Renderer_PQ_TO_LINEAR_SSE high precision implementation is now limited to MSVC 2019+ compiler as it has the built-in intel _mm_pow_ps() SVML implementation.
- LUT-based PQ to Linear implementation now uses half-domain LUT to handle extended range. Linear to PQ direction was alredy using half-domain lut (probably due to normal input range being 0 to 100.
- BT_2100 namespace is renamed to HLG
- In BuiltinTransform_tests it's now possible (and necessary) to specify the error threshold for each built-in transform. This was needed as the hard-coded 1e-6 threshold was too tight for the PQ curve which uses nested power functions and thus numerical stability was depending on the implantation flavor.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Reversing the forward direction of the PQ curve, now the forward direction is linear -> PQ . Changed the enum names accordinly, updated the tests etc.
- Adding a new Hybrid Log Gamma fixed function. Similar to the PQ curve, the forward direction is linear -> HLG. SIMD implementation is currently missing, can be done in the future.
- minor fixes in the PQ cpu op
- some adjustments to the CPU test values and thresholds.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Ah! gcc and clang being more picky about the unused variable bit me again.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Completed outstanding to-do items.
- Code beautification.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Adding few missing pieces I noticed for PQ and HLG fixed functions
- Since we changed the default direction of the PQ and HLG fixed functions, I moved the order of the functions in the source files so that forward becomes before inverse.
- Adding the first cut of the FIXED_FUNCTION_LINEAR_TO_DOUBLE_LOG_AFFINE fixed function. This is still in WIP, needs some optimizations and tests implemented. Also to be able to handle the Apple Camera curve, it needs to be extended a bit. But currently it can handle the Canon CLog2 and CLog3 curves with all tests passing.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - unbreak gcc and clang compilers

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Adding GpuShaderText::floatXGreaterThanEqual() functions which are needed for precise break-point handling in non-continuous piecewise functions.
- changes for double log gamma fixed function
-- Fixed couple of bugs
-- Added basic parameter validation
-- implemented fwd and inv gpu shaders
-- Fixed CLog2 and CLog3 double log gamma constants.
-- implemented cpu and gpu shaders

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - HLG fixed-function is now parametrized and the previously hard-coded Rec.2100 HLG curve parameters are now passed to the fixed-function by the built-in transforms and by some of the test suites.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Adding a new parameter to the HLG fixed-function to control the point mirroring is applied. Below the mirror point the input values will be mirrored around that point and the output sign will be flipped. Although this does not guarantee by itself a monotonously increasing (thus invertible) and a continuous function, when the parameters are proper these properties will be achieved.
- Both the Rec.2100 HLG curve and Apple camera curve are now implemented by the HLG fixed-function when the LUT-support is turned off.

for now checking-in with LUT_SUPPORT turned off to run the CI tests on the implementation. I'll turn it on later.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Unlike msvc, gcc and clang could not auto-determine the template parameter for the base class. I'm making it explicit, hope that it'll unbreak the builds.
- minor comment fix :)

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - gcc and clang are still failing. Removing the template for the HLG, hope this will un-confuse the compilers.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - handling the unused variable warning/error when the LUT-support is turned off.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - Fighting with more unused variable warning turned into error. At this stage I'm not sure that turning this warning on the compilers is a good idea or not. Almost all cases are simple unused variabled due to different cmake switches and will be happily optimized out by the compiler without any side-effect. I'm curious to see if that compiler flag helped anyone to catch a bug early on at all.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* silencing more unused vars.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - now that all the compiler are happy when the lut-support is turned off, turning it back on.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* - minor fixes, mostly formatting.

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>

* Refine enums

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add opdata test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add hlg oetf builtin

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update CTF version

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add builtin version tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix typo

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-26 13:40:38 -04:00
Doug Walker 5c80c0beaa Adsk Contrib - Add DCDM displays and improve HLG OOTF implementation (#2051)
* Add DCDM displays, improve Rec.2100 surround

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix Linux test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove 48 nit scaling

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove D60 DCDM built-ins

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add version check

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-09-26 00:42:05 -04:00
Rémi Achard e0666e2022 ACES2 Output Transforms (#1983)
* ACES2 BuiltinTransforms

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix NaNs and add bound checking on CPU gamut table sampling

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Use powf instead of pow for consistency

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove f suffix for floating-point literals in shaders

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Address PR feedback around unit tests

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2024-09-25 20:08:43 +01:00
Rémi Achard 77e92a9177 Python 3.13 wheels (#2052)
* Python 3.13 wheels

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Build mac ARM wheels on Apple Silicon runners to enable testing

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix upload_pypi job dependencies

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2024-09-24 14:40:00 +01:00
Rémi AchardandDoug Walker 145bce2b11 Add VFX 2024 to CI (#2053)
* Add VFX 2024 ASWF iamges to CI

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Bump CMake to 3.14 minimum to fix warning in FetchContent

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix error message formating

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Reduce warnings

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-23 20:34:18 -04:00
Rémi AchardandDoug Walker aa7fac0bdb Add --bitdepth flag to ocioconvert (#2038)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-22 22:48:08 -04:00
Alina Gotovtsevaandzachlewis a1c4367b75 Add TouchDesigner to supported apps (#2037)
Signed-off-by: Alina Gotovtseva <alinakago@gmail.com>
Co-authored-by: zachlewis <zachlewis@users.noreply.github.com>
2024-09-22 22:17:35 -04:00
Cuneyt OzdasandDoug Walker 62d355721e - Instead of assuming a hard-coded visual studio installation path, we're now using the vswhere.exe tool that the visual studio installs in every system. This removes the necessity to specify the msvc path in the command line if visual studio was not installed into the default path. Option to override is still possible as before. (#1980)
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-11 23:46:19 -04:00
Doug Walker 9864d7537b Modify half-domain LUT1D GPU shader to improve zero handling (#1981)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-09-04 22:51:35 -04:00
Doug Walker d2c9617036 Adsk Contrib - Add config file to fix ReadTheDocs builds (#2028)
* Add config file to fix ReadTheDocs integration

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Miscellaneous minor fixes

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-09-04 21:48:40 -04:00
Joseph GoldstoneandDoug Walker 46bce12937 Fix typo where apostrophe was used in forming possessive of 'it' (#2024)
Signed-off-by: Joseph Goldstone <joseph.goldstone@mac.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-02 21:54:56 -04:00
Dave SawyerandDoug Walker 16b8c9ee52 Remove fnordware plugins (#2025)
* Remove fnordware plugins

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>

* Delete vendor/aftereffects directory

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>

---------

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-09-02 21:20:06 -04:00
Mahesh MadhavandDoug Walker ae79fdf1b7 Update OpenColorIO.h (#2020)
Fix for building with gcc-15

Signed-off-by: Mahesh Madhav <67384846+heshpdx@users.noreply.github.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-08-23 22:49:36 -04:00
Dave Sawyer f2da47e421 Update supported_apps.yml for AE and PS (#2026)
* Update supported_apps.yml for AE and PS

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>

* Update supported_apps.yml

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>

---------

Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>
2024-08-23 22:19:11 -04:00
Dave Sawyer 4944d6eefb Update compatible_software.rst (#2022)
Signed-off-by: Dave Sawyer <kingsawyer@gmail.com>
2024-08-15 14:27:02 -04:00
Michael DolanandThomas Mansencal 5d3e0b323c ocioview: app mode, tests, color space menus, bug fixes (#2006)
* black code formatting

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Handle empty image in chromaticities inspector

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Allow unsetting shared view rule

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Qt6 compatibility fixes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Bug fixes, unit test framework setup

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add initial unit tests

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add application mode

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add new color space combo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Use color space menu helper

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Move mode select to top of window

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix mode viewer context switching

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Recombine viewers

Signed-off-by: Michael Dolan <michdolan@gmail.com>

---------

Signed-off-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Thomas Mansencal <thomas.mansencal@gmail.com>
2024-08-10 18:03:34 +12:00
Sumana SreeandDoug Walker 757e24b9af Updated documentation Specifying types for GradingPrimary attributes #1640 (#1989)
* Update documentation: Specify types for GradingPrimary attributes

Signed-off-by: sumana sree <sumanasree2705@gmail.com>

* added pivotWhite and pivotBlack types to documentation

Signed-off-by: sumana sree <sumanasree2705@gmail.com>

---------

Signed-off-by: sumana sree <sumanasree2705@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-08-09 19:46:49 -04:00
PenneLeeandDoug Walker 77133f59dd Add NamedTransform option to ocioconvert tool. (#1988)
Signed-off-by: pylee <penne.y.lee@intel.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-08-09 19:08:42 -04:00
Doug Walker 87ccf32a8d Allow read and write of file rules without cs validation (#1976)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-08-09 18:29:22 -04:00
Doug Walker 4b918337cf Harden unit test folder handling (#2019)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-08-09 17:51:09 -04:00
AmysparkandDoug Walker 21f656ff36 Darwin: use the correct include for locale functions (#1987)
Fixes #1973

Signed-off-by: L. E. Segovia <amy@amyspark.me>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-07-21 20:25:16 -04:00
SlawekNowyandDoug Walker 1e17c9abb0 Update Installminizip-ng.cmake (#1986)
Fix an occasional race condition caused by zlib building before minizip-ng.

Signed-off-by: Sławomir Śpiewak <sosw.slawomir.spiewak@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-07-21 20:05:08 -04:00
Doug Walker 360e66d7ff Fix for GitHub Actions node.js glibc issue (#1990)
* Fix for node.js glibc issue

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Temporarily turn off Linux docs builds

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Temporarily turn off Linux docs builds, 2nd try

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update macOS runner from 11 to 12

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Attempt docs install fix

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Another docs fix attempt, and add 2024 container

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove 2024 container test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Turn fail-fast off

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add better comment for install script

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2024-07-11 20:39:28 -04:00
Thomas Mansencal dc13f2933c Update color_space_to_rgb_colourspace member usage. (#1985)
Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
2024-06-24 15:30:30 -04:00
Thomas Mansencal 55cfe59247 PR: ocioview - Chromaticities Inspector (#1914)
* Add initial `pyproject.toml` file to setup *ocioview* development environment.

Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>

* Implement initial chromaticity inspector.

Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>

* Rename `ocioview.ocioview.utils.color_space_to_RGB_Colourspace` definition to `color_space_to_rgb_colourspace`.

Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>

* Removed unneeded string formatting in `ocioview.ocioview.utils.py` module.

Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>

* Add `wgpu` to direct dependencies.

Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>

---------

Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
2024-06-09 11:00:23 +12:00
Carol Payne 6dc7fb40ae TSC Updates - Mark and Cuneyt additions, creation of emeritus section, updates to TSC responsibilities.Committers Updates - Adding Mark and Cuneyt, along with other already existing committers or emeritus status not reflected in this file. (#1977)
Signed-off-by: Carol Payne <carol.alynn.payne@gmail.com>
2024-05-17 18:01:12 -04:00
Michael Dolan 7e91b0e9a6 ocioview updates & fixes (#1966)
* Improve ocioview exit, view, and icon UX

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix message router property routing

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add processor context

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revise item type data descriptions

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Split item name from item label

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update processor context direction handling

Signed-off-by: Michael Dolan <michdolan@gmail.com>

---------

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2024-05-06 22:03:36 +12:00
Michael DolanandThomas Mansencal 813785eca6 ocioview image and PySide6 updates (#1912)
* Updates for PySide6 compatibility

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Remove QT3D_RENDERER override

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Message router name update

Signed-off-by: Michael Dolan <michdolan@gmail.com>

---------

Signed-off-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Thomas Mansencal <thomas.mansencal@gmail.com>
2024-04-17 13:12:00 -04:00
Mei ChuandDoug Walker 67a26e4a38 Add a helper function to check if an extension is supported by file transform (#1962)
* Add FileTransform::IsFormatExtensionSupported()

Signed-off-by: Mei Chu <meimchu@gmail.com>

* IsFormatExtensionSupported ignores dot at start.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Add C++ tests for new function.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Fix a small bug in the new C++ tests.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Add python binding, python tests and address feedbacks.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Change extension accepted to IsFormatExtensionSupported() to case-insensitive.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Bugfix to account for single dot input.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Cleanup isFormatExtensionSupported() structure a bit to look nicer.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Reset whitespace cleanup. Also add a guard against invalid pointer.

Signed-off-by: Mei Chu <meimchu@gmail.com>

---------

Signed-off-by: Mei Chu <meimchu@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-04-03 18:57:09 -04:00
AlexSchwankandDoug Walker b87d80d155 Replaced deprecated Carbon framework with ColorSync and CoreGraphics. (#1961)
* Replaced deprecated Carbon framework with ColorSync and CoreGraphics.

Signed-off-by: Alexander Schwank <alschwank@gmail.com>

* Added CoreFoundation linkage

Signed-off-by: Alexander Schwank <alschwank@gmail.com>

---------

Signed-off-by: Alexander Schwank <alschwank@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-04-03 16:28:58 -04:00
Mark Reid 865e261769 Add ociocpuinfo utility (#1960)
* CPUInfo cleanup

Remove unneeded duplicate code h
Handle unknown processors

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Add ociocpuinfo utility

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Add ociocpuinfo to python console_scripts

Signed-off-by: Mark Reid <mindmark@gmail.com>

---------

Signed-off-by: Mark Reid <mindmark@gmail.com>
2024-04-01 22:14:33 -04:00
Mark Reid 91e8826a8b Add AVX512 accelerated 1D/3D LUTS (#1932)
* Initial AVX512 support

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Lut1DOp add AVX512 implementation

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Lut3DOp add AVX512 implementation

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Don't use SIMD if only 1 pixel is requested

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Remove #if, f16c is always available with AVX512

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Cast pointers to __m512 instead of __m256

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Use size method from vector being tested

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Add to help message that f16c is only used with AVX/AVX2

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Clarify test case by using uint8 maxValue

Signed-off-by: Mark Reid <mindmark@gmail.com>

---------

Signed-off-by: Mark Reid <mindmark@gmail.com>
2024-03-21 01:11:20 -04:00
Mark Reid 50e7d5863d Fix CPU unit test failures on recent macOS ARM platforms (#1950)
* Fix CPUProcessor/optimizations on arm64 Arm64 has fma instructions that can lead to different results Break the manual computaion into multiple steps

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Compare strings by float value

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Enable macarm runners by default

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Move mac arm runner to main workflow

Signed-off-by: Mark Reid <mindmark@gmail.com>

* fix rosetta typo

Signed-off-by: Mark Reid <mindmark@gmail.com>

* move StringFloatVecClose to testutils

Signed-off-by: Mark Reid <mindmark@gmail.com>

---------

Signed-off-by: Mark Reid <mindmark@gmail.com>
2024-03-20 00:52:15 -04:00
Rémi Achard 9fe81cb02e CI Workflows various fixes (#1945)
* Fix OSL 1.13 unit tests

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update GHA deprecated actions

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update sonnar-scanner version

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Upgrade platform latest to C++23 and fix Pybind11 asserts

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2024-03-12 16:34:37 +13:00
Joseph Goldstone 184566eef0 Built-In Transform support for Apple Log (#1941)
* Built-In Transform support for Apple Log

Signed-off-by: Joseph Goldstone <jgoldstone@arri.com>

* Add Apple Log to Linear curve

Signed-off-by: Joseph Goldstone <jgoldstone@arri.com>

* Don't allow use of Apple Log in pre-2.4 configs; create half LUT to avoid clipping input

Signed-off-by: Joseph Goldstone <jgoldstone@arri.com>

* Insert std:: in front of that square root

Signed-off-by: Joseph Goldstone <jgoldstone@arri.com>

* Bump minor version number to 4 in testing config (stored as string literal); bump LastSupportedMinorVersion to 4

Signed-off-by: Joseph Goldstone <jgoldstone@arri.com>

* Adjust string literal against which maximum minor version is tested to be 4, not 3

Signed-off-by: Joseph Goldstone <jgoldstone@arri.com>

---------

Signed-off-by: Joseph Goldstone <jgoldstone@arri.com>
2024-02-06 23:37:55 -05:00
Brecht Van Lommel 0c90ded166 Fix AVX instructions used on CPUs that don't support them (#1935)
* Fix AVX instructions used on CPUs that don't support them

It's supposed to check all bits are enabled, not just one of them.
This causes a crash using OpenColorIO on older CPUs.

Thanks to Ray Molenkamp for help tracking this down.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>

* Fix another case pointed out in review

Signed-off-by: Brecht Van Lommel <brecht@blender.org>

---------

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
2024-01-26 14:53:29 -05:00
PenneLeeandDoug Walker aadf595946 Enhance ociochecklut to print the output after each step in a multi-t… (#1925)
* Enhance ociochecklut to print the output after each step in a multi-transform LUT

Signed-off-by: pylee <penne.y.lee@intel.com>

* Review feedback to enable printe of transforms list when using -s flag.

Signed-off-by: pylee <penne.y.lee@intel.com>

* Print transform description for each step instead.

Signed-off-by: pylee <penne.y.lee@intel.com>

---------

Signed-off-by: pylee <penne.y.lee@intel.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-01-23 00:50:54 -05:00
f9250992eb Add manylinux_2_28 Python wheels (#1933)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-01-22 23:33:27 -05:00
Chandy Navaratan 969bc68e58 Issue# 1922 - adding CI workflow to build for MAC ARM (#1928)
* Create ci-macarm.yml

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Update ci_workflow.yml

Remove macos arm builds from regular CI pipeline

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Updates based on review comments

1. Update trigger to run at 8:00AM on the 27th of every month.
2. Switch runner to macos-13-xlarge to trigger builds on ARM-based machines.

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Revert "Update ci_workflow.yml"

This reverts commit d8cadc2583be0c6f04850bee49f068c54f2fb8fb.

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Additional fixes based on PR feedback

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Allow workflow to run against base branch for PRs

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Switch to Python 3.11 and add arm64 as arch type

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Update on trigger from pull_request_target to pull_request

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

* Enable GPU acceleration

Enable GPU acceleration to run metal unit tests per input from Remi and Doug.

Signed-off-by: Chandy Navaratan <chandy@raje.sh>

---------

Signed-off-by: Chandy Navaratan <chandy@raje.sh>
2024-01-22 20:21:21 -05:00
phaniumandDoug Walker a95febc70e Fix narrowing conversion error on riscv64 (#1924)
Signed-off-by: phancb <nxhsdu@qq.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-01-22 00:04:43 -05:00
Rui ChenandDoug Walker e747e9c0bd fix: use system include pystring.h for ConfigUtils.cpp (#1921)
Signed-off-by: Rui Chen <rui@chenrui.dev>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2024-01-21 23:32:13 -05:00
Mark Reid 003b6a19e6 Fix ssse3 detection typo (#1929)
Signed-off-by: Mark Reid <mindmark@gmail.com>
2024-01-21 22:47:35 -05:00
Kevin WheatleyandDoug Walker ba2b41e309 Fix wrong RPATH being injected into Python bindings DSO (#1849)
Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-12-07 17:56:48 -05:00
Rémi AchardandDoug Walker f2cfec330e Add Python 3.12 wheels (#1898)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-12-05 18:27:06 -05:00
Doug Walker d8852b5d6c Adsk Contrib - Improve heuristics for finding known color spaces (#1913)
* Improve heuristics

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add some comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-12-05 01:20:36 -05:00
Rémi AchardandDoug Walker 41441bb2e6 Fix yaml-cpp build issues (#1907)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-22 20:29:04 +00:00
Doug Walker 4f4f30e1d3 Fix env serialization for v1 configs (#1904)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-11-17 01:52:51 -05:00
Doug Walker 4d64b32bc7 Fix NamedTransform context var issue (#1905)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-11-16 21:27:01 -05:00
Rémi AchardandDoug Walker ffd0f70ad5 Improve compatibility with minizip-ng COMPAT mode (#1902)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-15 21:28:29 +00:00
Rémi AchardandDoug Walker 9078753990 Improve handling of pystring include dir (#1901)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-14 02:11:53 -05:00
Rémi AchardandDoug Walker 382dcb6ce7 Restore GPU workflow and minor updates to CI (#1899)
* Restore GPU workflow runs

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Enable undefined behaviour sanitizer

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix SIMD option for platform_latest

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix install_docs_env on CI workflow (not used at the moment)

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix OpenEXR build flag

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-14 01:26:05 -05:00
Éric Renaud-HoudeandDoug Walker 52b496528c Skip processor concatenation if the display color space is also data. (#1896)
* Skip processor concatenation if the display view transform is also data.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Moved missing display color space exception before processor creation.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

---------

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-13 20:47:11 -05:00
tobimandDoug Walker 1d3b69502e Simplify the Findyaml-cpp module (#1891)
This fixes compatibility with yaml-cpp 0.8, which previously failed
because of a `get_property` call with the wrong target name.
I took the liberty to add a few simplifications along the way.

Signed-off-by: Tobias Mayer <tobim@fastmail.fm>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-11 20:37:47 -05:00
Cédrik FuocoandDoug Walker b94a184e4b Tentative fix for the doxygen installation in the CI (Windows) (#1890)
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-05 12:57:09 -05:00
PenneLeeandDoug Walker ed852073f2 Issue #1874 Cast to unsigned char for isspace. (#1888)
* Issue #1874 Cast to unsigned char for isspace.

Signed-off-by: pylee <penne.y.lee@intel.com>

* Add unit test.

Signed-off-by: pylee <penne.y.lee@intel.com>

* Add test comment as suggested in code review.

Signed-off-by: pylee <penne.y.lee@intel.com>

---------

Signed-off-by: pylee <penne.y.lee@intel.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-11-05 11:52:22 -05:00
45544ce667 Improve ocioview mac support and simplify dependencies (#1853)
* PySide 6, remove imath, add imageio support

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Remove Imath

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Support imageio as fallback for openimageio

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Further adjustments following latest updates

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Fix pixel probe

Signed-off-by: Remi Achard <remiachard@gmail.com>

Add OpenColorIO to requirements

Signed-off-by: Remi Achard <remiachard@gmail.com>

* Fix rebase issue

Signed-off-by: Remi Achard <remiachard@gmail.com>

---------

Signed-off-by: Remi Achard <remiachard@gmail.com>
Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
Signed-off-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Thomas Mansencal <thomas.mansencal@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2023-10-30 10:33:08 -04:00
AbhineshandDoug Walker 0d00b2c538 fix(grammatical): Spelling mistakes (#1892)
Signed-off-by: AbhineshJha <abhinesh_223002@saitm.org>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-10-29 19:45:38 -04:00
Thomas MansencalandDoug Walker 1fad4666c3 Remove circular import caused by typing annotations. (#1882)
Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-10-29 17:25:44 -04:00
Michael De CariaandDoug Walker bc8569b2db Fix missing Default View Transform on equal operator (#1886)
Add the missing assignment of the the default view transform when a config is copied using the equal operator

Signed-off-by: Michael De Caria <decariamichael@gmail.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-10-27 15:57:02 -04:00
Michael DolanandDoug Walker 8add374dad ocioview: Curve Inspector improvements (#1845)
* Curve inspector improvements

- Move README to root app folder
- Change curve inspector grid to always render as a square with 10 segments.
- Add transform init callback to set new transform subscriptions to the current viewer if set to passthrough.

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Improve log range calculation

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Improve channel sample comparison

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update src/apps/ocioview/ocioview/inspect/curve_inspector.py

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Michael Dolan <michdolan@gmail.com>

---------

Signed-off-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-10-24 22:55:20 -04:00
Éric Renaud-Houde dddbee023d Fix missing cache id reset on look update. (#1873)
Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
2023-10-10 20:43:27 -04:00
Kevin WheatleyandDoug Walker c7ad35340a Fix regression in cccid handling when no value is supplied (#1855)
In v1 of OCIO FileTransforms are able to load .cc files
without specifying a cccid. In v2 this broke causing an
exception to be raised instead of using the first cc found
in the file.

Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-09-26 21:58:32 -04:00
Uchiha KakashiandDoug Walker c429400170 Correctly recover CXX_FLAGS in CheckSupportSSE2.cmake (#1861)
Signed-off-by: Chongyun Lee <uchkks@protonmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-09-26 14:11:58 -04:00
Cédrik FuocoandDoug Walker 381d1fc371 Changing version to 2.4.0 (#1852)
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-09-26 13:27:03 -04:00
Kevin WheatleyandDoug Walker 87126fad7f Add links to new release notes documentation (#1848)
Signed-off-by: Kevin Wheatley <kevin.wheatley@framestore.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-09-13 22:55:59 -04:00
Mark Reid 14f0afa2d8 Add some small arm neon optimizations (#1847)
* Remove unused includes

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Use neon hardware support for f16 conversions

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Add some small neon optimizations
use blendv,floor and fma intrinsics were possible

Signed-off-by: Mark Reid <mindmark@gmail.com>

---------

Signed-off-by: Mark Reid <mindmark@gmail.com>
2023-09-13 21:53:37 -04:00
Mark Reid 16b3157f2e Fix support for X86 32-bit (#1842)
Signed-off-by: Mark Reid <mindmark@gmail.com>
2023-09-04 17:13:26 -04:00
caa20dd196 Adsk contrib - Add support for neon intrinsic integration (#1828)
* Merging the previous ARM Neon branch

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Testing each SIMD variants using a small code snippet and first pass on unifying the way related cmake variables

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing the usage of USE_SSE in favor of the new OCIO_USE_SSE2 as they serve the same purpose

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Using try_compile instead of check_cxx_source_compiles as it was given false positive.  Stubbing cpuinfo for Apple ARM plateform. Handling Apple M1 correctly and adding support for SSE2NEON.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Comments clean up and refactor some comments and documentations

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Added something in the documentation for Rosetta and small change in cmake

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing the build under Rosetta and fixing issue in the MacOS CI.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Using try_compile for CheckSupportSSEUsingSSE2NEON to standardize the code and fixed CheckSupport compiler flags.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* use emmintrin.h for only sse2 features

Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Allow F16C to be completely turned off

Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Seperate SIMD test code from code that adds unit tests.

This isolates the compulation units and
avoids executing illegal hardware instructions

Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* remove uneeded checks

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* use software implementations of f16c intrinsics for SSE2

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Added preprocessor checks for ARM as it is needed for universal build on APPLE platform

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding missing checks for "not arm64"

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Ease the future maintainability a the new OCIO_USE_xyz be moving the logic into CPUInfoConfig.h.in as well as fixing issue on ARM when building with OCIO_USE_SSE2NEON=OFF.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing some spacing, documentations and making some cmake conditions clearer.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding a build in ci_workflow for macos USE_OCIO_SSE2NEON=OFF

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* typo

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing back all the macOS (except one) builds to x86_64 only as it takes double the time to do the universal build.
OCIO no longuer build a universal binary by default

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Update the CMakeLists.txt logic to accomodate all scenario and fixing documentations.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Update documentation and remove ocio_use_sse2neon from the CI matrix

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Co-authored-by: Mark Reid <mindmark@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-31 21:10:29 -04:00
Doug Walker f885f8378e Update documentation for 2.3 release (#1838)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-08-31 17:10:08 -04:00
Michael DolanandRémi Achard 957ccd513b Add new ocioview app (alpha) (#1816)
* Initial commit of ocioview

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Improve config version selection and reloading

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Bug fixes and improved warnings

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Improve async log and code routing

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add settings, improve transform interface

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix viewer and code view update bugs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add README and inspector panel with curve viewer

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Curve viewer log fix

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add curve view labels

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update README, improve curve grid rendering

Signed-off-by: Michael Dolan <michdolan@gmail.com>

---------

Signed-off-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2023-08-31 13:59:33 -04:00
Cédrik FuocoandDoug Walker 6fc9f1f8da Adsk Contrib - Adding CG and Studio config v2.3 (#1836)
* Adding CG and Studio config 2.3

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing the configs for the 2.1.0 ones.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding OCIO_DEPRECATED for getDefaultBuiltinConfigName

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-30 17:37:41 -04:00
0872a69d05 Missing docs update for new texture dimensions API. (#1833)
* Missing docs update for new texture dimensions API.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Further docs update through using frozen docs generation.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

---------

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-30 01:25:24 -04:00
8854e13604 CMake: Fixes for yaml-cpp and generated config (#1823)
* Use `TARGET` for the config if-statements.

The check would always evaluate to true otherwise.

Signed-off-by: Pierre Wendling <pierre.wendling.4@gmail.com>

* Use PACKAGE_PREFIX_DIR from PACKAGE_INIT.

This avoids guessing the path to the prefix.

Signed-off-by: Pierre Wendling <pierre.wendling.4@gmail.com>

* Add compatibility with yaml-cpp 0.8.0 target.

The target was renamed to `yaml-cpp::yaml-cpp`, which breaks when using
the upstream CMake package over the Find module.

Signed-off-by: Pierre Wendling <pierre.wendling.4@gmail.com>

---------

Signed-off-by: Pierre Wendling <pierre.wendling.4@gmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-29 21:16:30 -04:00
Rémi Achard f9de269fc9 Fix CPUProcessor Dynamic Property API (#1832)
* Add missing hasDynamicProperty and isDynamic methods to CPUProcessor

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix cpu test run under address sanitizer

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add OSL to Python GpuLanguage enum

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix Analysis nightly workflow not running

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2023-08-29 20:21:15 -04:00
Doug WalkerandMichael Dolan 96f528fdfb Fix named transform validation issue (#1829)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2023-08-28 21:42:37 -04:00
Éric Renaud-HoudeandMichael Dolan de6d62d9fb Added GetProcessorFromConfigs variants for displays and views. (#1808)
* Added GetProcessorFromConfigs variants for displays and views.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Added display-view processor from two configs tests, moved direction argument last.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

---------

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2023-08-28 21:06:51 -04:00
Cédrik FuocoandDoug Walker 7ff912d748 Adsk contrib - Ignore info log from inactive colorspaces test (#1822)
* Fixing a warning in one of the python unit test
Removing expected info log in some python unit test
Removing expected info log about inactive colorspace in Cpp unit test

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Using sudio config instead of cg config where it makes sense
renaming unit test inactive_colospace to is_inactive

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-26 18:26:43 -04:00
Rémi Achard 47d758a73b Add command line apps to Python wheel (#1802)
* Add command line apps and remove tests on Python wheel

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix warnings on Clang 14

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Python wheel using dynamic linking

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix DLL directory

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Check path exists

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix DLL lookup on Windows

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix linux / mac wheels

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix symlinks and make doc optional

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2023-08-26 16:46:28 -04:00
929d5364c4 Exposed option to allow/disallow 1D texture GPU resources for 1D LUTs. (#1762)
* Exposed option to allow/disallow 1D texture GPU resources for 1D LUTs.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* New API to get or add 1D LUT textures with the specified dimensions.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Fix errors relevealed by CIS related to texture dimension API change.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Update gpu shader tests away from now deprecated get/add texture functions.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Converted deprecated get/add texture functions from pure virtual to virtual.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Commenting out unused parameters on deprecated functions to mitigate warnings.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Addressing review notes.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Updated python addTexture/getTextures test with latest interface.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Further update python and metal samples to new texture dimensions API.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Improvements: moved default deprecated implementations to base classes, avoided asserts, fixed typo and naming.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Follow spacing/formatting convention arguments.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

* Removed the original addTexture and getTexture methods.

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

---------

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-26 00:27:14 -04:00
Cédrik FuocoandDoug Walker 9221ffadb8 Adsk Contrib - Adding support for ocio://cg-config-latest and ocio://studio-config-latest (#1773)
* Added ResolveConfigPath function

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Added support for ocio://cg-config-latest and ocio://studio-config-latest
Added unit tests that covers the new names.
CreateFromBuiltinConfig now supports the URI interface directly as well. Previously, it was supporting only the built-in config name (not a URI). The config name was parsed out of the URI before passing it to CreateFromBuiltConfig by CreateFromFile.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Documentations and typos
Tweaking unit tests
Other minor changes

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* documentations

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Using OCIO_BUILTIN_URI_PREFIX where we can in the code (not in tests)
Adding missing type in PyTypes.cpp
Change name of constexpr to follow the others in OCIO (all in capital)
Moved them to the cpp file since they can be useful in tests
Comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* documentation

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing error : ISO C++ forbids converting a string constant to 'char*' that was brought up with Clang under Linux and macos.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Remove deprecation for getDefaultBuiltinConfigName. Will wait for 2.3 release.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing issue with the rebase

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-25 15:42:25 -04:00
Mark ReidandDoug Walker 9cc2486559 Add AVX2/AVX/SSE2 SIMD accelerated 1D/3D LUTS (#1687)
* Add AVX2/AVX/SSE2 accelerated pack/unpacking function templates

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Add AVX2/AVX/SSE2 accelerated Lut3D Tetrahedral implementations

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Add AVX2/AVX/SSE2 accelerated linear Lut1D implementations

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Fix a bunch of typos

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Remove USE_SSE code that is no longer needed

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Use alignas specifier

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Move x86 simd checking code to seperate file

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Fix cacheID test, compare lengths and everything but the cacheID hash

Signed-off-by: Mark Reid <mindmark@gmail.com>

* Remove debug gather code

Signed-off-by: Mark Reid <mindmark@gmail.com>

* fixed outBD typo

Signed-off-by: Mark Reid <mindmark@gmail.com>

---------

Signed-off-by: Mark Reid <mindmark@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-08-23 12:52:05 -04:00
Cédrik Fuoco 84948c773f Locking sphinx to the latest successful build (#1826)
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
2023-08-22 15:38:15 -04:00
bdc4cd1241 Add support for minizip-ng 4 API (#1806)
Signed-off-by: Brad Smith <brad@comstyle.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-07-28 19:18:10 -04:00
Rémi AchardandDoug Walker f26df74417 Add VFX Platform 2023 to CI build matrix (#1813)
* Add ci-ocio:2023 to build matrix

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix OpenImageIO detection

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update deprecated GHA

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-07-28 18:40:20 -04:00
Doug Walker 93ee2cc8a4 Add built-in transform for Display P3 and bump config version (#1814)
* Add built-in display transform for Display P3

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add URLs with DisplayP3 info

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-07-26 22:12:13 -04:00
brkglvn01andRémi Achard 6dec6b23a7 Updated documentation as 3D LUTs can now be inverted (#1812)
* Fix documentation build (#1809)

* Fix documentation build on Doxygen 1.9.7

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove doxygen group names

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove remaining doxygen group

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Signed-off-by: Brooke <beg9562@rit.edu>

* Updated documentation as 3D LUTs can now be inverted

Signed-off-by: Brooke <brkglvn@gmail.com>
Signed-off-by: Brooke <beg9562@rit.edu>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Signed-off-by: Brooke <beg9562@rit.edu>
Signed-off-by: Brooke <brkglvn@gmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2023-07-13 20:45:22 -04:00
Rémi Achard 16b180240f Fix documentation build (#1809)
* Fix documentation build on Doxygen 1.9.7

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove doxygen group names

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove remaining doxygen group

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2023-06-29 19:24:46 -04:00
Cédrik FuocoandDoug Walker 8e801dc07b Adsk Contrib - Enhanced methods to find an equivalent color space between configs (#1788)
* - Implementation of identifyInterchangeSpace, identifyBuiltinColorSpace and AreProcessorsEquivalent.
- Remove some include of Processor.h where it wasn't needed.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Moving code from Config.cpp to ConfigUtils.cpp and using wrapper in Config.cpp instead.
Fixing identations issues.
Fixing styling issues.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Typo and comments tweaks
Moving the creation of the editable config into the wrapper of isColorSpaceLinear instead of doing it inside the function.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Splitting identifyInterchangeSpace into two methods, one for source config and one for builtin.
Adding back isColorSpaceLinear inside Config.cpp since we need access to getProcessorWithoutCaching.
Refactor some of config utils function to return index instead of string.
Creating editable config in the two wrappers to prevent processor caching.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Tentative change to phase out isProcessorEquivalent.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Refactor code and add tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove unused method

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove unused method, tk 2

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Tweak comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Python binding for IdentifyInterchangeSpace and IdentifyBuiltinColorSpace methods.
Adding a couple python unit tests to cover the new methods (same unit test as the C++ side, but not all of them)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* - Implementation of identifyInterchangeSpace, identifyBuiltinColorSpace and AreProcessorsEquivalent.
- Remove some include of Processor.h where it wasn't needed.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Moving code from Config.cpp to ConfigUtils.cpp and using wrapper in Config.cpp instead.
Fixing identations issues.
Fixing styling issues.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Typo and comments tweaks
Moving the creation of the editable config into the wrapper of isColorSpaceLinear instead of doing it inside the function.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Splitting identifyInterchangeSpace into two methods, one for source config and one for builtin.
Adding back isColorSpaceLinear inside Config.cpp since we need access to getProcessorWithoutCaching.
Refactor some of config utils function to return index instead of string.
Creating editable config in the two wrappers to prevent processor caching.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Tentative change to phase out isProcessorEquivalent.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Refactor code and add tests

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove unused method

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove unused method, tk 2

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Tweak comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Python binding for IdentifyInterchangeSpace and IdentifyBuiltinColorSpace methods.
Adding a couple python unit tests to cover the new methods (same unit test as the C++ side, but not all of them)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing problem with the rebase

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Make sure the unit test is using the static method

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-06-27 17:44:19 -04:00
Carol Payne 6bf2dc0bb8 Adding Thomas and Zach to the TSC! (#1803)
Signed-off-by: Carol Payne <carolp@netflix.com>
2023-06-13 16:49:31 -04:00
Cédrik Fuoco 454b502cce Adsk contrib - Fix issue with urllib3 version and the container images for the CIs (#1797)
* Changed OCIO_PYTHON_LOAD_DLLS_FROM_PATH to opt-in instead of opt-out

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Restrict the version of urllib3 to version <2 because version above this is not compatible with the OCIO container images

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Revert unwanted change from this branch

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
2023-05-16 14:03:04 -04:00
Cédrik FuocoandDoug Walker 219ac86ef6 Adsk contrib - Add method to check inactive color space and an extra getRoleColorSpace method (#1792)
* Implements isInactiveColorSpace and getRoleColorSpace.
Implements basic unit tests for those two methods.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Added header for the two new methods.
Added the python bindings equivalents.
Tweak C++ unit tests and added python unit tests.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Minimize usage for getRoleName

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Documentations
Moving the new unit tests
Adding extra tests for un-tested methods

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Tweaking unit tests and documentions

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix build failure on Linux and Mac.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix comment

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-05-03 22:32:10 -04:00
Cédrik FuocoandDoug Walker a5a6be55c7 Changing ZLIB min version to 1.2.8 (#1793)
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-05-03 21:58:01 -04:00
Cédrik FuocoandDoug Walker f0a181a00f Adsk contrib - Add method to clear processor cache (#1791)
* Adding a method to clear the processor cache.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Do not clear the cache when enabling the cache
Adding test for the cache enable/disable cycle
Adding test to test clearProcessorCache

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Unrelated: Changing zlib version to 1.2.8 (adding it to this PR to minimize PRs)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Documentations
Tweak unit tests
FIx implementation for clearProcessorCache

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Documentations
reverting zlib version and will do it in another PR

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Documentation and python binding

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding python unit tests and minor fixes

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Missing change from last commit

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-05-03 21:19:13 -04:00
Jamil HalabiandDoug Walker a12ce22125 - CMake's FetchContent compatibility changes (#1790)
Signed-off-by: Jamil Halabi <jay3dlinux@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-05-03 20:48:51 -04:00
Cédrik FuocoandDoug Walker 5d49864dca Adsk Contrib - Fix warning/errors log in unit test (#1786)
* Fixinactive colorspaces in cg-config.
Fix OpenColorIO errors that was introduced a while ago in the unit test because of requirement for config.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Reverting changes in cg-config
Other warnings are not muted anymore when we check for role warnings.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Refactoring the new function in unit test log utils.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Integrating the code into LogGuard
Changing some misuses of StartsWith

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding a MuteLogging class for python side
Mute log from built-in config test
Comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding new utilities function to mute inactive colorspace info log while not muting all logs (C++ side)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* findAllAndRemove method from LogGuard now takes a regex pattern instead of just the line to find

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-05-03 20:14:08 -04:00
Cédrik Fuoco 01f2175087 Adsk contrib - Fix for dependencies workflow (#1795)
* Tentative fix for macos failure

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* checking for llvm@15 instead as that version is installed by homebrew in the runner

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Trying to trigger the dependencies workflow by making a temporary changes in it.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Using same version of compiler as LLVM_ROOT when building OSL

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding LLVM_ROOT for macOS only and testing the usage of "llvm" only instead of llvm@15.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing back to llvm@15

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* last test to confirm

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* removing temporary change in dependencies_workflow

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
2023-05-02 14:49:14 -04:00
Doug Walker 22f5ee00c1 Adsk Contrib - Fix error message in DisplayViewTransform (#1780)
* Fix error message in DisplayViewTransform

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update test in Config_tests.cpp

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve indentation

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

---------

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-04-13 19:47:53 -04:00
Cédrik FuocoandDoug Walker 9659603d9e Make sure that docutils is >= 0.18.1 (#1783)
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-04-12 21:01:45 -04:00
Doug Walker 9d0a5a4ff3 Add 3ds Max as a supported app (#1782)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-04-04 00:24:46 -04:00
Rémi AchardandDoug Walker 28a4b3a8ad Fix GradingPrimary bypass and add support Python comparison for Grading data objects (#1779)
* Fix GradingPrimary bypass, support comparison in Python

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Improve test description

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-03-22 23:52:03 -04:00
Rémi AchardandDoug Walker 20f13dec67 Fix python packaging (#1778)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-03-22 19:07:48 -04:00
Cédrik Fuoco e93efe3b70 Adsk contrib - Add support for minimum and recommended versions for dependencies (#1777)
* Implementation of ocio_find_package and ocio_install_package macro.
Implemention of minimum, maximum and recommended version.
Refactor the FindOpenImageIO to be inline with the rest of the custom find module (OCIO_USE_OIIO_CMAKE_CONFIG is no longer needed).
Added a new option called OCIO_VERBOSE. It allow the user to tell OCIO to display more information when searching and building the dependencies.
Splitted the find and install part into two files - Find<pkg>.cmake and Install<pkg>.cmake.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing a duplicate call to set_property in OpenImageIO find module.
Setting policy CMP0042 when building ZLIB since that project is using an old CMake version as the cmake_minimum_required and that version has no knowledge of the policy.
Fixing a potential issue in Installopenfx. Changing back the version to 1.4 as before.
Ignoring warning from OpenImageIO for imageioapphelpers. The same warning are ignored for ociodisplay, ocioconvert and ociolutimage.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixed an issue with FindOpenImageIO that was found while testing on macOS.
Renamed FindOpenShadingLanguage to FindOSL to match the project name used the OSL's CMakefile.
Cleanup the code for FindOSL and removed duplicate warning about needed C++14.

Updated the header comments for all Find and Install modules.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing typo

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Renamed ocio_find_package to ocio_handle_dependency
Renamed ocio_install_package to ocio_install_dependency
The "Installing [...]" message from Install module is now under OCIO_VERBOSE variable. Added a message in ocio_install_dependency instead
Improve the colors usage in the logging

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changed prefix for ocio_install_dependency since it was conflicting with the prefix of ocio_handle_dependency since they were the same.
Removed FindOpenEXR.cmake and FindOpenImageIO.cmake since they are not needed anymore (for differente reason).
Added PROMOTE_TARGET option for ocio_handle_dependency which promote the target to GLOBAL.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Mostly comments and documentations

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Small update of the Existing Install Hints section

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changed RECOMMENDED_MIN_VERSION to RECOMMENDED_VERSION
Re-worded some of the comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing issue with ocio_handle_dependency macro where it wasn't respecting OCIO_INSTALL_EXT_PACKAGES option correctly.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding more documentations and dropping support to look for static zlib since the user can update their cmake in order to do that.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Documentations

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Documentations

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* fixing typo

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix typo and fix issue when OCIO is installing ZLIB

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Tentative fix for Linux CI failure

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Ignoring specifics warnings on OpenImageIO target directly.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing OCIO_USE_OIIO_CMAKE_CONFIG as it is not needed anymore.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
2023-03-22 17:12:35 -04:00
Cédrik FuocoandDoug Walker 9d572cfab7 Changing the build type check to be case-insensitive (#1765)
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-03-09 01:59:12 -05:00
Cédrik FuocoandDoug Walker f651a1aed9 Adsk Contrib - Allow PyOpenColorIO module to load DLLs from Windows PATH environment variable (#1759)
* Allow PyOpenColorIO module to load DLLs from Windows PATH environment variable with an opt-out option in case the user want the default behavior of Python 3.8+.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing typos in comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

---------

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-03-09 00:57:11 -05:00
Rémi Achard 3797a92481 Update CI workflows (#1770)
* Update CI workflows

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Test building OpenEXR single threaded

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add comment on disabling parallel build

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update python_requires

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove comments around CI jobs

Signed-off-by: Rémi Achard <remiachard@gmail.com>

---------

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2023-03-08 22:07:11 -05:00
b848482642 Update macOS runners to 10.11, bump actions version (#1714)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-01-27 12:31:08 -05:00
Cédrik Fuoco 91761f256b Adsk Contrib - OCIO cmake improvements (#1736)
* - Refactoring how OCIO search for minizip-ng. The first step is to search for an external minizip-ng. If not found, search for minizip-ng with MZ_COMPAT=ON (libminizip). If it is not found either, download and install minizip-ng with MZ_COMPAT=OFF.
- Removing the minizip-ng part for the includes for minizip-ng headers.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Update comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Improved find_package in Config mode (adding it back)
Added missing scripts to install minizip-ng and zlib for the analysis workflow

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding +x permissions for install_minizip_ng and zlib
Fixing path to find zlib in install_minizip-ng.sh

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing target name to match the one used by minizip-ng library (+ using the imported target instead of creating a new one when minizip-ng is found)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* First pass for the OpenColorIOConfig.cmake file with the required dependencies only.
A few extra fixes for OpenEXR, ZLIB and Minizip-ng.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding a informative message when building static ocio instead of per module.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding an extra step to test the consumer app with static OpenColorIO for Windows, Linux and MacOS.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Re-using the same test instead of creating a new one by removing the condition on build-shared.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing spacing, typo and adding back the NOT in the condition. (it was removed for debugging purpose)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing directory where we share OCIO custom find modules (now in <install dir>/share/cmake/modules).
Adding a cmake macro when installing OCIO since it is needed by some custom find modules.
The find modules are only installed when building OCIO as a static library.
The config.cmake.in files now only looks for the dependency when OCIO was built as a static library.
Tentative (ci-workflow): Adding cmake-consumer test for static builds.
Overhaul of the Findzlib module to be more inline with the FindZLIB from cmake and to be more robust.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding missing backward slashes and saving the build path in an existing step instead of creating a new step.
Adding a check for CMake version for a section in Findzlib.cmake.
Re-phrasing some comments.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Prevent the download of the dependencies in the scenario where static OCIO is linked to a consumer project. Since OCIO_INSTALL_EXT_PACKAGES is not defined, our find module tries to download the dependencies, but we don't want that mecanism for consumer project.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing path where OCIO install its own custom find module.
Removing custom Findzlib and making modifications to use CMake FindZLIB.
Created a InstallZLIB module which does the download and install part if OCIO_INSTALL_EXT_PACAKGES is ALL or MISSING.
Tweaked config.cmake.in to use CMake FindZLIB.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding more details in comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing an extra "shell" property in CI workflow.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix issues discovered with the failing CI workflow:

Cmake-consumer test now prefer the static version of the dependencies.
Fix an issue where yaml-cpp is not found by a consumer app (variable spelled incorectly in Findyaml-cpp).
Fix an issue expat library is not found by a consumer app on Windows.
Adding support for OCIO's  <pkg_name>_STATIC_LIBRARY for ZLIB while supporting ZLIB_USE_STATIC_LIBS (CMake 3.24+) from CMake's FindZLIB.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing pystring_STATIC_LIBRARY does not exists in CI workflow.
Detecting if the build is Debug in the find module that OCIO installs since they can't rely on variables set by OCIO CMakefiles.
Fix issue with yaml-cpp library naming in debug.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix issues on Windows with expat and minizip-ng library naming when building static OCIO.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Added option for macOS CI job in order to get more info on a failed job. Will be reverted once the issue is found.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing a issue on macOS.
Improving ZLIB usage comments.
Bumping minizip-ng to the latest version - 3.0.7.
Bumping ZLIB to the latest version 2.1.13 to fix a vulnerability (CVE-2022-37434)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Proposing to remove Findminizip module since external minizip-ng build need to be done with the same option as the internal build.
Otherwise, linking and symbols issues are going to happend if the other libraries are not linked in correctly.
It is going to simplify the maintainability of OCIO.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing findminizip.cmake from the install since it does not exist anymore.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
2023-01-05 10:26:45 -05:00
Doug Walker 17f5c98f9b Update documentation for 2.2 release (#1738)
* Update documentation for 2.2 release

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix typos

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Remove V2_DOC_README.md

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Tweaks to 2.2

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve installation section

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add link to demo config

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Fix typos

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Improve file_rules section

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-01-04 16:44:23 -05:00
Doug Walker 5152635a18 Fix inverse Lut1D optimization bug (#1743)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2023-01-04 16:00:36 -05:00
Rémi AchardandDoug Walker 051241c9f1 Fix minizip-ng CMake args passing (#1741)
Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-01-04 15:14:21 -05:00
Cédrik FuocoandDoug Walker 1d126b56e9 Adsk Contrib - Improve naming of ICC-based displays on Windows (#1742)
* Adding a method to get the Monitor's userFriendlyName if available

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing the slashes at the start of the display name

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding descriptions and comments.
Adding troubleshooting script that print the monitor display name and ICC profile path.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* no message

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2023-01-03 23:40:07 -05:00
Cédrik FuocoandDoug Walker 6d7c4791f1 Adsk contrib - Fix issue with is colorspace linear (#1734)
* Throw when the colorspace is undefined for isColorSpaceLinear method. (+ unit test)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Typo

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-12-22 20:48:34 -05:00
Cédrik FuocoandDoug Walker 907ed3be17 Adsk contrib - Hiding minizip-ng symbols on Mac (#1729)
* Hiding minizip-ng symbols on Mac

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing a linking issue related to the code that tries to hide expat symbols and small refactor to add robustness.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-12-06 00:32:32 -05:00
Cédrik FuocoandDoug Walker 332462e7f5 Adsk contrib - Configure the OpenColorIO.pc file on Windows (#1720)
* Configure the OpenColorIO.pc file on Windows and fix an issue where CMAKE_INSTALL_PREFIX wasn't included in the cmake build command in ocio.bat.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing pkconfig folder since that PC file is not used.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Small tweak in the configuration of OpenColorIO.cmake.in to handle absolute path with CMAKE_INSTALL_LIBDIR or CMAKE_INSTALL_INCLUDEDIR.
Keeping exec_prefix for CMAKE_INSTALL_INCLUDE_DIR since it was changed for a specific issue on Mac (see PR #1120).

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Using ${prefix} for includedir

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-12-05 23:10:29 -05:00
Cédrik FuocoandDoug Walker 4fa775030a Adsk contrib - Processor cache does not detect changes in cccid (#1726)
* For Looks that has a FileTransform and for Colorspace with FileTransfrom, add the CCCID to the processor's cache key for that transform.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing the workaround in the related unit tests and fixing the issue by adding the environment variable to the context using setStringVar. The processor's cache key is using the context cache ID which has all the context variables taken into account.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Now using addStringVars and creating a new context instead of reusing the one used for the filename.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding cccid to the context when there are no context variable.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding a few unit tests to test that the processor is different when changing the FileTransform's CCCID.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Using setStringVar to set CCNUM context variable in unit test.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding a test in FileTransform to test CollectContextVariables directly.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Minor tweaks for the unit test

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-12-05 20:16:27 -05:00
Cédrik FuocoandDoug Walker 811902b37d Adsk contrib - Fix issue with minizip build (#1725)
* - Refactoring how OCIO search for minizip-ng. The first step is to search for an external minizip-ng. If not found, search for minizip-ng with MZ_COMPAT=ON (libminizip). If it is not found either, download and install minizip-ng with MZ_COMPAT=OFF.
- Removing the minizip-ng part for the includes for minizip-ng headers.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Update comments

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Improved find_package in Config mode (adding it back)
Added missing scripts to install minizip-ng and zlib for the analysis workflow

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding +x permissions for install_minizip_ng and zlib
Fixing path to find zlib in install_minizip-ng.sh

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing target name to match the one used by minizip-ng library (+ using the imported target instead of creating a new one when minizip-ng is found)

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-12-05 17:33:12 -05:00
FantasqueXandDoug Walker b6e40f4fca CheckSupportSSE2: Fix sse flags unexpected propagation (#1721)
Set function will affects all variables in current directory. If sse
flags are added in CheckSupportSSE2.cmake, they will remain in
Findminizip-ng.cmake which will cause liblzma cannot be detected. This
patch keep CMAKE_REQUIRED_FLAGS being changed only in current file
scope. This patch has been tested on riscv64.

Signed-off-by: Letu Ren <fantasquex@gmail.com>

Signed-off-by: Letu Ren <fantasquex@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-12-02 22:34:58 -05:00
bartstyczenandDoug Walker d5cedbf551 replace texture2D function with texture for GLSL 1.3 (#1723)
Signed-off-by: Bart Styczen <bart.styczen@cine.dev>

Signed-off-by: Bart Styczen <bart.styczen@cine.dev>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-12-02 19:56:03 -05:00
Cédrik Fuoco a00a48ff35 Increasing version to 2.3.0 (#1717)
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
2022-12-02 14:23:01 -05:00
Cédrik FuocoandDoug Walker cac1ba5fef Adsk contrib - Update builtin config and add studio builtin config (#1713)
* - Modifying the CG builtin config and updating the code accordingly. I named the config without the RC2 in order to minimize the changes once the stable release in available.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Adding Studio config

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Updated config to stable version
- Added some variables for string const

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing a unit test since it was using the previous CG config and the config changed.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-10-31 16:07:20 -04:00
Cédrik FuocoandDoug Walker 4f4e52257d Adsk contrib - Issue with latest ociocheck (#1715)
* Missing logs from config::validate.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

* Moving log guard ouput before the checks for errors level logs.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-10-31 15:43:12 -04:00
amysparkandDoug Walker 1e6b01cc23 MinGW: Work around lack of strtof_l for locale independent parsing (#1697)
Signed-off-by: L. E. Segovia <amy@amyspark.me>

Signed-off-by: L. E. Segovia <amy@amyspark.me>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-10-31 14:41:09 -04:00
Éric Renaud-HoudeandRémi Achard e7a88bfe1e Enforce GL_NEAREST with gpu tetrahedral interpolation, fixing #1676. (#1708)
Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2022-10-30 15:52:02 -04:00
Rémi AchardandMichael Dolan 4dff29eb36 Baking crosstalk and NamedTransform support fix (#1693)
* Check for channel crosstalk on optimised processors when baking

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Use lossless optimization

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Handle NamedTransform used in Baker shaper space

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2022-10-29 21:44:01 -04:00
c897bd301c Fix build and errno check on musl libc (#1678)
In the 'from_chars' function, it's first checked if errno != 0 and
immediately returns with std::errc::result_out_of_range aka ERANGE.
Please refer issue [1624] (https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/1624)

The function 'strtol_l' is not available on non GLIBC systems hence on
other libc use the alternative 'strtol' function.

Signed-off-by: listout <listout@protonmail.com>

Signed-off-by: listout <listout@protonmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2022-10-29 21:02:28 -04:00
Michael Dolan 9a82ddb96d Add NamedTransform Processor constructors (#1689)
* Add NamedTransform Processor constructors

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update frozen Python API docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add NamedTransform::GetTransform static function to public API

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Move function from NamedTransformImpl to NamedTransform

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update Python frozen rst with API changes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update comment and variable naming

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2022-10-29 20:12:30 -04:00
Cédrik Fuoco b236bd827b Adsk contrib - Convert to or from a known external color space (#1710)
* First iteration of isColorspaceLinear.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Comments.
- Added a private getProcessor method that ignore caching.
- Fix the algorithm for isColorspaceLinear. - Now testing R, G, B and neutral values.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Passing in the config reference instead of using this in the capture clause of the lambda function as this was causing issue on other platforms than Windows.
- Remove unused variable in unit test.
- other minors changes

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing a comment and removing the helper function as it is not needed.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Get in sync with changes on the public repository for isColorspaceLinear.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - C++ implemention for getProcessorToBuiltinColorSpace with a few utilitiy functions

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Changed getProcessorToBuiltinColorSpace to getProcessorToOrFromBuiltinColorspace and it not accessible through the API anymore
- Added getProcessorFromBuiltInColorspace (API)
- Added getProcessorToBuiltinColorspace (API)
- rename "bi" variables to "builtin"
- Added the swaping of colorspace when TRANSFORM_DIR_INVERSE
- Added C++ unit test

std::cout debug print will be removed in the next commit.
Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding ColorSpaceUtils

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Comments and styling
- Refactor the code in order to use apply()
- Move everything to ColorSpaceUtils so that all the helper functions are private to ColorSpaceUtils
- Remove the std::cout

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Now using getProcessorWithoutCaching and moved logics into Config::Impl.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing combineGroupTransform, small refactor of getRefToSRGBTransform and styling issues.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Python Bindings

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Changing new helper methods to const and minor styling issues.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Minor styling issues

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Changed a comment to fit on one line and styling issue.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing extra qualifiers that returns an error on Linux and Mac and fixing warnings on Linux and Mac.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing issue with documentation

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Rename checkForLinearColorSpace ---> getReferenceSpaceFromLinearSpace
- Fix an issue where the wrong config object was used for getProcessorWithoutCaching.
- Added a comment about about 0.0030399346397784323.
- Using std::pow instead of pow
- Small refactor of getReferenceSpaceFromLinearSpace to avoid duplicate code.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Renaming checkForSRGBTextureColorSpace to getReferenceSpaceFromSRGBSpace and adding "Utility - Linear - Rec.2020" to the builtin linear spaces.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
2022-10-28 16:28:56 -04:00
Rémi Achard a347d807e2 Update hashing algorithm for Processor caches (#1656)
* Use xxHash for CacheID

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Using XXH3_128bits

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2022-10-28 12:10:01 +01:00
Rémi Achard 82f56ab6ca Add Python 3.11 wheels (#1706)
* Add Python 3.11 wheels and cleanup old variants

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Bump cibuildwheel version

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove Python 3.6 from supported version, fix build warning

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add python_requires to setup.cfg

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2022-10-28 11:43:29 +01:00
Doug Walker 8a93946cb3 Fix atan2 argument order for HLSL (#1712)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2022-10-27 20:33:58 -04:00
Cédrik FuocoandDoug Walker 3ffcc3fb88 Adsk contrib - Add a method to query whether a color space is linear (#1703)
* First iteration of isColorspaceLinear.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Comments.
- Added a private getProcessor method that ignore caching.
- Fix the algorithm for isColorspaceLinear. - Now testing R, G, B and neutral values.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Passing in the config reference instead of using this in the capture clause of the lambda function as this was causing issue on other platforms than Windows.
- Remove unused variable in unit test.
- other minors changes

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing a comment and removing the helper function as it is not needed.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Tweaking algorithm. Returns true at the end since the color space matches the desired reference space type, is not a data space, and has no transforms, so it is equivalent to the reference space and hence linear.
- Added a color space in the test config to cover that.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding python binding for isColorSpaceLinear and python unit test.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-10-27 15:58:26 -04:00
Doug Walker 5dc32f997c Adsk contrib - Add Built-in Transforms for ARRI LogC4 and Canon curves (#1704)
* Add LogC4 and Canon curves

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Refactor Canon curves

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Add checkVersionConsistency test

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Update comment

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
2022-10-27 14:57:43 -04:00
Cédrik Fuoco 34284f5ba4 Merging adsk_contrib/make-interchange-roles-required-for-future-config-version into this new branch as one commit in order to clean up the commits. (#1711)
Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
2022-10-27 10:33:28 -04:00
Cédrik FuocoandDoug Walker f767cad1ed OCIOZ archive feature (#1627) (#1696)
* OCIOZ archive feature (#1627)

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Add OCIOZ extension if not present.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Changing getLutData (return vector instead of passing by reference) 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>

* - Remove the minizip-ng patch as it doesn't work and further discussion 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>

* - Added implicit conversion from bytearray to std::vector<uint8_t>
- 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>

* Update comments to be in line with the current implementations

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Changing ci workflow in order to install cmake version 3.13.3 for Linux (matrix.vfx-cy == '2019').

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* - Fixing issue with the install location of zlib library
- Removing unused CMAKE variables from ZLIB_CMAKE_ARGS

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-10-25 14:42:09 -04:00
Rémi Achard 521ed0835a Support for ICC Parametric curves type 1-4 (#1691)
* Support for ICC Parametric curves type 1-4

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add warning about paraCurve characteristics, fix clamp and improve unit tests

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Windows CI fixes

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2022-10-24 23:19:44 -04:00
Jochen HunzandDoug Walker cae5850771 added anchorpoint to supported applications (#1695)
Signed-off-by: Jochen Hunz <j.hunz@anchorpoint.app>

Signed-off-by: Jochen Hunz <j.hunz@anchorpoint.app>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-10-22 02:07:59 -04:00
660cf515fa Corrected http links to https (#1669)
Downloads links corrected to use HTTPS instead of HTTP.

Signed-off-by: Abel Serrano Juste <akronix5@gmail.com>

Signed-off-by: Abel Serrano Juste <akronix5@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2022-10-21 11:07:49 +01:00
Rémi AchardandMichael Dolan d797f8e6cd Log OCIO version for debugging purposes (#1694)
Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2022-10-21 10:41:36 +01:00
Rémi AchardandMichael Dolan 20805ae174 Fix dependency specifications for ninja build (#1692)
Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2022-10-21 10:09:38 +01:00
Éric Renaud-HoudeandRémi Achard 281d39f749 Fix for static const literals in HLSL. (#1684)
Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>

Signed-off-by: Eric Renaud-Houde <eric.renaud.houde@gmail.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2022-10-20 08:26:34 -04:00
Rémi AchardandMichael Dolan 8e04da773a Support for OpenEXR to build additional apps (#1637)
* OpenEXR support

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Build an CI minor improvements

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix ocioconvert output bitdepth support

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix explicit version request handling

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Try to fix OSL tests

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Signed-off-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2022-09-19 16:00:42 -04:00
AkhilandRémi Achard 0620af70a5 Replaced "requireements" to "requirement" in installation.rst (#1632)
* Replaced "requireements" to "requirement" in installation.rst

Signed-off-by: Akhil <46328560+akhilsahuji@users.noreply.github.com>

* Deleted Extra Space

Signed-off-by: Akhil <46328560+akhilsahuji@users.noreply.github.com>

Signed-off-by: Akhil <46328560+akhilsahuji@users.noreply.github.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2022-09-06 09:11:09 -04:00
Cédrik FuocoandDoug Walker 27447f5a9c Adsk contrib - Built-in configurations (#1659)
* First version of built-in configs feature

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Generating configs header into generated_include folder

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Added comments, move some code, added a test for public interface, changed how CG.h get generated and other minors fixes

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding support for ocio://default and a unit test for it

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Renamed methods to get align with BuiltinConfig class name and to remove confusion with Config class.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Refactor the test suite for Built-in config and comments/descriptions changes

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding guard for setenv, added two tests and other minor changes

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Added readme file to help add a new config, minors fixes, changed some built-in config unit tests and created a generic guard for set/unset env.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix some coding styles and remove try catch that was not really needed.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Updating setenv/unset to the guard pattern in config_tests module.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Python bindings

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing styling issues and minor modifications in python unit tests

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing problem with test_create_builtin_config

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Remove the check for the number of colorspaces in the python tests for now - only checking the name, removed readme and fix issue around config begin null in test by adding a OCIO_REQUIRE_ASSERT.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing styling and comments issues and adding back the tests for the number of colorspaces using len().

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* missing spaces in comments.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding display name and getBuiltinConfigUIName.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix a few issues with the builds - Replacing get_filename_component/NAME_WLE by a regex, replacing assetRaisesRegex with a combination of assertRaises/assertEqual and fixing the link issue with Doxygen in OpenColorIO.h

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding missing comment and changing "displayName" to "uiName" to remove confusion within ocio

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixing build issue on Linux and Mac : config string was not null terminated

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* minor fixes

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* A more Pythonic interface

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Adding more information into the tuple and modified corresponding tests.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* returning reference instead of smart pointer as it is not needed.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Removed getNumBuiltinConfig from python binding since we have iterator and modified __contains__ magic method to not throw exception.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix wrong type in for loop. (linux and mac issue)

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-07-07 17:57:28 -04:00
Rémi Achard 06601f0e43 Enable found version printing for find_package(OpenColorIO CONFIG) (#1636)
Signed-off-by: Rémi Achard <remiachard@gmail.com>
2022-06-27 20:21:30 +01:00
Cédrik FuocoandDoug Walker a2e204b378 Adsk contrib - Scripts to facilitate building OCIO on Windows (#1646)
* Scripts to facilitate OCIO builds on Windows

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fixed an issue with spaces in python path

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Using delayed variable expansion instead of normal expansion for variables that can changes based on arguments

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Updating the quick start > installations documentation to mention the windows scripts and re-writing obsolete section.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-06-21 22:01:12 -04:00
Cédrik FuocoandDoug Walker b80361cb75 Adsk contrib - Implement invertview for ocioconvert, ocioperf and ociowrite (#1648)
* Implement invertview for ocioconvert, ocioperf and ociowrite

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix issue with operator precedence warning on Linux

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Added comment on why ocioconvert is changing the output buffer bit-depth and changed bitwise AND operator into logicla AND operator (same result but makes more sense here)

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Fix issue with --gpu path

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-06-05 14:59:43 -04:00
AkhilandDoug Walker 68b510b652 Adjusted 'family' description in OpenColorIO.h to match documentation (#1635)
Signed-off-by: Akhil <akhil9415588049@gmail.com>

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-05-18 13:55:08 -04:00
Cédrik FuocoandDoug Walker 25e910cf41 Adsk contrib - Fix issues when building OCIO with MS Visual Studio 2022 (#1647)
* Fix issues when building OCIO with MS Visual Studio 2022

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Removing GLEW_LIBRARY variable as it is not needed

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Bumping CI to use VC 2022 as per Doug Walker request (see #1634)

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Reverting the changes on ci_workflow.yml and adding a check for MSVC for the Glew fix.

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Typo for the windows action in ci workflow

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

* Typo for the windows action in ci workflow

Signed-off-by: Cedrik Fuoco <cedrik.fuoco@autodesk.com>

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-05-18 11:54:32 -04:00
Rémi Achard 44d8b85cd3 Improve iridas_cube parsing speed (#1630)
* Improve iridas_cube parsing speed

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix Windows build

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Allow comments in entries section

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2022-05-16 19:53:36 -04:00
Doug WalkerandPatrick Hodoul b00877959f Adsk Contrib - Fix half-domain Lut1D issue for values above HALF_MAX (#1614)
* Fix half-domain Lut1D issue for values above HALF_MAX

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

* Address review comments

Signed-off-by: Doug Walker <doug.walker@autodesk.com>

Co-authored-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-04-05 14:28:13 -04:00
Doug WalkerandPatrick Hodoul a92993f339 Add preliminary support for ACES Metadata Files (#1604)
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

Co-authored-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-04-05 13:31:40 -04:00
Rémi AchardandPatrick Hodoul 2269ebef02 Add support for Display/View to Baker (#1598)
* Add support for Display/View to Baker

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add Baker display / view to python bindings

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Use in/out parameters for shaper range

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Use relative float checks for CTF

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Support look when baking display / view

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Improve documentation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Address PR feedback

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-04-05 11:06:43 -04:00
Rémi Achard 4fa94918c2 Minor build and CI fixes (#1599)
* Build and CI fix

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Make OpenColorIO_SKIP_IMPORTS public

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Avoid exporting header only libs in static builds

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix cpu unit test linkage

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Explain the look syntax fallback

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix typos

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Improve OFX building documentation

Signed-off-by: Rémi Achard <remiachard@gmail.com>
2022-03-24 14:33:32 -04:00
Rémi AchardandDoug Walker 415c583709 Add python source distribution package (#1605)
* Add python source distribution package

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix typo

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Doug Walker <doug.walker@autodesk.com>
2022-03-18 23:56:28 -04:00
Michael DolanandPatrick Hodoul 87f60b6144 Update TSC Chair (#1596)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-03-14 12:22:19 -04:00
itsmattkc 73508eb523 CMake: Fix issue that led to Unicode support still defaulting to off (#1594)
Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2022-02-10 14:07:59 -05:00
Patrick Hodoul 1d26d58c31 Adsk Contrib - Improve the library install step (#1578)
* Adsk Contrib - Improve the library install step

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Docs compilation on *mix plateforms only

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the third-party library install

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-01-24 17:08:05 -05:00
Patrick Hodoul 48bab7c643 Adsk Contrib - Remove 'expat' symbols (#1582)
* Adsk Contrib - Remove 'yaml' symbols

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the symbol control

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-01-24 13:24:29 -05:00
Rémi AchardandPatrick Hodoul d5bf1e1b45 Python copy support (#1575)
* Add deepcopy support for object with createEditableCopy method

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Minor fixes

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Removing python shallow copy method

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update comment and formating

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Testing COnfig FileRules deepCopy

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add comment for ConfigTest

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-01-13 08:51:31 -05:00
Patrick Hodoul 3afeb921f8 Adsk Contrib - Better manage the OIIO dependency (#1572)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-01-12 10:27:41 -05:00
Patrick Hodoul 65d0f2f1d9 Adsk Contrib - Improve the GPU unit test framework (#1562)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-01-12 09:23:23 -05:00
Patrick Hodoul a46ba26bd6 Adsk Contrib - Improve the OSL integration (#1561)
* Adsk Contrib - Improve the OSL integration

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a typo

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2022-01-11 09:56:03 -05:00
Rémi AchardandPatrick Hodoul 1d8a28c2e2 Fix support for ARM64 macOS python wheels (#1574)
* Fix support for ARM64 macOS python wheels

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Use $<SEMICOLON> generator expression to escape semicolon

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2022-01-11 07:42:59 -05:00
amyspark 7396756d7d Propagate Android CMake configuration to external projects (#1579)
Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>
2022-01-10 18:13:06 -05:00
Brendan BollesandPatrick Hodoul 4bdbf65c95 After Effects plug-in updates (#1564)
* Handle any family separator

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Trim superfluous UI branches

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Remove internal Platform use

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update buildProgram() call

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Xcode 9 projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Fix lcms version in Xcode 9

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Xcode 12 projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Include <cctype> for std::isdigit() on Windows

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Visual Studio projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Bump version to 2.2.0

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Get rid of duplicate #include <cctype>

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Add ARM64 architecture

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2021-12-16 09:16:22 -05:00
doug-walker 0376c02d02 Update CLF test image from CLF working group (#1563)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>
2021-12-16 08:17:32 -05:00
00b5362442 Adds Metal Support to ociodisplay and enables running GPU tests with Metal backend (#1538)
* * Adds Metal Shading Language (MSL) Generation support

Signed-off-by: Morteza Mostajabodaveh <smostajabodaveh@apple.com>

Co-authored-by: Ingthor Hjalmarsson <ihjalmarsson@apple.com>
Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Fixes warnings triggered due to unused variables.

Signed-off-by: Morteza Mostajabodaveh <smostajabodaveh@apple.com>
Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Fixes compilation error on Mac and Windows:
- vector of const objects causing compiler errors on windows.
- Wrong string was used for Metal language python binding.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Removes class wrapping interface from OpenColorIO interface and move it to implementation
* Adding more tests for metal code path
* Proper generated Metal code indentation
* Fixes a few coding style inconsistencies and unneeded include files

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Remove the unneeded empty line to reset OpenColorIO.h to what it was before the metal change.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * switching from c-like getFunctionParameters function to c++-like one since it is not in the opencolorio interface anymore.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Missing include causing compiler errors on windows

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Fixes and improvements follow up to change that was trying to move metal related code in implementation, and hide them from OCIO interface.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* - remove unused variables.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Adds support for uniform parameters and proper handling of them in metal code.
* Adds two new tests for uniforms and helper functions.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * making declaration parsing more C++-like. Functions like sscanf are problematic when it comes to multiple platform support and may not be safe

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Switching from clf/lut1d_half_domain_raw_half_set.clf  to clf/lut1d_long.clf. Due to decimal number outputting difference between different platforms, some tests were failing.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Moving Metal only functionalities to MetalClassWrappingInterface
* remove unnecessary functions and data types
* code clean up and quality improvement

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Adds support for uniforms that are array
* Removing getTextureKeyword() and getTextureDeclaration() as they are not needed.
* code clean up and quality improvement

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Remove unnecessary changes to GpuShaderUtils_tests.cpp

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Removed unnecessary included files

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Removing unnecessary include

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Apply style improvement suggestions

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * changed from msl_metal to msl_2 so it matches with `GpuLanguageFromString` function.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Move MetalShaderClassWrappingInterface to a separate file and generalise it

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* header files inlcudes clean up

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Still the else path is needed in case we set language from MSL2 to something else.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* [minor] Showing the GpuShaderClassWrapper.h also in the vc15 aftereffect project.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Run ClassWrapper function for all backends. It only produces code in metal shading language code generation case.
operator= for GpuShaderClassWrapper

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* use factory pattern instead of updateClassWrappingInterface

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Replace assignment operator with clone function that is more explicit.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* use Assignment operator instead of setting members in clone member function

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* add include guards.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* make output of MetalShaderClassWrapper::operator= non-const

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Update default branch name (#1532)

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Adsk Contrib - Default to C++14 and remove OIIO from ocioperf (#1516)

* Adsk Contrib - Default to C++14 and remove OIIO from ocioperf

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix cmake breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix bit-depths

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Linux build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the image generation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the image generation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Add metal rendering support to ociodisplay

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Adds support for metal only input texture

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Returning correct value for maximum texture width

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Add GPU rendering tests for metal renderer
Fixes incorrect shader generation code for arrays in uniform buffer
Adds support for vector comparison in Metal

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Fixes failing test_cpu_exec test
Fixes compilation error on Linux, older clang compiler
Makes the app working on x64 Macs

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Add support for test that apply color correction multiple times with different setups
replaces asserts with exception
Disables fast math to get more accurate results

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Matching the uniform buffer size elements for array of ints and float to fix two gpu tests

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* enables -gpuinfo to print shader

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Revert "Matching the uniform buffer size elements for array of ints and float to fix two gpu tests"

This reverts commit c1695e20b336c54c618a541cc47311a61399457b.

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Enables uniform data binding for metal without touching OCIO interface

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* set dummy buffers for the vectors that are empty.

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Update metal test to reflect latest changes in metal shader generator

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Improving coding style
Adds metal gpu unit tests to the one executing

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Updating the test so it reflects latest code changes.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* sets the opengl state even when no valid ocio config is loaded.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Handles metal resources lifecycles correctly. Fixes the crash on transform change.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Applying improvements to code and minor fixes

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Disable testing NaN and Infinity on Apple Silicon that causes test failures and precision errors

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* make the condition for disabling NaN and INFs more accurate.

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

* Improving code quality
Fixing possible texture mem leaks

Signed-off-by: Morteza Mostajab <smostajabodaveh@apple.com>

Co-authored-by: Ingthor Hjalmarsson <ihjalmarsson@apple.com>
Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2021-12-13 17:18:21 -05:00
Rémi AchardandPatrick Hodoul 3c1262cf34 Fixes C++20 compilation errors and warnings (#1542)
* Remove unneeded explicit default causing warnings

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add Python 3.10 to the list of supported version

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Allow usage of C++20 while still reporting a warning

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix equality operator for OpData hierarchy under C++20 reversed candidates rule

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix comment encoding

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Account for C++20 utf-8 character types

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix warning on MD5 alignment check

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add festure macro header

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2021-12-13 13:42:45 -05:00
doug-walkerandPatrick Hodoul 0411f4101e Adsk Contrib - Fix RGB spline curve inversion when the slope is zero (#1539)
* Fix RGBCurve inverse when slope=0

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add GPU fix and test

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Tweak var name

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-12-09 16:10:54 -05:00
amysparkandPatrick Hodoul b2f927bcff Implement locale-agnostic number parsing (#1496)
This commit adds support for parsing numbers without being influenced by
the current system locale. We implement a from_chars
shim that forwards the call to strto*_l along with a statically
initialized locale constant.

Fixes AcademySoftwareFoundation#297
Fixes AcademySoftwareFoundation#379
Fixes AcademySoftwareFoundation#1322

Co-Authored-By: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>
2021-12-08 09:22:04 -05:00
Rémi AchardandPatrick Hodoul 0b88134730 Update analysis workflow (#1515)
* Disable Wheel build on OCIO forks

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Bump yaml-cpp minimum version to 0.7.0

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Bump expat minimum version to 2.4.1

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* ExternalProject build on Windows were always debug

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Expand analysis workflow and allow for ExternalProject latest

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add missing ci script

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Handle OCIO_INSTALL_EXT_PACKAGES set to NONE

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Enable mac OS Python 3.10 wheels

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove latest version override for non-ASWF dependencies

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Install OSL latest in analysis CI

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add pugixml install script, build in release mode

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix test dependency install on Windows CI

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Adjust ext versions

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update analysis workflow trigger condition

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-12-06 13:52:03 -05:00
Patrick Hodoul 03ef2107fc Adsk Contrib - Fix some weaknesses in the search path validation (#1535)
* Adsk Contrib - Fix some weaknesses in the search path validation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix the Windows path in the unit test validations

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix the Windows path in the unit test validations, part II

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-12-01 15:05:32 -05:00
Patrick Hodoul 5dc9c51049 Adsk Contrib - Default to C++14 and remove OIIO from ocioperf (#1516)
* Adsk Contrib - Default to C++14 and remove OIIO from ocioperf

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix cmake breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix bit-depths

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Linux build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the image generation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the image generation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-11-23 15:40:25 -05:00
Michael DolanandPatrick Hodoul 64dccadba1 Update default branch name (#1532)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-11-08 09:57:36 -05:00
ce85939bb0 Fix add_test calls and change temporary file creation. (#1522)
* * Fix add_test in cmake files. This notation allows it to understand that the command portion is a target and to translate it to the proper executable.
* Remove starting backslash if present from temporary filename. A starting backslash mean that it is safe to create it in the current working directory.
* Implement a public TempFile class.
* Change relevant tests to use TempFile class.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* * Revert back changes for TempFile class.
* Add comment on temporary file functions fix.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* Add FIXME comments.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* Add -C flag to ctest commands.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* Add `-C Release` to ctest commands in `analysis_workflow.yml`.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2021-11-04 12:58:38 -04:00
b2e88b195c Adds Metal Shading Language (MSL) Generation support (#1520)
* * Adds Metal Shading Language (MSL) Generation support

Signed-off-by: Morteza Mostajabodaveh <smostajabodaveh@apple.com>

Co-authored-by: Ingthor Hjalmarsson <ihjalmarsson@apple.com>
Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Fixes warnings triggered due to unused variables.

Signed-off-by: Morteza Mostajabodaveh <smostajabodaveh@apple.com>
Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Fixes compilation error on Mac and Windows:
- vector of const objects causing compiler errors on windows.
- Wrong string was used for Metal language python binding.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Removes class wrapping interface from OpenColorIO interface and move it to implementation
* Adding more tests for metal code path
* Proper generated Metal code indentation
* Fixes a few coding style inconsistencies and unneeded include files

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Remove the unneeded empty line to reset OpenColorIO.h to what it was before the metal change.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * switching from c-like getFunctionParameters function to c++-like one since it is not in the opencolorio interface anymore.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Missing include causing compiler errors on windows

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Fixes and improvements follow up to change that was trying to move metal related code in implementation, and hide them from OCIO interface.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* - remove unused variables.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Adds support for uniform parameters and proper handling of them in metal code.
* Adds two new tests for uniforms and helper functions.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * making declaration parsing more C++-like. Functions like sscanf are problematic when it comes to multiple platform support and may not be safe

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Switching from clf/lut1d_half_domain_raw_half_set.clf  to clf/lut1d_long.clf. Due to decimal number outputting difference between different platforms, some tests were failing.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Moving Metal only functionalities to MetalClassWrappingInterface
* remove unnecessary functions and data types
* code clean up and quality improvement

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Adds support for uniforms that are array
* Removing getTextureKeyword() and getTextureDeclaration() as they are not needed.
* code clean up and quality improvement

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Remove unnecessary changes to GpuShaderUtils_tests.cpp

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Removed unnecessary included files

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Removing unnecessary include

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * Apply style improvement suggestions

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* * changed from msl_metal to msl_2 so it matches with `GpuLanguageFromString` function.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Move MetalShaderClassWrappingInterface to a separate file and generalise it

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* header files inlcudes clean up

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Still the else path is needed in case we set language from MSL2 to something else.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* [minor] Showing the GpuShaderClassWrapper.h also in the vc15 aftereffect project.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Run ClassWrapper function for all backends. It only produces code in metal shading language code generation case.
operator= for GpuShaderClassWrapper

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* use factory pattern instead of updateClassWrappingInterface

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* Replace assignment operator with clone function that is more explicit.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* use Assignment operator instead of setting members in clone member function

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* add include guards.

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

* make output of MetalShaderClassWrapper::operator= non-const

Signed-off-by: Morteza Mostajab <smostajabodaveh@Apple.com>

Co-authored-by: Ingthor Hjalmarsson <ihjalmarsson@apple.com>
Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-11-02 09:38:42 -04:00
Patrick Hodoul ae1940b700 Adsk Contrib - Fix the CDL write for CLF file format (#1526)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-11-01 09:07:52 -04:00
Mei ChuandPatrick Hodoul f0c1ea2491 ConfigTest - Virtual display python unit test (#1481)
* -ConfigTest: Python unit test updated with additional virtual display tests.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* -ConfigTest: Addressed feedbacks.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* -ConfigTest: Addressing feedbacks on typos.
Signed-off-by: Mei Chu <meimchu@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-10-31 17:51:38 -04:00
itsmattkc d074757a90 Fixes Unicode paths on Windows (#1363)
* Fixes Unicode paths on Windows

Unlike most other platforms, Windows' Unicode is standardized around
UTF-16, an encoding not compatible with "char *" arrays common in
C/C++. As such, to support Unicode correctly when using Win32 APIs,
strings must be converted to and from UTF-16 and the Unicode
versions of the APIs must be used over the ANSI versions.

This commit introduces the following:

- Utility funcions for converting between UTF-8 and UTF-16LE on all
  platforms:
  - Platform::Utf8ToUtf16
  - Platform::Utf16ToUtf8

- Adds test for these conversion functions to ensure the conversion
  to and from UTF-8 and UTF-16LE is correct.

- Utility wrappers for "std::ifstream" that automatically convert
  to and from UTF-16 so that filenames requiring Unicode encoding
  function correctly:
  - Platform::CreateInputFileStream
  - Platform::OpenInputFileStream

- Moves the file default compute hash function to the Platform
  class (Platform::CreateFileContentHash) and switches to the
  Win32 UTF-16 variant on Windows.

- Adds the "UNICODE" macro before including "Windows.h" which
  ensures all functions called are the Unicode variants instead of
  the default ANSI variants.
  - Implicitly changes functions such as GetEnvironmentVariable and
    SetEnvironmentVariable to their Unicode variants.

- Changes the following environment variable related functions to
  their Win32 Unicode variants on Windows:
  - environ -> _wenviron
  - _putenv_s -> _wputenv_s

- Updates tests using SetEnvironmentVariable to use wide string
  literals since that function has been switched to the Unicode
  variant.

Signed-off-by: itsmattkc <itsmattkc@gmail.com>

* Moved UNICODE and _UNICODE definitions to CMake

Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>

* handle empty strings and use const references

Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>

* only use wenviron when unicode is enabled

Signed-off-by: itsmattkc <itsmattkc@gmail.com>

* add ANSI Win32 version of Getenv

Signed-off-by: itsmattkc <itsmattkc@gmail.com>

* Add CMake option for compiling with Win32 Unicode support

Signed-off-by: itsmattkc <itsmattkc@gmail.com>

* Throw exception if UTF functions are called on non-Windows platforms

Signed-off-by: itsmattkc <itsmattkc@gmail.com>

* Throw OCIO Exception

Signed-off-by: itsmattkc <itsmattkc@gmail.com>

* Don't run UTF-8/16 conversion test on non-Windows

Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>

* Fix CMake error

Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>

* minor CMake adjustment

Signed-off-by: itsmattkc <itsmattkc@gmail.com>

* Clarified CMake option for Win32 unicode

Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>

* minor improvements

Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>

* fix macro in cpu test cmake

Signed-off-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2021-10-29 16:55:49 -04:00
Patrick Hodoul 56ef7f50ee Adsk Contrib - Improve the OSL unit test framework (#1514)
* Adsk Contrib - Improve the OSL unit test framework

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a Linux build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a 'git rebase' break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Some improvements

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Workaround to sucesfully link with OSL

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Found the right fix

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add more tests for Grading ops

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve OSL library find

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix with OpenImageIO version requires C++14

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Another OSL cmake improvement

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-10-26 16:52:44 -04:00
Guillaume Papin e3dfb286ea CMake: remove duplicate find_package(pybind11 ...) (#1521)
This duplicate seems to come from the PR #1371.
This PR spanned April 15 - August 24 (2021).

Meanwhile, PR #1410 (June 13 - June 21),
changed the CMake logic around `find_package(pybind11 ...)`.

It looks like former PR mishandled the merge of the latter.

Signed-off-by: Guillaume Papin <guillaume.papin@epitech.eu>
2021-10-26 14:07:33 -04:00
4a6745ac0c Add Python GPU renderer implementation example (#1493)
* Add Python GPU renderer implementation example

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Move to apps with README

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
2021-10-18 11:11:24 -04:00
Henry Schreiner 59316cf3db chore: update to new cibuildwheel location (#1513)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2021-10-14 16:36:54 -04:00
Bo ZhouandPatrick Hodoul ac8290d232 Write converted image with output colorspace (#1420) (#1500)
* Write converted image with output colorspace (#1420)

Signed-off-by: Bo Zhou <Bo.Schwarzstein@gmail.com>

* Check if outputcolorspace is null and set it as oiio:ColorSpace (#1460)

Signed-off-by: Bo Zhou <Bo.Schwarzstein@gmail.com>

* Call getDisplayViewColorSpaceName to get output colorspace for view mode. #1420

Signed-off-by: Bo Zhou <Bo.Schwarzstein@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-10-06 08:23:47 -04:00
Rémi AchardandPatrick Hodoul 18a9392fd8 Remove Python wheel workflow running on every pull request (#1503)
Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-10-05 13:47:10 -04:00
Rémi AchardandPatrick Hodoul 93c3689c58 Fix install paths regressions (#1502)
* Fix install directory variable for python bindings

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove hardcoded lib prefix in RPATH handling

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-10-04 14:28:19 -04:00
Patrick Hodoul 25f0a2022d Adsk Contrib - Fix the analysis workflow (#1492)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-09-30 16:50:44 -04:00
Patrick Hodoul a69c24807c Adsk contrib - Various improvements (#1489)
* Adsk Contrib - Small oiiohelper improvement

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to fix some memory issues report by valgrind

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve ctest support and add another check for OpenImageIO

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build failure

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix binary names on Windows

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve code around FixedFunction Ops

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve ctest support

Signed-off-by: hodoulp <Patrick.Hodoul@autodesk.com>

* Fix cmake

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-09-30 14:48:39 -04:00
amyspark 83fd8335d9 Add support for OpenGL ES as a shading language (#1497)
* Add support for OpenGL ES as a shading language

This commit adds two new entries to `GpuLanguage`,
`GPU_LANGUAGE_GLSL_ES_1_0` and `GPU_LANGUAGE_GLSL_ES_3_0`.

The only meaningful differences w.r.t. stock OpenGL are:

- the 1D texture optimization isn't applied to ES, as they are not
  supported at all;

- the texture<N>D() calls are replaced in GLSL ES 3 by a call to
  texture().

Fixes #1486

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>

* GLSL ES: remove ABI break

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>

* OpenGLBuilder: use switch to check GLSL version

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>
2021-09-27 13:31:26 -04:00
amysparkandPatrick Hodoul c912f0173f Add support for MinGW (#1485)
In these cases the build system doesn't add a suffix to yaml-cpp.

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-09-21 16:13:12 -04:00
amysparkandPatrick Hodoul 521d4eedb3 FindExpat: allow usage of expat 2.2.9 (#1483)
- alias expat::expat to expat::libexpat if the former is missing
- patch INTERFACE_INCLUDE_DIRECTORIES if the property is missing

Fixes #1482.

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-09-21 10:21:45 -04:00
Michael DolanandPatrick Hodoul 7578fee749 Add Rémi Achard to GOVERNANCE.md & COMMITTERS.md (#1498)
* Add Rémi Achard to GOVERNANCE.md

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add Rémi Achard to COMMITTERS.md

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-09-21 08:15:16 -04:00
Patrick Hodoul 9bc971179b Adsk Contrib - Remove the useless cmake target on oiiotool (#1477)
* Adsk Contrib - REmove the useless cmake target on oiiotool

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the OIIO Util library support

Signed-off-by: hodoulp <Patrick.Hodoul@autodesk.com>
2021-09-16 08:45:16 -04:00
Patrick Hodoul 7d704f6f0b Checnge master branch to the verison '2.2.0dev' (#1475)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-09-15 15:46:32 -04:00
Rémi AchardandPatrick Hodoul 641abe535f Remove OpenColorIOHeaders target and hardcoded install paths (#1471)
* Remove OpenColorIOHeaders target

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Avoid hardcoding install paths

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update remaining hardcoded install paths

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Replace LIB_SUFFIX by CMAKE_INSTALL_LIBDIR

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-09-09 14:47:20 -04:00
Patrick Hodoul 959b3f79f5 Adsk Contrib - Better manage Imath dependency (#1478)
* Adsk Contrib - Better manage Imath dependency

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add the OpenImageIO_Util dependency to OSL unit test framework

Signed-off-by: hodoulp <Patrick.Hodoul@autodesk.com>

* Fix oiio typo

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-09-08 07:56:34 -04:00
Patrick Hodoul ffddc3341f Adsk Contrib - Change the library version (#1474)
* Adsk Contrib - Change the library version

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Update the CHANGELOG file

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-08-31 06:54:04 -04:00
Patrick Hodoul 9bad176fb1 Adsk Contrib - Update the CTF & config version support (#1472)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-08-30 19:35:56 -04:00
Patrick Hodoul c84e164e0c Adsk Contrib - Add preliminary OSL support (#1462)
* Adsk Contrib - Add preliminary OSL support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the code following the PR comments

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the OSL unit test framework

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve OSL detection & unit test coverage

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-08-30 18:22:03 -04:00
Patrick Hodoul cd73226770 Adsk Contrib - Fix template double instantiation (#1469)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-08-27 07:26:26 -04:00
Patrick Hodoul e2bf4fd709 Adsk Contrib - Fix the processor creation using a DisplayViewTransform with a no-op look (#1460)
* Adsk Contrib - Fix the processor creation using a DisplayViewTransform with a no-op look

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Remove a wrong comment

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-08-25 21:09:57 -04:00
Rémi AchardandPatrick Hodoul 72f5c082f8 Add Python wheel generation (#1401)
* Initial Python wheel build workflow

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add unit test suite to PyOpenColorIO package

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Misc improvements

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove test files duplication, ship full set

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Prepare GH script for release

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix rebase master

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add support for Apple Silicon

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update release version number from Readme

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Dynamic version number for python package

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-08-25 14:35:57 -04:00
Michael Dolan 7f7418763b Add virtual display python bindings (#1464)
* Add virtual display python bindings

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add virtual display test, missing methods

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2021-08-24 20:18:56 -04:00
Michael DolanandPatrick Hodoul dd52688a5a Add OpenFX OCIO plugin framework and examples (#1371)
* Add OpenFX OCIO plugin framework and example

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update OpenFX Support Library to support C++11-17

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add missing override qualifier

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add OCIODisplay and update OCIOColorSpace UX

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix warnings, add overridde specifiers

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix C/C++ conflict

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Rename default to default_value

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Disable unused-parameter warning

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add context variable override parameters

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update param tooltips

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add color space swap button, revert context impl

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add context variable persistence

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Make context store param secret

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix sign compare warning

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Implement PR feedback

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add missing color space, display, and view support

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add notes and missing break

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add OpenFX license to THIRD-PARTY.md

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix OCIOProcessor initialization

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-08-24 07:29:24 -04:00
Michael DolanandPatrick Hodoul ea4300aeb9 Add Imath 3 support for Half dependency (#1432)
* Add Imath 3 Half support

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update CI jobs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Test analysis workflow

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update analysis_workflow.yml

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Make install_imath.sh executable

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Get latest from release branch

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Latest OIIO requires C++14

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revert CI test changes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Bump to Imath 3.0.5, use IlmBase for GPU CI

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Document Imath and IlmBase half options

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Use half-float conversion algorithm

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Refactor half include

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Bump Imath version to 3.1.2

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Force integer for Half.h macro

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-08-23 23:10:15 -04:00
Patrick Hodoul 5ee3aa0b89 Adsk Contrib - Fix static library name on Windows (#1450)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-08-21 23:37:54 -04:00
autoantwortandPatrick Hodoul 3c2c8ba335 FindPystring: Also find a static pystring lib (#1449)
Signed-off-by: Leander Schulten <Leander.Schulten@rwth-aachen.de>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-08-18 09:22:02 -04:00
Patrick Hodoul 478f0bb9f3 Adsk Contrib - Fix a bit depth optimization bug (#1446)
* Adsk Contrib - Fix a bit-depth optimization bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add some explanations

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-08-17 14:27:33 -04:00
Brecht Van Lommel 48d3438906 Fix errors in mutex debugging (#1235) (#1407)
* Store the lock owner thread rather than `m_locked`, so that multiple threads
  accessing the same mutex do not give false positives, but recursive locks on
  the same thread are still caught.

* Match the std::mutex API: return bool from `try_lock()` and remove `locked()`.
  No code is using this, but any new code that did would only build in either
  release or debug configuration.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
2021-08-09 14:11:43 -04:00
Derek 6fbf1e710e Bugfix/docs installation (#1438)
* 'Existing Install Hints' fix

Errors in some CMake variable names resulting in:
- being ignored: 'DExpat_...' instead of 'Dexpat_...'
- error: 'pybind11_ROOT' instead of 'Dpybind11_ROOT'

Signed-off-by: Derek Severin <severinderek@gmail.com>

* 'PYTHON_PATH' instead of 'PYTHONPATH'

Use of wrong variable 'PYTHONPATH' instead of 'PYTHON_PATH'.
'PYTHONPATH' might not be defined and can contain more than a single path, resulting in invalid values for the 3 variables 'DPython_LIBRARY', 'DPython_INCLUDE_DIR', 'DPython_EXECUTABLE' provided to cmake.

Signed-off-by: Derek Severin <severinderek@gmail.com>
2021-08-04 17:31:08 -04:00
doug-walkerandPatrick Hodoul 788907f8d7 Update CLF test files, add CLF python scripts (#1436)
* Update CLF test files, add CLF python scripts

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Fix issue with large Lut1D neg values

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add two more parse tests

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Fix non-SSE test tolerance

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-08-03 09:16:05 -04:00
Rémi AchardandPatrick Hodoul 8cc6a8ffae Protect against empty look result color space (#1437)
Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-08-02 09:31:33 -04:00
ceec84d5c1 Test CMake Config script (#1421)
* Require C++11 compiler for consumer projects

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Test CMake config export consuming

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix CMake build type

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Explicitly silence MSVC warning 4275

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2021-07-25 23:20:54 -04:00
993cd46788 Allow choice of specific python release (#1410) (#1424)
* Allow choice of specific python release

If you're building on a system with multiple versions of Python available,
it can be very hard to make OCIO build against a specific version. In
particular, https://cmake.org/cmake/help/latest/module/FindPython.html
explains that FindPython looks preferably for version 3 of Python.

Signed-off-by: Larry Gritz <lg@larrygritz.com>

* Amendments based on review comments:

* Rename OCIO_PREFERRED_PYTHON_VERSION -> OCIO_PYTHON_VERSION.
* Move the cached variable to the top level CMakeLists.txt instead of in
  FindExtPackages.cmake.
* Warning if OCIO_PYTHON_VERSION is set but OCIO_BUILD_PYTHON is off.

Signed-off-by: Larry Gritz <lg@larrygritz.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

Co-authored-by: Larry Gritz <lg@larrygritz.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-07-12 16:51:51 -04:00
Rémi AchardandPatrick Hodoul 8bf3773f9e Add Gamut Compress implementation (#1404)
* Initial Gamut Compress implementation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add NaN checks back and refactor GPU shader

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Precompute y intersect for CPU Op

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Refactor parameter bound check

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix ocioperf GPU shader creation issue

Raising "Dynamic property already here" exception

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Code cleanup, address reviews

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Rename BuiltIn and FixedFunction transforms

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Refactor CPU renderer

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Improve tests

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add link to testing dataset generation code

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove wrong comment

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove 1 / power precompute and use std::powf

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Adjust comment and formating

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Refactor GPU op

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix std::pow usage

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add clamp to limit parameter and remove code duplication in GPU Op

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Extend parameters limits and move clamp to validate

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-07-12 15:29:38 -04:00
Patrick Hodoulanddoug-walker c835f31924 Adsk Contrib - Enhance default view access (#1422)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-07-06 01:04:10 -04:00
Patrick Hodoul e63ce1ccd4 Adsk Contrib - Fix a bug with the Vc++ compilation flags. (#1419)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-07-06 00:06:13 -04:00
Patrick Hodoul 02a687110f Adsk Contrib - Fix FixedFunctionTransform::CreateEditableCopy() (#1418)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-07-05 23:25:45 -04:00
76ddf44fb2 Adsk Contrib - Improve File Rules support for v1 configs (#1417)
* Adsk Contrib - Improve file rules for v1 configs

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Adsk Contrib - Emergency GPU build fix (#1391)

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Adsk Contrib - Fix some bugs found by Maya and SonarCloud (#1403)

* Adsk Contrib - Fix some bugs found by Maya and SonarCloud

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a Windows warning

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* After Effects and Photoshop plug-in updates (#1373)

* Set Mac OS deployment target to 10.10

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* More 10.10 targets

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Ditch ADD_EXTRA_BUILTINS

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Getting strange callback when AE effect is pasted

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Use NDEBUG in AE project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Disable radio buttons with no config

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update version

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Move to AE 2021 SDK, set PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Define OCIO_DEPRECATED in After Effects builds

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Verify change from color space menu

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Handle situation where color space has a '/' in it

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Windows family separator fix

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Invert everything

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Invert everything Windows

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Disable more controls

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Incorporate invert into LUT export

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Get rid of fullPaths stuff

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Fix changed config settings retention

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add OpenColorIOConfig.cmake generation (#1397)

* Initial OpenColorIO Config CMake implementation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove macro, improve documentation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CMake visibility flags (#1411)

* Update install doc minimal version numbers

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Use CMake visibility presets variables

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix python package case

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Allow advanced user to override symbol visibility

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Update include/OpenColorIO/OpenColorIO.h

Co-authored-by: Michael Dolan <michdolan@gmail.com>
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Update src/OpenColorIO/FileRules.cpp

Co-authored-by: Michael Dolan <michdolan@gmail.com>
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Hide dependency symbol visibility (#1409) (#1416)

When creating libOpenColorIO.so, we lacked the linker commands that
hide symbol visibility from the dependent libraries, which is
necessary to prevent OCIO from exporting the symbols from Expat and
the other dependencies that OCIO needs to use internally but is not
trying intentionally to expose via its API.

Failing to do this can result in symbol clashes and all sorts of
subtle errors if OCIO is used in an app that also uses and is linked
against a potentially different version of Expat (or any of the other
deps).

Signed-off-by: Larry Gritz <lg@larrygritz.com>

Co-authored-by: Larry Gritz <lg@larrygritz.com>
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Adsk Contrib - Improve DX11 & Cg fragment shader language support (#1406)

* Adsk Contrib - Improve DX11 support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve Cg support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve GPU comments

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix unit test failures

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: Brendan Bolles <brendan@fnordware.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Larry Gritz <lg@larrygritz.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-07-05 20:58:34 -04:00
Patrick Hodoul a36a5bea82 Adsk Contrib - Various code & doc cleanups (#1414)
* Adsk Contrib - Various code & doc cleanups

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix more Python examples

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-07-05 19:59:01 -04:00
Patrick Hodoul 856f604f2d Adsk Contrib - Improve DX11 & Cg fragment shader language support (#1406)
* Adsk Contrib - Improve DX11 support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve Cg support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve GPU comments

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-06-28 10:04:06 -04:00
Patrick HodoulandLarry Gritz 5445d37bf9 Hide dependency symbol visibility (#1409) (#1416)
When creating libOpenColorIO.so, we lacked the linker commands that
hide symbol visibility from the dependent libraries, which is
necessary to prevent OCIO from exporting the symbols from Expat and
the other dependencies that OCIO needs to use internally but is not
trying intentionally to expose via its API.

Failing to do this can result in symbol clashes and all sorts of
subtle errors if OCIO is used in an app that also uses and is linked
against a potentially different version of Expat (or any of the other
deps).

Signed-off-by: Larry Gritz <lg@larrygritz.com>

Co-authored-by: Larry Gritz <lg@larrygritz.com>
2021-06-27 18:15:05 -04:00
Rémi AchardandPatrick Hodoul 85a22e2732 Use CMake visibility flags (#1411)
* Update install doc minimal version numbers

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Use CMake visibility presets variables

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix python package case

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Allow advanced user to override symbol visibility

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-06-15 08:23:59 -04:00
Rémi AchardandPatrick Hodoul ce70bbd730 Add OpenColorIOConfig.cmake generation (#1397)
* Initial OpenColorIO Config CMake implementation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove macro, improve documentation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-06-15 00:19:53 -04:00
Brendan BollesandPatrick Hodoul 2e1a57780a After Effects and Photoshop plug-in updates (#1373)
* Set Mac OS deployment target to 10.10

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* More 10.10 targets

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Ditch ADD_EXTRA_BUILTINS

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Getting strange callback when AE effect is pasted

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Use NDEBUG in AE project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Disable radio buttons with no config

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update version

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Move to AE 2021 SDK, set PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Define OCIO_DEPRECATED in After Effects builds

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Verify change from color space menu

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Handle situation where color space has a '/' in it

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Windows family separator fix

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Invert everything

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Invert everything Windows

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Disable more controls

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Incorporate invert into LUT export

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Get rid of fullPaths stuff

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Fix changed config settings retention

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-06-02 11:21:10 -04:00
Patrick Hodoul 3abbe5b205 Adsk Contrib - Fix some bugs found by Maya and SonarCloud (#1403)
* Adsk Contrib - Fix some bugs found by Maya and SonarCloud

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a Windows warning

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-05-28 11:06:45 -04:00
Patrick Hodoul dd59baf555 Adsk Contrib - Emergency GPU build fix (#1391)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-05-11 14:04:52 -04:00
Patrick Hodoul 40effe20e9 Adsk Contrib - Improve the context variable validation (#1387)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-05-03 15:24:17 -04:00
Patrick Hodoul 8ba05b3989 Adsk Contrib - Add 'deprecated' C++ mechanism & cleanup code (#1372)
* Adsk Contrib - Flag deprecated methods

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Adjust the documentation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-05-01 08:07:31 -04:00
Patrick Hodoul dd03ea037c Adsk Contrib - Fix CDL issue (#1370)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-27 08:09:09 -04:00
Patrick Hodoul 9b3ac193d5 Adsk Contrib - More code cleanup (#1365)
* Adsk Contrib - More code cleanup

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix build breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-22 07:10:30 -04:00
df1bf14060 [README.md] Fix link (#1355)
Signed-off-by: Samuel Marks <807580+SamuelMarks@users.noreply.github.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2021-04-14 20:40:35 -04:00
kanakgautamandPatrick Hodoul e84d9a9d1f Fix: broken doc links (#1326)
* Fix: broken doc links

Signed-off-by: kanak gautam <kanakgautam5@gmail.com>

* replace export -> include

Signed-off-by: kanak gautam <kanakgautam5@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-04-14 17:01:14 -04:00
Patrick Hodoul 996aa1aae1 Adsk Contrib - Fix the legacy GPU path (#1352)
* Adsk Contrib - Fix the legacy GPU path

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Re-enable legacy GPUShaderDesc

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Documentation generation failure

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the deprecated comment

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add version removal

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-09 11:06:55 -04:00
Patrick Hodoul c1e8e26f3c Adsk Contrib - Chnage the version of the master branch (#1354)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-09 10:10:23 -04:00
Patrick Hodoul 1f622e9986 Adsk Contrib - Add negative stride support for CPU processing (#1353)
* Adsk Contrib - Add negative x & y stride support for CPU processing

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build warnings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build warnings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-09 08:26:28 -04:00
Patrick Hodoulanddoug-walker 2d4701e5ab Adsk Contrib - Improve the C++ version detection (#1351)
* Adsk Contrib - Set C++17 as the default C++ version

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Follow the TSC recommendation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Minor improvement

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Isolate the C++ version detection from warnings related to custom CXX flags

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* MacOs - Fix sanitization errors i.e. '-fsanitize=address'

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-04-08 23:20:30 -04:00
Patrick Hodoul 87d3109de9 Adsk Contrib - Fix 'setup_ocio' script support (#1350)
* Adsk Contrib - Fix 'setup_ocio' script support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* As agreed, remove the Nuke env. variables

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-06 13:02:02 -04:00
Patrick Hodoul 4e27f9672a Adsk Contrib - Propagate the MacOs min. version (#1340)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-03-31 16:26:37 -04:00
Patrick Hodoul 3bf78a6acd Adsk Contrib - Fix env. variable name (#1339)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-03-30 14:51:53 -04:00
Patrick Hodoul 743a7977db Adsk Contrib - Add the RPATH support (#1338)
* Adsk Contrib - Add the RPATH support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix the rpath for the Python Binding dynamic library

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a typo for the Linux rpath

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-03-30 10:36:03 -04:00
Patrick Hodoul 8a21b63b29 Adsk Contrib - Fix some issues reported by SonarCloud (#1337)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-03-30 08:37:10 -04:00
Patrick Hodoul 7208399ad1 Adsk Contrib - Misc. improvements (#1336)
* Adsk Contrib - Misc fixes

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Few improvements

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-03-29 18:10:04 -04:00
zachlewisandPatrick Hodoul d9a2a5fa80 Convert public headers to doxygen style (#1315)
* // WIP convert header docs to doxygen style

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Adjust reference syntax

From ":cpp:func:`Foo::bar`" to "\ref Foo::bar". This seems to pacify some build warnings and clean up the C++ docs a little, but it doesn't seem to improve issue #1265

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Expose documentation for FileRules, Config, MatrixTransform::setOffset

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Expose more documentation: Looks, Context Variables

Minor cleanup and adjustments

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Expose GpuShaderCreator usage example

Promote usage example up to the class-wide documentation
Change numbered list to simple bullets -- there seems to be a problem with orderedlists...?

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Missed a change

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Expose `GpuShaderDesc` fragment shader example code

Not sure why the topmost "border" forward slashes are not rendering...

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Tidy up conversion to doxygen style

Specify language for code demonstrations

Improve readability of header comments

Clean up "TODO" comments re: moving to rst

Convert remaining comments to RST syntax

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Rebuild frozen docs

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Adjust line wrapping in one particularly egregious instance

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

Co-authored-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-03-27 08:38:30 -04:00
Henry WilkinsonandPatrick Hodoul c687558efd Website build process minor readme updates (#1331)
* Adds minification to website build process

Signed-off-by: Henry Wilkinson <henry@wilkinson.graphics>

* Updates YouTube reel with new link

Matches website update

Signed-off-by: Henry Wilkinson <henry@wilkinson.graphics>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-03-26 18:18:43 -04:00
Brendan BollesandPatrick Hodoul 0021372b4d Update After Effects and Photoshop plug-ins (#1303)
* Update AE plug-in

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update AE Xcode projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Photoshop plug-in

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Photoshop Xcode project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Visual Studio projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update OpenColorABI.h

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Fail if glew not downloaded

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Renamed functions

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Xcode project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Function name changes

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Visual Studio project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Sort config menu

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Sort Photoshop config menu

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Toss old include

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Grow menus

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Extra semicolon

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Categories on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Encodings menu on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update OpenGL calls

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Categories on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Encodings menu on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Add separator better

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* ADD_EXTRA_BUILTINS in Xcode

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Device, Transform -> Display, View

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* ADD_EXTRA_BUILTINS in VC

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Categories and Encodings on Win

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Photoshop plug-in bugs

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Get rid of Class retrieval

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Family Separator assert

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Stop using OPTIMIZATION_LOSSLESS in Photoshop plug-in

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Switch to AE 2020 SDK in Xcode

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Improve sequence data calls for multi-frame rendering

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Xcode 12 projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Xcode 12 Photoshop changes

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Fox Globals allocation

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update to latest SDKs on Win

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Rejigger sequence data and external dependency handling

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Exception safety

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Need a mutex for GPU rendering

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Forgot to return

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Whoops, wasn't setting default ArbData

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Reserve some seq_data bytes for alignment

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-03-22 19:10:26 -04:00
Neil Wilson 7b0adabf9d added cineSync to supported applications (#1349)
* added cinesync to supported applications

Signed-off-by: Neil Wilson <neilw@cinesync.com>

* Changed cinSyncs position so the list is still alphabetical

Signed-off-by: Neil Wilson <neilw@cinesync.com>
2021-03-22 17:32:08 -04:00
Mei ChuandPatrick Hodoul c4a4b2bcd6 Update Lut1DTransformTest and Lut3DTransformTest (#1328)
* Update Lut1DTransformTest and Lut3DTransformTest
- Conform those tests with TransformsBaseTest.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* -Lut3DTransformTest python bug fix.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* - Adding Bernard Lefebvre to the COMMITTERS page!

Signed-off-by: Mei Chu <meimchu@gmail.com>

* - Fixed due to misunderstanding.

Signed-off-by: Mei Chu <meimchu@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-03-18 10:11:36 -04:00
Brendan Bolles 9fc12b178d Mention Photoshop plug-in and fix links (#1335)
Signed-off-by: Brendan Bolles <brendan@fnordware.com>
2021-03-15 22:44:11 -04:00
9b23e96237 Topics seperated into paragraphs (#1329)
Signed-off-by: kanak gautam <kanakgautam5@gmail.com>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-03-02 22:11:10 -05:00
Patrick Hodoulanddoug-walker 0d04b512f6 Adsk Contrib - Fix some GLSL version mismatches. (#1306)
* Adsk Contrib - Fix GLSL version on MacOS

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Missed a change

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-03-02 21:37:40 -05:00
Henry WilkinsonandMichael Dolan 94ca1fc2f0 Update OCIO Website documentation Readme.md (#1300)
* Update OCIO Website documentation Readme.md

Adds commands in nice boxes with syntax highlighting, better Markdown formatting, and clearer steps for building the OCIO homepage.

Updates based on @carolalynn22 suggestions

Implements above suggestions!  Good ideas :)

Signed-off-by: Henry Wilkinson <henry@wilkinson.graphics>

* Fixes typo

Oops!

Signed-off-by: Henry Wilkinson <henry@wilkinson.graphics>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
2021-03-02 20:31:35 -05:00
Patrick HodoulandMichael Dolan 543bec7a15 Adsk Contrib - Various build fixes (#1324)
* Adsk Contrib - tests/cpu/CMakeLists.txt Fix

Signed-off-by: Patrick Hodoul Patrick.Hodoul@autodesk.com

Quick fix to include a missing unit test.

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Update OpenColorAppHelpers.h

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
2021-02-25 18:42:39 -05:00
Henry WilkinsonandPatrick Hodoul 8714f81a96 Fixes website overflow on mobile (#1299)
- Fixes overflow of hero logo
- Fixes overflow of video

Both of these caused a scroll bar to appear that went beyond the page content and now they do not!

Signed-off-by: Henry Wilkinson <henry@wilkinson.graphics>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-02-25 13:34:22 -05:00
kanakgautam 803d71ac76 Minor Typo Fix (#1320)
Signed-off-by: kanak gautam <kanakgautam5@gmail.com>
2021-02-22 23:15:25 -05:00
Carol Payne a10ce91d0a GSoC 2021 Project Ideas (#1316)
* TSC Notes for 021521

Signed-off-by: Carol Payne <carolp@netflix.com>

* TSC Notes 021521 update

Signed-off-by: Carol Payne <carolp@netflix.com>

* GSoC 2021 Project Ideas

Signed-off-by: Carol Payne <carolp@netflix.com>

* GSoC 2021 Project Ideas - fix

Signed-off-by: Carol Payne <carolp@netflix.com>

* GSoC 2021 - adressing comments

Signed-off-by: Carol Payne <carolp@netflix.com>

* GSoC 2021 - blank line

Signed-off-by: Carol Payne <carolp@netflix.com>
2021-02-19 00:07:33 -05:00
Mei ChuandPatrick Hodoul 99c5f40af4 Created a TransformsBaseTest module. (#1288)
* Created a TransformsBaseTest module.
Moving some unit testing of Transforms module to a base class.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated four transforms tests to use TransformsBaseTest.
- AllocationTransformTest
- BuiltinTranformTest
- CDLTransformTest
- ColorSpaceTransformTest
Updated to add a space at the end of TransformBaseTest per feedback.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated four transforms tests to use TransformsBaseTest.
- DisplayViewTransformTest
- ExponentTransformTest
- ExponentWithLinearTransformTest
- ExposureContrastTransformTest
- FileTransformTest
- FixedFunctionTransformTest
- LogTransformTest
- LookTransformTest

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Address feedback https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1288#discussion_r565265034

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated a few transforms unit tests with TransformsBaseTest.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated to prioritize setUp methods first in individual python unit tests.

Signed-off-by: Mei Chu <meimchu@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-02-17 14:50:47 -05:00
Bernard LefebvreandPatrick Hodoul 9503777690 More LUT python tests (#1293)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-02-17 13:22:16 -05:00
Michael Dolan d5de710128 Add TSC meeting notes for 02-08-2021 (#1305)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2021-02-15 18:05:40 -05:00
doug-walkerandPatrick Hodoul 775f611bbe Adjust docs for v2 release (#1295)
* Adjust docs for v2 release

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Remove alias wording, reverse frozen docs

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Describe more new features

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add demo config

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-02-04 16:05:00 -05:00
Michael Dolan 6ce333f443 Add config wg meeting notes for 01-19-2021 (#1273)
* Add config wg meeting notes for 01-19-2021

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Corrections from review

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2021-01-31 16:23:31 -05:00
Michael DolanandPatrick Hodoul 0d4dba07b8 Add TSC meeting notes for 01-18-2021 (#1269)
* Add TSC meeting notes for 01-18-2021

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update Sean Cooper's company

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-31 13:28:15 -05:00
Bernard Lefebvre bc88857f48 Fix applyRGB (#1291)
Copy config name

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2021-01-26 17:58:22 -05:00
Bernard Lefebvre 87f09ecad5 Test forgot to declare logger and fails if numpy is missing (#1290)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2021-01-26 17:11:43 -05:00
Bernard Lefebvreanddoug-walker 6d46d8468a Release v2 (#1279)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-01-25 11:07:14 -05:00
doug-walker 83392109b6 Adsk Contrib - Add new ACES builtin transforms (#1281)
* Add new builtin transforms

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add more transforms

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Adjust builtin naming

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>
2021-01-25 11:03:01 -05:00
Michael Dolan 73be29a4ba Add UNIFORM_FLOAT3, setStrictParsingEnabled to PyOpenColorIO (#1280)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2021-01-24 13:45:06 -05:00
Michael Dolan 081b8de4d2 Restructure PyOpenColorIO, complete PyGpuShaderDesc (#1275)
* Restructure Python bindings, Complete PyGpuShaderDesc

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update frozen docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Hide PySystemMonitors symbols

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix Python 2 CI failure

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Remove extra sys import

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix issue 1278, GroupTransform docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update GroupTransform frozen docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Clean up PyGroupTransform class

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update PyGroupTransform.write, PyConfig.__repr__

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2021-01-22 15:20:49 -05:00
Bernard Lefebvreanddoug-walker 574ccd856e Adsk Contrib - More python tests and bindings fixes (#1274)
* More python tests and fixes:
- re-add commented tests.
- add new tests for FileRules.
- Fix issues outlined by tests.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust baker test to account for small differences

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Forgot to remove the complete string test

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* GroupTranform::write(), new enums, Lut1DTransform python tests

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Forgot files

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-01-22 12:10:17 -05:00
Bernard Lefebvreanddoug-walker 50e5d8b37d Adsk Contrib - Avoid NaN values in certain Lut1D arrays (#1272)
* Avoid NaN values in certain Lut1D arrays

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Make sure isnan is defined

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-01-22 11:17:31 -05:00
Frankie Eder c324ba5438 Transform Python Binding Fix (#1277)
* Fixed Python bindings Transforms polymorphism issue.

Signed-off-by: Frankie Eder <frankaeder@gmail.com>

* Added tests to catch future Transform polymorphism issues in Python bindings.

Signed-off-by: Frankie Eder <frankaeder@gmail.com>

* Updated tests to include default args.

Signed-off-by: Frankie Eder <frankaeder@gmail.com>
2021-01-21 21:45:24 -05:00
Michael DolanandPatrick Hodoul 8774ebf739 Use OIIO-provided CMake find module (#1266)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-21 08:34:46 -05:00
Bernard LefebvreandPatrick Hodoul d51962acf0 Fix issue #1262 (#1271)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-21 07:24:05 -05:00
Bernard LefebvreandPatrick Hodoul c033d11ee3 Adsk Contrib - Python repr and LogCameraTransform fixes (#1270)
* Fix issues 1255 & 1256

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Revert unwanted rst changes

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-20 22:07:54 -05:00
Bernard LefebvreandPatrick Hodoul 8cf0211c3f Add roles to API and fixes (#1267)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-20 20:23:20 -05:00
Bernard Lefebvre 7110425732 Adsk Contrib - Shader textures now available via Python (#1268)
* Issue 1263

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Update python frozen rst file.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix python test

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust python test

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2021-01-20 12:26:00 -05:00
Bernard Lefebvre d71748bf79 Switch to rc1 (#1253)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2021-01-07 11:56:54 -05:00
Michael DolanandPatrick Hodoul 0aaec5eba2 Add Config working group notes for 12-15-2020 (#1238)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-07 08:06:00 -05:00
Bernard Lefebvre ebebc25b57 LegacyViewingPipeline and ColorSpaceMenuHelper (#1252)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2021-01-06 23:13:23 -05:00
cfc206886d Adsk Contrib - Fix grading inversion (#1245)
* Fix grading op inversion

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Fix dyn prop equality

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* RGB curve inverse

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add curve slopes

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add serialization test

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add frozen python docs

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Adjust tests after merge from master (v2 is using from_scene_reference instead of from_reference)

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
Co-authored-by: Bernard Lefebvre <37628108+BernardLefebvre@users.noreply.github.com>
2021-01-06 12:31:58 -05:00
doug-walkerandPatrick Hodoul a63590f6fe Fix ACEScc and CIE XYZ built-ins (#1251)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-05 19:54:51 -05:00
Michael DolanandPatrick Hodoul 2655e3e064 Improve PyCPUProcessor NumPy support (#1249)
* Refactor PyCPUProcessor buffer handling

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Install/require NumPy for Python tests

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Document NumPy dependency, fix installation link

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix CMake include, Update frozen docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Make NumPy optional, improve docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-05 18:12:46 -05:00
Bernard LefebvreandPatrick Hodoul 9a05ba1180 Adsk Contrib - Issues 1236 & 1243 (#1244)
* Issue 1243

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Update API documentation

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Revert most frozen rst files. Delete 2 src rst  files for removed functions

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Remove reference to deleted functions from API documentation

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust merged files (from_reference did change to from_scene_reference)

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add support for default_view_transform and improve config version handling

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Change function parameter name

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-05 16:39:48 -05:00
Michael DolanandPatrick Hodoul ae6c2a3679 Add TSC meeting notes for 01-04-2021 (#1248)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2021-01-05 14:27:54 -05:00
Bernard Lefebvre 80aeb723ac Adsk Contrib - Add color space aliases (#1241)
* Get aliases

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add missing cast

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix other cast

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Cast issue continued

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add aliases for named transforms

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2021-01-05 10:00:51 -05:00
Bernard Lefebvreanddoug-walker 298d707a8e Adsk Contrib - Move AppHelpers to core (#1220)
* Move AppHelpers to core

Following up on the request from a recent TSC meeting, this PR moves the App Helpers code into the core library.  This adds no new third-party dependencies.  (The App Helpers code is intended to simplify the work of integrating OCIO into a real-world DCC application.)  Also, following up on another suggestion, the ViewingPipeline class was renamed LegacyViewingPipeline.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Forgot to remove function declaration

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add python exposure

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fixing the build with DOC. Still have to update the rst doc files.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add filtering options to app helpers as described in issue 1222

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix merge issue

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add missing destructor

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* cast issue

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-01-04 17:01:19 -05:00
Michael Dolan 54b0716096 Add TSC meeting notes for 12-14-2020 (#1237)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2021-01-04 16:28:05 -05:00
Michael Dolan 9592925274 Add TSC meeting notes for 12-07-2020 (#1232)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2021-01-04 14:53:04 -05:00
Michael Dolan 1d36d5b70e Fix AutoStride autodoc build (#1246)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-12-26 22:30:31 -05:00
Bernard Lefebvre 844978bbae Adsk Contrib - CDLTransform cleanup (#1221)
* CDLTransform cleanup

Rework CDLTranform interface to implement the proposal made in issue #1155.
CDLTransform can be created from a file and an id.
Files containing several CDL (such as ccc and cdl) can be loaded as GroupTransform to give a way to check the content of such CDLs.
Functions to get/set ID should be replaced by calls on the transform's formatMetadata.
Functions to get/set description have been renamed and documention has been added to explain how formatMetadata can be used.
FormatMetadata has helper functions to get/set common attributes 'name' and 'id'.
Write related functions have been moved to GroupTransform so that a processor does not have to be create to write a transform.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Missing override keyword

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* FormatMetadata::addChildElement does not return a value, call to back() should have been removed with the return statement.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Update RST files

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Revert rst files that have only white space changes or windows related changes

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2020-12-16 19:08:59 -05:00
Patrick Hodoulanddoug-walker 55cbcf18b5 Adsk Contrib - Various file rule improvements (#1214)
* Adsk Contrib - Various file rule improvements

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a merge issue

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-12-11 16:02:54 -05:00
Michael Dolan c35144d301 Add Config working group notes for 12-01-2020 (#1225)
* Add Config working group notes for 12-01-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Implement fix/addition from review

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-12-10 21:33:52 -05:00
Michael Dolan 444e38e288 Add TSC meeting notes for 11-30-2020 (#1224)
* Add TSC meeting notes for 11-30-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typos

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Implement PR suggestions

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-12-10 08:32:58 -05:00
Michael DolanandPatrick Hodoul 6bfe3de4b1 Add Config working group notes for 11-20-2020 (#1217)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-12-10 01:07:25 -05:00
Michael Dolan 647b3e68b8 API Docs Implementation (#1197)
* Rework API docs and dependencies

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Refine doc generation

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add frozendoc module for freezing autodoc RST

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Split Python docs between src and frozen

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add expandvars extension for namespace handling

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add frozen RST comparison tools

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Improve frozen docs error msg

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update frozen docs and implement CI test

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update frozen RST

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add file diff debug output to diagnose CI failures

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Refine diff debug code

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add handling for error tolerances when comparing RST

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Include diff in logs, support windoes paths

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Move diff to log, conform path slashes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix warnings, debug windows Python path

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Debug Windows configure file

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Move conf.py configure_file to own statement

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Move path setup to cmake module, print debug messages

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Prevent overwiring configured conf.py

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Debug frozen doc comparison

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Debug RST freeze on Windows

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Debug all RST lines on Windows

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Raise exceptions caught in freeze extension

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Debug windows frozendoc steps

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix frozendoc encoding on windows

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Clean up doc configuration

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Disable frozen docs test on macOS and Windows

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update frozen API docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-12-09 00:28:25 -05:00
e0af06eac6 Add 2020-11-23 TSC mtg notes (#1219)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2020-12-07 14:00:45 -05:00
Bernard Lefebvreanddoug-walker a712243771 Adsk Contrib - Data bypass fix (#1229)
* Data bypass fix

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* beta 2

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust some comments

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-12-04 19:29:28 -05:00
Bernard Lefebvre e412d8ab8d Adsk Contrib - Named color transforms (#1189)
* Named color transforms

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Allow NamedTransforms to be inactive using the same mechanism as color spaces.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Wrong enum

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix issue introduced by merge from master (version checking for NamedTransform serialization in config)

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2020-12-04 19:00:28 -05:00
Patrick Hodoul 73c1f753d7 Adsk Contrib - Remove the 'unknown' shader language (#1208)
* Adsk Contrib - Remove the 'unknown' shader language

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a code review comment

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-12-04 12:42:09 -05:00
Michael Dolan 2ba304ec5a Fix build break: Bump pybind11 required version to 2.6.1 (#1228)
* Disable unneeded clang submodules

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Bump pybind11 required version to 2.6.1

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-12-04 11:18:17 -05:00
Patrick Hodoul a271760a4c Adsk Contrib - Same API cleanup (#1204)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-12-01 12:50:05 -05:00
Bernard LefebvreandPatrick Hodoul 8671060668 Adsk Contrib - Remove dynamic properties from configs (#1205)
* Remove dynamic properties from configs

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
(cherry picked from commit 58a2796713869c2803f0b921a279899807ae4318)

* Adjust dynamic property access

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Forgot one case

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Change also required for grading test

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-12-01 09:25:03 -05:00
Carol PayneandPatrick Hodoul e5f7e9f0c5 Add TSC Notes for 11-16-2020 (#1207)
* Create 2020-11-16.md

Signed-off-by: Carol Payne carolp@netflix.com
Signed-off-by: Carol Payne <carolp@netflix.com>

* updating per Doug & Michael's feedback

Signed-off-by: Carol Payne <carolp@netflix.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-11-24 23:31:28 -05:00
Bernard Lefebvreanddoug-walker 6c8443c42d File interpolation v1 compatibility (#1215)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
(cherry picked from commit 30a6b0f39acb3304950e7c70e46327206acb433f)

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-11-24 14:09:16 -05:00
Michael Dolan 3d3eefca32 Add TSC meeting notes for 11-09-2020 (#1200)
* Add TSC meeting notes for 11-09-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Clean up notes

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-11-23 18:08:31 -05:00
Michael Dolan 8feb1faeb4 Add Config working group notes for 11-03-2020 (#1193)
* Add Config working group notes for 11-03-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Correct apologies list

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typos

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-11-23 17:03:34 -05:00
Michael DolanandPatrick Hodoul 98321505be Add TSC meeting notes for 11-02-2020 (#1190)
* Add TSC meeting notes for 11-02-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add Doug's update on ILM questions

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Correct typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-11-20 21:54:16 -05:00
Patrick Hodoul 7fecd0d6dd Adsk Contrib - Prepare the tag 'beta1' (#1203)
* Adsk Contrib - Tag the branch as 'rc1'

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Community agreement to change to 'beta1'

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-11-18 19:11:31 -05:00
doug-walkerandPatrick Hodoul dfc6681108 Add ocio-v2 working group meeting notes (#1191)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-11-16 23:36:12 -05:00
SimranandPatrick Hodoul 46c07a5b8f Contributing: Update EasyCLA links (LFX rebranding) (#1201)
Signed-off-by: Simran Spiller <simran.spiller@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-11-13 20:31:08 -05:00
Bernard LefebvreandPatrick Hodoul 8399da7b4c Adsk Contrib - Add operator<< for FormatMetadata (#1183)
* Add operator<< for FormatMetadata

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Restore FormatMetadata::addChildElement python exposure.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Restore test of addChildElement with None

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-11-13 17:27:05 -05:00
Bernard LefebvreandPatrick Hodoul 363166f77b Adsk Contrib - Description in config files (#1184)
* Review how description are saved in config files and how newlines are handled.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust test added in master

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-11-13 08:05:14 -05:00
Bernard Lefebvreanddoug-walker 9362128bb2 Adsk Contrib - Remove unknown direction enums (#1177)
* Remove unknown direction enums

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add missing test variables initialization

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-11-04 13:42:12 -05:00
Patrick Hodoul f83ffd2194 Adsk Contrib - Set the default family separator to '/' to comply with ACES configs (#1176)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-11-04 13:16:43 -05:00
Simran 294e196579 README: Slack workspace self-signup (#1192)
Signed-off-by: Simran Spiller <simran.spiller@gmail.com>
2020-11-03 14:52:54 -05:00
Michael DolanandPatrick Hodoul 27ba20fa61 Add TSC meeting notes for 10-26-2020 (#1181)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-11-03 00:01:08 -05:00
Patrick Hodoulanddoug-walker 89ff96d1e7 Adsk Contrib - Add explanation to some FileRules default behaviour (#1172)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-11-02 22:27:11 -05:00
Patrick Hodoulanddoug-walker 76e92d4fa1 Adsk Contrib - Change the ICC profile reader to provide the forward direction by default (#1171)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-11-02 21:29:13 -05:00
Larry Gritz 5373567e78 Restore OCIO_VERSION symbol that downstream clients expect (#1188)
The name was changed to OCIO_VERSION_STR in PR 1167, but that can break
other software that might be looking for that symbol.

Fixes 1186

Signed-off-by: Larry Gritz <lg@larrygritz.com>
2020-11-02 11:46:05 -05:00
Patrick Hodoulanddoug-walker 77e7a55d1d Adsk Contrib - Improve Python information (#1167)
* Adsk contrib - Improve Python information

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add more information

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-10-29 15:52:37 -04:00
zachlewisandPatrick Hodoul 9e6a910fee Improve cmdline tool docs (#1164)
* Update cmdline tool docs

Add ociolutimage and ociodisplay content

with todos o'plenty
add ocioperf and ocioconvert content

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Adjust wording w.r.t @michdolan's review

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-29 15:03:49 -04:00
Rémi AchardandPatrick Hodoul 69d0ff47ea Fix LookTransform inverse direction (#1180)
* Fix LookTransform inverse direction

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix typo and improve comment

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Implement review feedback

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix comment

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Update test description

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix signed - unsigned integer comparison

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-26 21:54:57 -04:00
Michael DolanandPatrick Hodoul 4ebc10a6f1 Add TSC meeting notes for 10/19/2020 (#1173)
* Add TSC meeting notes for 10/19/2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-26 16:32:58 -04:00
b2969231d4 added custom callback for computehash (#1169)
Signed-off-by: EmperorYP7 <pandeyyash04@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
2020-10-26 12:50:37 -04:00
Michael DolanandPatrick Hodoul 5a5d901444 Add TSC meeting notes for 10/12/2020 (#1166)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-26 08:50:30 -04:00
Henry WilkinsonandPatrick Hodoul fcc4a43e22 Update compatible_software.rst (#1168)
Natron didn't have a description before, now it does!

Signed-off-by: Henry Wilkinson <henry@wilkinson.graphics>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-23 22:57:23 -04:00
a6b5b3d53d Add TSC meeting notes from 09/28 and 10/05 (#1162)
* Add TSC meeting notes from 09/28 and 10/05

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revise comments from feedback

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Implement fixes based on feedback

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-10-23 20:51:06 -04:00
Bernard LefebvreandPatrick Hodoul 4ab4a926f8 Remove Config and Context parameter from BuildOp functions that do not need it. (#1163)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-22 08:29:08 -04:00
Bernard LefebvreandPatrick Hodoul 50e4daf6b1 Adsk Contrib - Improve FileTransform interpolation (#1157)
* FileTransform interpolation

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix typo and add missing stream reset

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Dummy commit to trigger Easy CLA

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-15 15:03:43 -04:00
Patrick Hodoul 39cc8a43ac Adsk Contrib - Improve CMake files (#1159)
* Adsk Contrib - Improve CMake files

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve cmake files to better trap errors

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-10-15 10:07:26 -04:00
Michael DolanandPatrick Hodoul 438f395c2b Meeting notes from 09/21-09/25/2020 (#1156)
* Add notes from 09/21-09/25/2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add comment and fix typos

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-10-13 11:45:21 -04:00
Bernard Lefebvre 3ef74cdc92 Adsk Contrib - Update config default version and optimization enhancements (#1147)
* Update config default version and optimization enhancements.

Default config version is now the latest version (2 for the time being).
Tests have been adjusted to take this into account.

New optimization flag: OPTIMIZATION_SIMPLIFY_OPS: break down certain ops into simpler ops whne possible. Today, only CDL make use of this, and could be replaced by a matrix when possible. The goal is to avoid complex functions and allow more ops to be combined. The flag is enabled with the default optimization.

New optimization flag: OPTIMIZATION_FAST_LOG_EXP_POW: SSE implementation of log, power, exp is faster but less precise. When this new flag is set the fast implement is used, else the non SSE implementation is used. Optimization default does not include the file, so the non SSE version is used. This applies to CDL, ExposureContrast, Gamma, Log (ut not to legacy Exponent).

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Change baker test from a string compare to a value compare to fix failing test on one windows target

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix config tests after merge from master

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Expose added flags to python

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2020-10-05 14:46:41 -04:00
Michael DolanandPatrick Hodoul 11a4baf827 Document OpenColorIO Development Process (#1140)
* Create PROCESS.md for process documentation

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add Roadmap to feature proposal process

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revise design proposal section

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Address required approval feedback

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revise committer approver rules based on feedback

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Adjust merge notice wording

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-29 23:55:28 -04:00
Patrick Hodoul 988a88948a Adsk Contrib - Remove useless MFC dependency (#1146)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-09-28 14:56:31 -04:00
Bernard LefebvreandPatrick Hodoul f82a098997 Adsk Contrib: Grading ops related improvements. (#1133)
* Grading ops related improvements.

Improve uniforms implementation and usage.
- Use vector (instead of array) for variable size containers name.
- Introduce Float3.
- Replace int2 container by int vector.
- Reuse the Uniform structure in the glsl implementation.

Precompute grading primary values to simplify to simplify renderers.

Fix GradingRGBCurveOpGPU uniform declaration for offsets and adjust to VectorInt.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix merge issue

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix alignement

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-28 13:45:30 -04:00
Patrick Hodoul 23dbd9e0fc Adsk Contrib - Add 2021 VFX Reference Platform requirements (#1134)
* Adsk Contrib - Add 2021 VFX Reference Platform requirements

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix CI build breaks

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

* Fix more issues around C++17 & Compiler versions

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

* Better handle pybind11 & lcms2 issues with C++17

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

* Another improvement for the C++17 support

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

* Better document C++17 issues with pybind11 and lcms2

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

* Fix some comment typos

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-23 17:22:32 -04:00
Michael DolanandPatrick Hodoul fb7bdb8119 Add meeting notes from Sep 9-14 2020 (#1142)
* Add meeting notes from Sep 9-14 2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revisions from review

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add checkboxes to attendees

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-22 22:23:39 -04:00
Patrick Hodoul a8dcfa09a1 Adsk Contrib - Add the support for processor caches (#1130)
* Adsk Contrib - Add processor caches and improve the context variable support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix merge issues with the Grading pull request

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

* Follow up on conflicting merges

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Some changes following the code review

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-09-22 11:54:13 -04:00
Simran a8974a139d Fix ctest -R test_python for Python 3.8 (#1151)
It couldn't find OpenColorIO_2_0.dll, because PATH is longer used for discovery. Use the new os.add_dll_directory() insead:
https://docs.python.org/3.8/whatsnew/3.8.html#changes-in-the-python-api

Signed-off-by: Simran Spiller <simran.spiller@gmail.com>
2020-09-21 18:28:46 -04:00
Michael DolanandPatrick Hodoul 46ca87ac91 Add ACES Config working group notes from 08-25-2020 (#1127)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-19 00:20:35 -04:00
Patrick Hodoul ef114db92d Adsk Contrib - Fix some SonarCloud blockers (#1144)
* Adsk Contrib - Fix some SonarCloud blockers

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Clang 12 new warnings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix namespace issue

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-09-17 17:49:04 -04:00
Patrick Hodoul 5ff253530d Adsk Contrib - Add config support for ICC monitor profiles (#1128)
* Adsk Contrib - Add the Virtual Display feature

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a warning

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix more warnings

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

* VC++ found a bug! Fixed

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix indentation issues

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-09-17 13:22:15 -04:00
Simran 268238bdcf Enforce LF line endings for .sh files (#1139)
Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>
2020-09-15 23:35:02 -04:00
chrisbrejonandPatrick Hodoul ed94ba469d Update aces_1.0.3.rst (#1132)
Signed-off-by: chrisbrejon <chrisbrejon@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-11 17:00:25 -04:00
Mei Chu 17144fbd47 Initial update to Transforms python unit tests: (#1036)
* Updated Transforms python unit tests first by breaking them down. Starting with:
- AllocatioNTransformTest
- ColorSpaceTransformTest

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated AllocationTransform and ColorSpaceTransform tests based on feedback. Also updated ExponentTransformTest and LogTransformTest.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated FileTransformTest. Also cleaned up some previous transform tests based on recent pybind changes.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated PyFileTransform to match #1042.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated ExponentWithLinearTransform python test.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated ColorSpaceTransform constructor from dir to direction.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated ExposureContrastTransformTest and addressed previous feedbacks.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Added new ExposureContrastTransformTest to OCIOTestSuite.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated ExposureContrastTransform's python binding.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Added FixedFunctionTransform python test. Small typo fix for ExposureContrastTransform python test.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Fixed ExposureContrastTransform python test.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated GroupTransform python unit test.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated ExponentWithLinearTransform and ExposureContrastTransform python unit tests per feedback.

Signed-off-by: Mei Chu <meimchu@gmail.com>
2020-09-10 09:27:59 -04:00
Patrick Hodoul 820085694f Adsk Contrib - Fix some Grading transform serialization (#1131)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-09-09 20:32:38 -04:00
Bernard LefebvreandPatrick Hodoul d683c09c9b Adsk Contrib - Add grading ops (#1102)
* Add grading ops

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fixing build issues

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Build issue (forgot these)

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Python test syntax

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust error for a non SSE test failure on linux

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix build break after merge (validate instead of sanaityCheck)

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Revert find module patch

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Instead of trying to revert the commit before the merge, use master version of the files.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* When style of GradingTone is changed, values are reset to defaults, but precomputed values might not be updated until the values are modified.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Uniforms for offsets for grading curves are declared with the right size, but the getSize was wrong with the risk of not updating some offset values.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-08 15:40:46 -04:00
chrisbrejonandPatrick Hodoul da03afbea9 Update compatible_software.rst with Guerilla Render (#1125)
Signed-off-by: chrisbrejon <chrisbrejon@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-03 17:46:09 -04:00
Michael DolanandPatrick Hodoul 27599db1f2 GPU CI Setup (#1045)
* Initial CodeBuild setup for GH Actions

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Remove extra comment

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Remove unnecessary quotes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Disable Python build/test

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update CodeBuild project name from ARN

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Enable headless GPU rendering, remove GLEW workaround from Analysis workflow

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Specify headless ON

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Pull changes from gpu_ci_test branch

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Remove GLEW workaround from buildspec

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add GPU CI status badge to README

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Disable GPU CI on forks

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-09-03 17:07:23 -04:00
Michael Dolan f0632b61d0 Add TSC notes from 08-21-2020 (#1126)
* Add TSC notes from 08-21-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Revise notes from feedback

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-09-01 20:49:40 -04:00
zachlewis 478c809fbd Rename Config::GetProcessor to GetProcessorFromConfigs (#1123)
* Rename Config::GetProcessor to GetProcessorFromConfigs

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>

* Update python bindings, docs, and tests  to match C++ API changes

Rename Config.GetProcessor static method to Config.GetProcessorFromConfigs

Signed-off-by: Zach Lewis <zachcanbereached@gmail.com>
2020-08-28 09:16:49 -04:00
Rémi AchardandPatrick Hodoul 90e0ac2de4 Fix ociochecklut bugs (#1120)
* Remove duplicated -t flag

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Remove extra carriage return

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Add LUT inverse direction flag

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix ociochecklut --gpu not working correctly for LUT1D

In OglApp::applyGPU, call to updateImage() update the currently bound GL_TEXTURE_2D
target, by doing so, the latter sampling of a 1DLUT that was allocated as
a GL_TEXTURE_2D (because of it's size), will sample the wrong texture.

Solution proposed is to call OglApp::setShader() again after image was updated.

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fixing pkgconfig file installation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix resources binding directly from inside drawing method

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix pkgconfig installation on non-windows platforms

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Fix pkgconfig generation

Signed-off-by: Rémi Achard <remiachard@gmail.com>

* Activate correct texture unit before uploading image (by @hodoulp)

Signed-off-by: Rémi Achard <remiachard@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-08-27 12:18:26 -04:00
chrisbrejon 222b7fc40b Guerilla Render not showing in the supported apps - 3rd attempt (#1119)
* Add Guerilla Logo

Signed-off-by: Christophe Brejon <chrisbrejon@gmail.com>

* Update supported_apps.yml with Guerilla Render

Signed-off-by: Christophe Brejon <chrisbrejon@gmail.com>

* Fixed Version in content line.

Signed-off-by: chrisbrejon <chrisbrejon@gmail.com>
2020-08-25 08:21:48 -04:00
maxnbkandPatrick Hodoul c324a16dcc fix site product links (#1111)
Signed-off-by: Stephen Mackenzie <maxnbk@users.noreply.github.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-08-21 12:50:36 -04:00
Patrick Hodoul 3a0dfd8d2c Adsk Contrib - Improve GLEW detection (#1112)
* Adsk Contrib - Improve GLEW detection

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Remove the CI build workaround

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Unlock the CI builds with coding style changes

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a bad change in the GitHub workflow file

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-08-20 22:43:38 -04:00
214a9d2e5e TSC meeting notes from 08-17-2020 (#1107)
* TSC meeting notes from 08-17-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Complete attendee list

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-08-19 10:24:09 -04:00
834f6dfc18 Default display/view looks to empty string (#1108)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-08-18 22:52:46 -04:00
Carol Payne 2ab35f7e27 website fixes - css, images, logos (#1109)
* update for hiero and substance logos, fixing typo

Signed-off-by: Carol Payne <carolp@netflix.com>

* fixing logo scale on safari

Signed-off-by: Carol Payne <carolp@netflix.com>

* updates for images, adding spiderverse credit, text fix

Signed-off-by: Carol Payne <carolp@netflix.com>
2020-08-18 19:11:14 -04:00
Michael Dolan 9c1f4ff54c Improve yaml-cpp config search and CMake messaging (#1104)
* Disable yaml-cpp package registry check, improve CMake messaging

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Make OCIO_INSTALL_EXT_PACKAGES case insensitive and validate

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Disable package registry globally

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-08-17 16:10:50 -04:00
e6f1bfc464 Substitute term "sanity check" with "validation" / "validate" (#1081)
* Remove "lame-ass"

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

* Substitute "dumb" with "basic"

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

* Substitute "whitelist" with "approved list"

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

* Substitute "sanity check" with "validation" or "validate"

Also rename "sane" to "valid" and "insane" to "invalid"

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

* Rename enum values to VALIDATION_PASSED and VALIDATION_FAILED

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

* Rename methods to validate[Shared]View()

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

* Mention renamed validate[Shared]View() methods in changlog

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

* Actually just list the user-visible change

Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-08-14 20:27:09 -04:00
Patrick Hodoul e39241bb4b Adsk Contrib - Improve cmake build (#1099)
* Adsk Contrib - Improve cmake build

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix some tabulation issues

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Revert the yaml-cpp change

Signed-off-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
2020-08-14 17:30:25 -04:00
Michael DolanandPatrick Hodoul 003c698073 Add TSC notes for 08-10-2020 (#1093)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-08-13 22:50:21 -04:00
doug-walkerandPatrick Hodoul 5c4051e129 Add quick start and fix link (#1098)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-08-12 09:09:10 -04:00
Sean Cooper a14b020a7f [digipro] Feature/static api docs (#1097)
* add sphinx-tabs dependency

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* add api docs

Signed-off-by: Sean Cooper <sean@seancooper.xyz>
2020-08-11 23:18:32 -04:00
doug-walker 5e4d7bc27c Adsk Contrib - Reorganize and add new documentation (#1096)
* Reorganize and add new documentation

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Suggestions from Michael and Thomas

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>
2020-08-11 14:23:41 -04:00
Carol Payne 9902770139 Initial PR for new OCIO homepage (#1091)
* Initial PR for new OCIO homepage

Signed-off-by: Carol Payne <carolp@netflix.com>

* Updating filenames for CI1

Signed-off-by: Carol Payne <carolp@netflix.com>

* adding back one file for the build, updating site name

Signed-off-by: Carol Payne <carolp@netflix.com>

* updating site name and image filename

Signed-off-by: Carol Payne <carolp@netflix.com>
2020-08-11 10:57:23 -04:00
Michael Dolan 9f9d5c5826 Remove *.in from conf.py for RTD support (#1092)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-08-10 15:00:39 -04:00
Michael DolanandPatrick Hodoul 8b571ff261 Add 08-03-2020 TSC meeting notes (#1085)
* Add 08-03-2020 TSC meeting notes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Rename 2020_07_06.md to 2020-07-06.md

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typos, adjust to new meeting notes folder structure

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-08-09 19:37:49 -04:00
Michael Dolan 82f0529a31 Fix doc CI for macOS and Windows (#1090)
* Fix doc CI for macOS and Windows

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Access pip via python interpreter

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Enable pip versbose logging to debug Linux failure

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Disable pip verbose logging

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-08-09 18:54:54 -04:00
Michael DolanandPatrick Hodoul 66cac36e70 Add contributing and ASWF docs (#1088)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-08-06 21:00:40 -04:00
Michael Dolan e56ec8e3b2 Add Doc WG meeting notes from 07-24-2020 (#1077)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-08-03 23:17:06 -04:00
Sean Cooper 3757d95872 initial v2 doc restructure (#1075)
* initial doc restructure

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* rename file to avoid conflict

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* rename directory to avoid conflict`

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* fix readme

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* add images back

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* add python dependencies

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* remove min version

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* add find_python_package

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* update dependencies

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* add python2 blocking to doc generation

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* add local pip install pythonpath

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* remove recommonmark

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* add min version

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* reduce python dependencies
modify python macro to support dependencies

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* update dependencies

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* update python pip prefix

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* swap to original sphinx-press-theme

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* reconfigure docs target dependencies

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* temporarily disable windows docs builds

Signed-off-by: Sean Cooper <sean@seancooper.xyz>
2020-07-31 13:42:28 -04:00
Michael Dolan d431b29b88 Add 07-20-2020 TSC meeting notes (#1069)
* Add 07-20-2020 TSC meeting notes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Reorder lines

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typos

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-07-24 21:35:48 -04:00
Sean Cooperanddoug-walker b2d0d3b465 Update Python find_package for CMake >=3.12 (#1068)
Signed-off-by: Sean Cooper <sean@seancooper.xyz>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-07-20 16:44:16 -04:00
Sean CooperandMichael Dolan a5587b3267 Feature/build docs base feature/public header doxygen (#1066)
* Update headers to doxygen format

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

* Add docstring style-guide

Signed-off-by: Sean Cooper <sean@seancooper.xyz>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
2020-07-20 14:25:26 -04:00
Michael Dolan 346b11c9a6 Upgrade to CMake 3.12, Add support for ext CMake configs (#1061)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-07-20 13:31:33 -04:00
Patrick Hodoul 9360e4094f 2020-07-06 TSC meeting minutes (#1063)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-07-17 16:03:39 -04:00
Michael DolanandPatrick Hodoul 870d63e237 Add TSC meeting notes for 07-13-2020 (#1062)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-07-14 08:12:39 -04:00
Michael Dolan 38cf86ef64 Add Config working group notes from 06-30-2020 (#1051)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-07-13 01:08:54 -04:00
Troy James SobotkaandPatrick Hodoul b843e98f11 Removes commented out OCIO_BUILD_PYTHON (#1055)
Fixes #1050. Authored by @LazyDodo.

Signed-off-by: Troy James Sobotka <troy.sobotka@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-07-09 19:43:50 -04:00
Chin-Ying Li fca6cf0e09 Headless rendering (#1047)
* Modified CMakeLists.txt

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Support headless rendering in Linux build with EGL (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Fix CMakeLists bugs
Made OglApp's destructor virtual

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Remove bugs in app's CMakeLists (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Modified CMakeLists and add factory function for OglAppRcPtr (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Use imported target to find EGL (#1039)
Change the CI workflow to build with headless option

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Modify CMakeLists to properly link EGL (#1039)

Remove unused variables (#1039)

Include glext.h and debug print (#1039)

Check GLEW initialization (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Add debug print for HeadlessApp initialization (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Modify CMakeLists to accomodate system that support GLVND (#1039)

Remove unused variables (#1039)

Define GLEW_EGL preprocessor for NVidia implementation (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Fix CMakeLists (#1039)
Add the factory method for creating OglAppRcPtr

Modify CMakeLists (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Rename the factory method OglApp::CreateOglApp (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Change workflow to check the GL vendor of CI Linux build (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Add proper mechanism to detect GLVND support in CmakeLists (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Reformat the code (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>

* Turn off GPU unit test in CI (#1039)

Signed-off-by: ChinYing-Li <chinying.li@mail.utoronto.ca>
2020-07-09 18:33:00 -04:00
Michael DolanandPatrick Hodoul 8bdcfb6652 Add TSC meeting notes for 06-29-2020 (#1049)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-07-07 10:36:40 -04:00
Michael Dolan 22a5f55548 Add Config working group notes 06-16-2020 (#1040)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-07-02 02:50:30 -04:00
Michael Dolan 098b54f449 Add documentation working group notes from 06-12-2020, 06-19-2020 (#1037)
* Add documentation working group notes from 06-12-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Correct section title

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo, add notes from 06-18-2020 meeting

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-07-02 01:38:40 -04:00
Michael Dolan b22059052d PyOCIO: Fix AllocationTransform __str__, cleanup params (#1042)
* Add defStr to transform classes, cleanup param names

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update unit test params

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update param name in DisplayViewTransform test

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-07-01 09:45:50 -04:00
Patrick Hodoul 3ada94a40c Adsk Contrib - Various fixes and improvements (#1048)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-06-29 12:00:46 -04:00
Bernard LefebvreandPatrick Hodoul fbdf889b86 Adsk Contrib - Add ViewingRules, DisplayViewTransform, and ViewingPipeline (#1038)
* Add ViewingRules, DisplayViewTransform, and ViewingPipeline

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add version check to config sanity check.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust comments

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Update ViewingPipeline.cpp

Fix indentation

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-29 08:49:08 -04:00
SimranandPatrick Hodoul 13ef6342b7 Update links to EasyCLA docs (#1044)
Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-27 09:56:21 -04:00
SimranandPatrick Hodoul 505c556195 Rename andriod-toolchain.cmake to android-toolchain.cmake (#1043)
Signed-off-by: Simran Brucherseifer <simran.brucherseifer@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-27 09:10:27 -04:00
Michael Dolan bff594e8f6 Add TSC meeting notes for 06-22-2020 (#1041)
* Add TSC meeting notes for 06-22-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-06-27 01:09:27 -04:00
Mei ChuandPatrick Hodoul 758939a1d6 Python unit test module LookTest update (#1027)
* 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>
2020-06-25 23:51:23 -04:00
Michael DolanandPatrick Hodoul 4f1414a112 Add TSC meeting notes from 06-08-2020 (#1033)
Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-10 12:54:40 -04:00
Michael DolanandPatrick Hodoul b674ec52f8 Refactor PyBuiltinTransform (#1026)
* Refactor PyBuiltinTransform

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add unit tests, fix None style handling

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix Python 2/3 compatibility issue

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix Windows warning

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-10 08:19:11 -04:00
Michael Dolan a4e3daace0 Add notes from 06-01-2020 TSC meeting (#1024)
* Add notes from 06-01-2020 TSC meeting

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-06-08 14:20:43 -04:00
Mei Chu 01e3a655ad Updated various python unit tests. (#1025)
Signed-off-by: Mei Chu <meimchu@gmail.com>
2020-06-04 15:08:18 -04:00
Michael DolanandPatrick Hodoul 696d1232c8 Add Mark Titchener as Foundry TSC member (#1021)
* Add Mark Titchener to GOVERNANCE.md

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add Mark Titchener to TSC meeting template

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-01 23:27:07 -04:00
Patrick Hodoul 42dbc966df Adsk Contrib - Various CLF writer improvements (#1020)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-06-01 14:20:51 -04:00
Michael DolanandPatrick Hodoul 25c1cd7032 Add TSC notes for 05-18-2020 (#1019)
* Add TSC notes for 05-18-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix indentation issue

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-01 09:19:40 -04:00
Patrick Hodoul d69dde5a24 Adsk Contrib - Fix a CDL file load bug for ColorDecisionList case (#1022)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-05-25 22:48:46 -04:00
990634d791 2020-05-11 tsc mtg notes (#1014)
* 2020-05-11 tsc mtg notes

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Adjust wording

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-05-19 10:38:01 -04:00
Patrick Hodoulanddoug-walker ba52937fd5 Adsk Contrib - Optimize the GPU texture size for 1D LUTs (#1013)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-05-19 10:04:01 -04:00
Patrick Hodoulanddoug-walker 10a27cbd6e TSC meeting notes 2020-04-27 (#1012)
* TSC meeting notes 2020-04-27

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add space to unlock the CI builds

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-05-19 09:17:10 -04:00
doug-walker f15dba8840 Adsk Contrib - Enhance CLF tests (#1011)
* Refactor CLF tests

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Address review comments

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Tweak test names

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Transform_missing build break fix

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Windows build break fix

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>
2020-05-19 08:18:22 -04:00
Bernard Lefebvre 7ec3772ac7 Fix View serialization in Config: view transform was not saved. (#1015)
Add a test for View serialization.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2020-05-14 15:13:15 -04:00
Patrick Hodoul 406bae371d Adsk Contrib - Add Built-in Transform and ociomakeclf app (#1006)
* Adsk Contrib - Built-in Transforms

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix MSVC build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add Python bindings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a computation overflow

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a computation overflow, part II

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Revert previous changes; Impose the right overflow

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Python bindings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CI builds to print values on all machines/compilers

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CI builds to print values on all machines/compilers, disable the prints

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CI builds to print values on all machines/compilers, remove some prints

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CI builds to print values on all machines/compilers, remove some prints

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CI builds to print values on all machines/compilers, remove some prints

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CI builds to print values on all machines/compilers, remove some prints

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Use CI builds to print values on all machines/compilers, remove some prints

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to bypass the AppleClang 11.0.3 bug

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Warning when built-in camera transforms are not built

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the warning message

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-05-12 15:37:48 -04:00
Michael Dolan 50f741ff53 Add TSC Meeting notes 05-04-2020 (#1008)
* Add notes for TSC Meeting 05-04-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fixes from review

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-05-08 00:48:54 -04:00
Michael Dolan 47ae3d3632 Add Carol Payne to TSC (#1007)
* Add Carol Payne to GOVERNANCE.md

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add Carol Payne to TSC meeting template

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-05-07 01:31:25 -04:00
Michael Dolan c6fae3ad20 GHA Analysis pybind11 Fix (#1009)
* Fix Analysis failure, plus GHA changes to test

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Restore Analysis workflow triggers

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-05-07 01:30:07 -04:00
Patrick Hodoul 9ec7c7f3cc Adsk contrib - Fix unit test failure (#1010)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-05-05 19:01:06 -04:00
Rashil GandhiandPatrick Hodoul 2525363beb Duplicate check in other functions (#536) (#993)
* Added duplicate check to other functions

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Covered some more functions

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Added check to Matrix transform and a test

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Made requested changes and added Config test

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Added check in Config and a test for it

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-05-04 11:48:41 -04:00
Michael DolanandPatrick Hodoul 3f1b8a8c1e Fix CMake OpenImageIO find module warning (Windows, macOS) (#1005)
* Rename OpenImageIO in CMake find module

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Rename status message

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-04-29 01:09:38 -04:00
Michael Dolan 318a6e2de3 pybind11 CMake module refactor (#1002)
* Add version detection to pybind11 CMake module

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Prioritize location override

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix missing Python package case

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Clean up messaging; require PythonInterp when needed

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Move Python fallback to condition

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add header version detection

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-04-28 23:38:39 -04:00
Michael Dolan ad61e6d6e1 GH Actions refinements, AZP removal (#1004)
* Add ci-ocio:2020 images, new jobs, GHA badges, remove AZP

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typos

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-04-27 18:21:09 -04:00
Patrick HodoulandPatrick Hodoul 337cafd0fd Adsk contrib - Fix VC++ compilation warnings & some SonarCloud bugs (#996)
* Adsk contrib - Fix VC++ compilation warnings & some SonarCloud reported bugs

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix some doc warnings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix macos build breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix macos build breaks, part II

Signed-off-by: Patrick Hodoul <Patrick@BANPC13RSC2.ads.autodesk.com>

* Fix Windows build break: C++17 warning related to nodiscard

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build break: C++17 warning related to nodiscard, part II

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build break: C++17 warning related to nodiscard, part III

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build break: C++17 warning related to nodiscard, part IV

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* C++ version detection improvment

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* C++ version detection improvment, part II

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build break: C++17 warning related to nodiscard, part V

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build break: C++17 warning related to nodiscard, part VI

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build break: C++17 warning related to nodiscard, part VI

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: Patrick Hodoul <Patrick@BANPC13RSC2.ads.autodesk.com>
2020-04-27 11:19:23 -04:00
Michael Dolan 4b0c538fa5 Add GH Actions CI support (#991)
* Add GH Actions CI support

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-04-25 00:41:22 -04:00
Michael DolanandPatrick Hodoul 59dda4509d OCIO GOVERNANCE.md and TSC meeting template updates (#997)
* Edit GOVERNANCE.md

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update TSC meeting template

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add ACES TAC Rep description

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-04-24 09:55:29 -04:00
Michael DolanandPatrick Hodoul 12482e95d5 Add TSC meeting notes for 04-20-2020 (#995)
* Add TSC meeting notes for 04-20-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix filename year

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typos

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-04-22 10:59:44 -04:00
Brecht Van LommelandPatrick Hodoul 3aab90d31f Fix error loading LUT files with Turkish locale (#984)
In file parsing there are tests like Lower(x) == "spilut". However this was
using the locale dependent std::tolower, which for Turkish does not change
I to i.

Instead this implements a custom Lower() function which is not affected by
locale and so can be used for file parsing.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-04-22 09:53:55 -04:00
Bernard LefebvreandPatrick Hodoul e38fec8dc3 Adsk Contrib - Improve op finalization (#986)
* Review ops finalization.
- ops are only finalized once.
- clarify LUT inversion
- move direction to MatrixOpData and RangeOpData
- change how FixedFunction surround inverse is saved

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix build after merge from main.
- adjust gpu test set-up.
- expose new api function to python.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-04-22 08:48:12 -04:00
Michael DolanandPatrick Hodoul 109d32d4cc Add mission statement (#890)
* Add mission statement

Signed-off-by: michdolan <michdolan@gmail.com>

* Update mission statement draft

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Updates from review feedback

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Cleanup line length

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-04-21 22:21:26 -04:00
Bernard LefebvreandPatrick Hodoul 9313e811c6 Adsk Contrib - Refactor opengl usage (#985)
* Refactor opengl usage for apps and utit tests.
All opengl code used by command line apps (and gpu tests) has been refactor.
Ociodisplay is also using the refactored code and still uses  opengl directly.
- add gpu support to ociochecklut.
- add optimization level to ociodisplay.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Build fix: use {} instead of () for makefile.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-04-21 09:21:32 -04:00
Michael Dolan 849db5f685 Copy TSC notes from #898, #914, and #967 (#992)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-04-20 23:14:29 -04:00
Michael Dolan ad6cc3ed22 Add pybind11 install to "latest" ci job (#990)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-04-16 14:42:07 -04:00
Patrick Hodoul 44e092db46 Adsk Contrib - Add version validation (#975)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-04-14 08:53:35 -04:00
doug-walkerandMichael Dolan 3040e30797 Add 2020-04-06 tsc mtg notes (#983)
* Add 2020-04-06 tsc mtg notes

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Patrick's requests

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
2020-04-12 18:58:03 -04:00
Michael Dolan b599bdd448 Rewrite Python bindings with pybind11 (#976)
* Rewrite Python bindings with pybind11

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add virtual destructor to PyImageDesc

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix MatrixTransform array sizes, CMake libpython linking

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix reported typos/issues

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix Lut1DTransform.getData impl

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Review feedback fixes

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Case-insensitive compare, improve PyImageDesc

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix GCC default constructor error

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Rename Pybind11 to pybind11, match target name to config

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add LogCameraTransform, missing methods, Transform validation

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Minor cleanup

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update LogCameraTransform convenience constructor

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-04-12 18:07:20 -04:00
Patrick Hodoul 67f579fc59 Adsk Contrib - Add unit tests (#971)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-04-07 11:55:36 -04:00
Michael Dolan ec668c633a Add 03-30-2020 TSC meeting notes (#979)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-04-02 23:12:44 -04:00
doug-walkerandMichael Dolan 6412a52ebf Add 2020-03-23 tsc mtg notes (#974)
* Add 2020-03-23 tsc mtg notes

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Add comment about ColorSpaceTransform

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

* Fix typo

Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
2020-03-30 23:01:14 -04:00
Patrick Hodoul 189a49fb6f Adsk Contrib - Add app. helpers (#952)
* Adsk Contrib - Add app. helpers

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix MacOS build breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix some CMake files

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a Windows build issue

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows setup for unit tests

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix merge breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-03-26 00:11:34 -04:00
b905a10162 Add exchange role for display-referred color space (#957)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-03-25 00:06:51 -04:00
56db7066d6 Add a check for the duplicated index. (#965)
* Changed text from SPI to ASWF in docs builder (#953)

* Changed text from SPI to ASWF in docs builder

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Made requested changes

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Fixed typo

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Add a check for the duplicated index.

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
I think this can check the duplicated index. If I do not understand the code in the right way, please let me know.
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Add a check for the duplicated index.

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
I think this can check the duplicated index. If I do not understand the code in the right way, please let me know.
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Change the array to vector for Windows

Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Add an exception for the duplicated indices.
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Add an unit test 

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Add a unit test for the exception of the duplicated indices.
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>
Change the code style.
Signed-off-by: MOFD308 <61020631+MOFD308@users.noreply.github.com>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>

* Update FileFormatSpi3D_tests.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>

* Update FileFormatSpi3D.cpp

Signed-off-by: Xiaofan Guo <xguo262@wisc.edu>

Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com>
Co-authored-by: Michael Dolan <michdolan@gmail.com>
Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-03-24 23:28:14 -04:00
Bernard Lefebvreanddoug-walker e1f166f3da Adjust CDL GPU tests for default transform style change (#969)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2020-03-24 22:42:12 -04:00
L. E. Segovia 31d131d821 Auto-disable SSE if the compiler target doesn't support it (#970)
* Auto-disable SSE if the compiler target doesn't support it

This allows non-x86 targets to compile out of the box.

Fixes #940

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>

* Typo fix

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>

* Drop legacy CMake if() syntax

Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>
2020-03-24 21:58:02 -04:00
Patrick Hodoul 2f87cca2e1 Adsk Contrib - Fix macos issues (#973)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-03-24 15:26:17 -04:00
a9762fcb20 Add cmake support for OCIO_LIBNAME_SUFFIX (#955)
* Add cmake support for OCIO_LIBNAME_SUFFIX

This patch from Lee Kerley makes it easier for people making custom
builds to add an optional suffix to the library name itself.

The purpose is to prevent a studio build for internal tools from
conflicting with a different build of OCIO that might be embedded in a
DCC app. The existing option to customize the inner namespace does a
good job preventing symbol clashes at link time, but does not address
the problem where both the DCC app and the plugin we write end up
callled libOpenColorIO.so, so whichever is first in the
`LD_LIBRARY_PATH` will win and the other won't be found.

This is a patch against RB-1.1, because that's what we need ASAP, but
after this is merged, we will submit another one against master (the
build system has changed enough it won't just cherry pick).

Signed-off-by: Lee Kerley <lkerley@imageworks.com>

* Additional cleanup as suggested by Patrick Hodoul

Signed-off-by: Larry Gritz <lg@larrygritz.com>

Co-authored-by: Lee Kerley <lkerley@imageworks.com>
Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-21 09:27:35 -04:00
Patrick Hodoul d5230e6096 Adsk Contrib - Add arguments to unit test binaries (#944)
* Adsk Contrib - Add arguments to unit test binaries

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Clang build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix merge breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix merge breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-03-20 12:27:21 -04:00
Bernard LefebvreandPatrick Hodoul 8d95f3cfed Add new options to ocioconvert (#951)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-19 15:29:54 -04:00
Bernard LefebvreandPatrick Hodoul 15aa11913d Adsk Contrib - Complete the CDL style support (#943)
* CDL style

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* fix merge issue - new code needs to be adjusted to not use pystring

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-17 17:25:58 -04:00
Rashil Gandhi 7115cbc69f Added a check for duplicate keys (fixes #536) (#958)
* Added a check for duplicate keys (fixes #536)

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Made requested changes

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Fixed typo

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Modified requested changes

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>
2020-03-17 01:35:44 -04:00
Michael DolanandPatrick Hodoul e1466e2fee TSC meeting notes from 2020-03-02 (#948)
* TSC meeting notes from 2020-03-02

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add discussion points on header docs

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-16 12:19:45 -04:00
Rashil Gandhi 829680b886 Changed text from SPI to ASWF in docs builder (#953)
* Changed text from SPI to ASWF in docs builder

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Made requested changes

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>

* Fixed typo

Signed-off-by: Rashil Gandhi <rashil2000@gmail.com>
2020-03-13 15:20:47 -04:00
Yash AgrawalandPatrick Hodoul b6c7152a20 ociocheck will now prompt for missing file (#947)
* ociocheck will now prompt for missing file

Signed-off-by: YashAgrawal0 <yashagrawal048@gmail.com>

* Added check for inverse transform and Error message formatted

Signed-off-by: YashAgrawal0 <yashagrawal048@gmail.com>

* Minor changes in coding Style

Signed-off-by: YashAgrawal0 <yashagrawal048@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-11 09:30:02 -04:00
Michael DolanandPatrick Hodoul b6d157501b TSC meeting notes from 2020-03-02 (#942)
* Add TSC meeting notes from 03-02-2020

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Update TSC note template attendee details

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix typo

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-10 17:19:14 -04:00
Patrick Hodoul 63e0494acd TSC meeting notes from 2020-02-24 (#941)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-03-10 16:02:53 -04:00
Bernard LefebvreandPatrick Hodoul 44510edd48 Adsk Contrib - Add the Display reference space (#939)
* Display reference space

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix tests on linux & macos: expacted exception message is not the same because typeid(*this).name() does not give the same result on different platforms.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Change how ColorSpace is serialized

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-10 15:02:01 -04:00
Bernard LefebvreandPatrick Hodoul 9e537793b9 Adsk Contrib - Adjust FileRules API (#938)
* Adjust FileRules API

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust comment refering to a function of FileRules

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-03-10 13:22:50 -04:00
Michael Dolan 0fc5832cb5 Upgrade EOL AZP agents (#949)
* Upgrade EOL AZP agents

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Disable Windows 2019 build with TODO

Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-03-10 12:08:22 -04:00
Yash Agrawal ea03b514b5 Updated Compatible Software List (#946)
Signed-off-by: YashAgrawal0 <yashagrawal048@gmail.com>
2020-03-09 09:47:07 -04:00
Patrick Hodoul 0e53238b39 Adsk Contrib - Centralize string manipulation helpers (#937)
* Adsk Contrib - Centralize string manipulation helpers

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-03-07 16:35:28 -05:00
Patrick Hodoul 76bd1f6348 Adsk Contrib - Cleanup platform.[h|cpp] files (#935)
* Adsk Contrib - Cleanup platform.h

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Not SSE build

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Not SSE code

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-03-03 15:08:06 -05:00
doug-walkerandPatrick Hodoul 9d6089faaa Add recent tsc mtg notes (#932)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-02-18 14:08:19 -05:00
Patrick Hodoul 4e9584fffd Adsk Contrib - Fix the generation of the Python binding documentation on Windows (#931)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-02-18 13:18:51 -05:00
Patrick Hodoul a43a63ed47 Adsk Contrib - Enhance OpRcPtrVec (#930)
* Adsk Contrib - Enhance OpRcPtrVec

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix merge issues

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-02-18 11:59:40 -05:00
Bernard LefebvreandPatrick Hodoul 8be6b4c4a8 Adsk Contrib - Add support for CLF v3 (#918)
* Add suport for CLF v3

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Build issues: add cast to float and fix comparaison.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Replace cast by std

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add the possibility to print the transform operators.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adjust error message format.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-02-17 23:25:02 -05:00
Patrick Hodoul 46531c13d7 TSC Meeting minutes from 27 Jan 2020 (#924)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-02-14 15:48:56 -05:00
Patrick Hodoul 94bda10b93 Adsk Contrib - File rule improvements (#925)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-02-14 14:40:13 -05:00
Patrick Hodoul 0bd42b1665 Adsk Contrib - Improve the GPU public API (#923)
* Adsk Contrib - Improve the GPU public API

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Clang build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-02-14 13:00:01 -05:00
Bernard LefebvreandPatrick Hodoul f946832293 Adsk Contrib - Processor between two configs (#922)
* Processor between 2 configs

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add functions allowing to specify interchange spaces when going from one config to another.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-02-12 13:03:01 -05:00
Bernard LefebvreandPatrick Hodoul ecbe160912 Create optimized processor (#919)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-02-11 18:16:46 -05:00
Michael Dolan ea6817f871 Add TSC meeting notes from 02-03-2020 (#921)
Signed-off-by: Michael Dolan <michdolan@gmail.com>
2020-02-11 16:37:52 -05:00
Patrick Hodoul e23bfdfb89 Adsk Contrib - Remove a limitation on PackedImageDesc (#913)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-01-31 12:30:36 -05:00
Patrick Hodoul d1c0b0d1e5 Adsk Contrib - Add some string utilities (#909)
* Adsk Contrib - Add string utils (using C++11)

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix some tabulation issues

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Rename the directory for the string utils

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-01-27 12:52:36 -05:00
Bernard Lefebvre 71d725e659 Adsk Contrib - Adding file rules to config. (#904)
* 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>
2020-01-09 18:03:10 -05:00
Bernard Lefebvre d1bd69d8e2 Adsk Contrib - Refactor Transforms that are using OpData (#905)
* Refactor Transforms that are using OpData

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Forgot to change case of LUT cpu test files

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Declare overriden functions with override

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2020-01-07 17:11:18 -05:00
Bernard Lefebvre 68eb8d2be2 remove namespace tabulation (#903)
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2019-12-19 12:20:09 -05:00
Patrick Hodoul 6eabf44177 Add missing 'export' (#902)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-12-16 11:32:27 -05:00
Patrick Hodoul cca09f58b4 Adsk Contrib - Add inactive color spaces (#899)
* Adsk Contrib - Add inactive color spaces

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Remove some useless spaces

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-12-16 10:25:11 -05:00
Patrick Hodoul 3e04336da4 Adsk Contrib - Add more FixedFunction algorithms (#896)
* Adsk Contrib - Add more FixedFunction algorithms

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Linux build breaks
2019-12-16 09:44:39 -05:00
luzpaz 69713626d3 Fix source typo (#901)
Missed this in previous commit (c7b19a0b12)

Signed-off-by: luz paz <luzpaz@users.noreply.github.com>
2019-12-10 12:04:10 -05:00
luzpaz c7b19a0b12 Fix various typos (#900)
* Typos found via `codespell -q 3 -S ./vendor`

Signed-off-by: luz paz <luzpaz@users.noreply.github.com>

* Fix typos in tests/

Signed-off-by: luz paz <luzpaz@users.noreply.github.com>

* Revert some corrections from previous commit

Signed-off-by: luz paz <luzpaz@users.noreply.github.com>

* Fix follow-up typos

Signed-off-by: luz paz <luzpaz@users.noreply.github.com>
2019-12-08 22:50:59 -05:00
Patrick Hodoul ed127849b4 Fix some SonarCloud bugs (#895)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-12-02 09:43:34 -05:00
Bernard Lefebvre 5c5135f54e Adsk Contrib - Namespace and code formating (#892)
* Namespace and code formating

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix include case.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix member from anonymous namespace errors.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Other file case issues.
Move enum in class instead of using namespace.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2019-11-28 13:03:16 -05:00
Bernard Lefebvre b48e8c2e18 Adsk Contrib - Enhance optimization (#884)
* Enhance optimization

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix iff comment

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2019-11-25 17:05:19 -05:00
doug-walker 81e841b12b Add Nov-18 TSC meeting notes (#886)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>
2019-11-24 22:52:37 -08:00
Patrick Hodoul 2c56ad82c5 Azure Build - Update the 'latest' build to use the latest Yaml. (#888)
* Try to fix the master build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Update the documentation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-11-22 17:23:21 -05:00
Patrick Hodoul 25b348231f Adsk Contrib - Yaml cleanup (#887)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-11-22 17:22:31 -05:00
jfpanisset 6a1042c7f9 Document portable parallel build with CMake (#889)
Signed-off-by: Jean-Francois Panisset <panisset@gmail.com>
2019-11-21 12:31:23 -05:00
Patrick Hodoul 11b4b79da1 Adsk Contrib - Logging and misc. changes (#885)
* Adsk Contrib - Mics. changes

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix merge issue with PR 883

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-11-19 18:44:42 -05:00
Patrick Hodoul 7575d9cb0f Adsk Contrib - Fix the display order issue (#883)
* Adsk Contrib - Fix the display order issue & Improve the serialization precision for double values.

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Remove useless code

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* More cleanup for Yaml build

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve Clang7 Release support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve Yaml error handling

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Disable Clang optimizations for OCIOYaml.cpp only

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Remove an hard-coded number

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix last remaining clang7 vs Yaml issues

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix last remaining clang7 vs Yaml issues, take II

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-11-15 14:37:27 -05:00
Bernard Lefebvre 86800657eb Adsk Contrib - Add baking support for CLF/CTF. (#879)
* Add baking support for CLF/CTF.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add missing override

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2019-11-11 11:24:16 -05:00
Michael Dolan b5dd09c658 2019-11-04 TSC meeting notes (#882)
* Add TSC meeting notes from 11-04-2019

Signed-off-by: michdolan <michdolan@gmail.com>

* Remove extraneous NAME

Signed-off-by: michdolan <michdolan@gmail.com>

* Fix typos

Signed-off-by: michdolan <michdolan@gmail.com>
2019-11-08 13:01:55 -05:00
Patrick Hodoul 0ed5b084b4 2019-10-28 TSC meeting notes (#881)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-11-04 12:40:40 -08:00
Patrick Hodoul dd5e28b8cb Adsk Contrib - Fix the active views sorting and filtering behavior (#875)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-11-04 09:14:13 -05:00
Michael Dolan 06ebf81da6 Fix AZP macOS dependency install failure (#880)
* Use azure-provided Python install

Signed-off-by: michdolan <michdolan@gmail.com>

* Remove CMake upgrade

Signed-off-by: michdolan <michdolan@gmail.com>

* Restore explicit Python include/lib paths

Signed-off-by: michdolan <michdolan@gmail.com>

* Restore Python install (shared)

Signed-off-by: michdolan <michdolan@gmail.com>

* Implement recommended pyenv fixes

Signed-off-by: michdolan <michdolan@gmail.com>

* Clean up python install script

Signed-off-by: michdolan <michdolan@gmail.com>
2019-11-01 16:52:41 -04:00
Bernard Lefebvre 65759f83f4 Adsk Contrib - Transforms interface (#870)
* 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>
2019-10-29 14:16:39 -04:00
doug-walker d47abf65e1 TSC mtg notes (#878)
Signed-off-by: Doug Walker <Doug.Walker@autodesk.com>
2019-10-28 12:05:55 -07:00
Patrick Hodoul 6d94f7361e Adsk Contrib - Remove useless warnings from make files. (#874)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-28 14:13:03 -04:00
Patrick HodoulandMichael Dolan cc1dc4a51e Adsk Contrib - Various misc. changes (#873)
* Adsk Contrib - Various misc. changes

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Try to fix Azure macOS machine installation issue

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Update CMakeLists.txt

Co-Authored-By: Michael Dolan <michdolan@gmail.com>
2019-10-28 12:53:51 -04:00
Patrick Hodoul 0414857e2f Adsk Contrib - Add 10 & 12 bit-depth support (#869)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-28 12:07:10 -04:00
Bernard Lefebvre 077bcd6dad Adsk Contrib - Remove bit-depth from ops. (#868)
* Remove bit-depth from ops.
Only keep file-bitdepth to save ops and for LUT 1D CPU op.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Remove unused variable.
Remove multiple unsequenced modifications.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* One more multiple unsequenced modifications.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2019-10-28 09:35:47 -04:00
Michael Dolan c76fa5dadd Fix macOS CI python install script (#876)
* Fix macOS CI python install script

Signed-off-by: michdolan <michdolan@gmail.com>

* Add X11 to prevent tkinter python error

Signed-off-by: michdolan <michdolan@gmail.com>

* Fix brew typo

Signed-off-by: michdolan <michdolan@gmail.com>

* Revert X11 install, pass on tkinter

Signed-off-by: michdolan <michdolan@gmail.com>
2019-10-25 10:05:38 -04:00
Shakeel Shafiq a084f70c22 Bump OpenImageIO tag version to latest (#872)
Signed-off-by: Muhammad Shakeel <shakeel@plum.io>
2019-10-23 16:41:05 -04:00
Michael Dolan 4a50408e1c Add TSC meeting notes from Mark Boorer, Carl Rand (#871)
Signed-off-by: michdolan <michdolan@gmail.com>
2019-10-22 15:01:34 -07:00
Brendan Bolles e79dcab47c After Effects and Photoshop plug-ins updated for v2 (#865)
* After Effects and Photoshop plug-ins updated for v2
* Photoshop LUTs always EXACT

Signed-off-by: Brendan Bolles <brendan@fnordware.com>
2019-10-21 22:53:42 -07:00
Patrick Hodoul 7d6992ba9f Adsk Contrib - Improve RangeTransform (#860)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-16 10:21:17 -07:00
Patrick Hodoul 6ce405e993 Adsk Contrib - Add Raw configuration access (#849)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-09 08:50:46 -04:00
Patrick Hodoul 6883ff926f Adsk Contrib - Add color space removal (#848)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-08 23:28:06 -07:00
Patrick Hodoul 618384ee82 Adsk Contrib - Add a logging function callback to the public API (#847)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-08 18:45:28 -04:00
Michael Dolan ff23e7fe27 AZP configuration updates (#857)
* Add nightly cron, Azure cleanup

Sunday has a full forced cron CI build. Monday-Saturday now have
a full CI build if code has been changed.

Moved "latest" builds to ci-common image and removed explicit lib
path cmake overrides. They pointed to the default install location
for each lib, so weren't necessary.

Implemented macOS python install improvement suggested by OpenEXR.

Signed-off-by: michdolan <michdolan@gmail.com>

* Remove hard-coded brew version

Signed-off-by: michdolan <michdolan@gmail.com>

* Temp enable all builds, test nullability flag

Signed-off-by: michdolan <michdolan@gmail.com>

* Fix SONAR_TOKEN, switch to ci-base image

Signed-off-by: michdolan <michdolan@gmail.com>

* Use sonar variable group for login

Signed-off-by: michdolan <michdolan@gmail.com>

* Move variables declaration to root azure pipeline

Signed-off-by: michdolan <michdolan@gmail.com>

* Namespace not needed for variable group

Signed-off-by: michdolan <michdolan@gmail.com>

* Re-enable SonarCloud condition. Clean up.

Signed-off-by: michdolan <michdolan@gmail.com>
2019-10-07 18:28:22 -04:00
Matthew Cong 0124667436 Check fail bit to catch non-writable file paths (#854)
Signed-off-by: Matthew Cong <1372750+matthewdcong@users.noreply.github.com>
2019-10-07 17:12:03 -04:00
Matthew Cong e9ebf8d5c5 Fix segfault when baking without a config (#855)
* Fix segfault when baking without a config

Signed-off-by: Matthew Cong <1372750+matthewdcong@users.noreply.github.com>

* Validate setFormat bake capability

Signed-off-by: Matthew Cong <1372750+matthewdcong@users.noreply.github.com>
2019-10-05 17:32:56 -04:00
Matthew Cong e5ec91e6f0 Port GCC 9 compiler fixes from RB-1.1 to master (#840)
* Replace putenv with _putenv_s/setenv
* Fix possible buffer overrun in strncpy call
* Switch from stringCopy macro to snprintf

Signed-off-by: Matthew Cong <1372750+matthewdcong@users.noreply.github.com>
2019-10-05 00:40:09 -07:00
Matthew Cong f3073380e8 Fix spelling mistake in config class (#856)
Signed-off-by: Matthew Cong <1372750+matthewdcong@users.noreply.github.com>
2019-10-04 12:19:02 -07:00
Patrick Hodoul 8fa1f94e2f Add a missing comment (#845)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-03 23:13:15 -07:00
Patrick Hodoul ea0752dd41 Adsk Contrib - Fix some missing symbol exports (#839) 2019-10-03 12:55:25 -04:00
Matthew Cong 37ce5588df Replace AutoLock with std::lock_guard (#832)
* Replace AutoLock with std::lock_guard

* Improve DebugMutex implementation
2019-10-03 09:51:03 -04:00
Michael Dolan 4d64eafa76 Prepare repo for ASWF org move (#842)
* Expand CONTRIBUTING.md and update ASWF GH URLs
* Clarify DCO sign-off, fix typos
* Made a few minor wording tweaks
* Fix typo, minor cleanup
* Update CONTRIBUTING LICENSE reference

Signed-off-by: michdolan <michdolan@gmail.com>
2019-10-02 23:24:22 -07:00
Michael Dolan 2faafa0d6b Update README badges and SonarCloud config (#851)
Signed-off-by: michdolan <michdolan@gmail.com>
2019-10-02 22:04:36 -07:00
Michael Dolan 311ac7f47d TSC meeting notes 09-30-2019 (#844)
Signed-off-by: michdolan <michdolan@gmail.com>
2019-10-02 18:27:47 -07:00
Michael Dolan c56a1f566c License rename fix (#850)
* Fix Github license detection (#846)

Rename LICENSE.md to LICENSE and LICENSE-THIRD-PARTY.md -> THIRD-PARTY.md to get around GitHub license checks.

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: michdolan <michdolan@gmail.com>

* Fix README LICENSE references

Signed-off-by: michdolan <michdolan@gmail.com>

* Fix docs LICENSE reference

Signed-off-by: michdolan <michdolan@gmail.com>

* Fix docs CMake LICENSE reference

Signed-off-by: michdolan <michdolan@gmail.com>

* Fix THIRD-PARTY LICENSE reference

Signed-off-by: michdolan <michdolan@gmail.com>

* Fix Charter LICENSE reference

Signed-off-by: michdolan <michdolan@gmail.com>
2019-10-02 19:35:33 -04:00
John Mertic eaafd34e22 Fix Github license detection (#846)
Rename LICENSE.md to LICENSE and LICENSE-THIRD-PARTY.md -> THIRD-PARTY.md to get around GitHub license checks.

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
2019-10-02 14:33:11 -04:00
Sean Cooper 30387efae4 Create 2019-09-23.md (#841)
* Create 2019-09-23.md
* Update 2019-09-23.md
2019-09-30 08:44:57 -07:00
Bernard Lefebvre 2c465a0555 Adsk Contrib - CTF write fixes (#829)
* Fix CTF version when saving CDL. Fix 3D LUT tetrahedal intepolation saving in CTF. Save an identity matrix when saving an empty transform in CTF. Enhance ociowrite verbose mode.
* Matrix with Alpha are not allowed in CLF.
Validate ops before writing.
* Fix merge from master
2019-09-26 10:06:33 -07:00
Patrick Hodoul 339f56d43b Adsk Contrib - Improve the performance of integer bit-depth processing (#827) 2019-09-24 23:55:33 -07:00
Bernard Lefebvre 90c61a7476 CDL rework for description. (#826) 2019-09-24 14:22:47 -07:00
Bernard Lefebvre ee2cba7113 Adsk Contrib - Remove legacy LUT structs. (#825)
* Remove legacy LUT structs and replace them with LUT OpData.
* Fix linux build issues
* Fix merge issue
* Merge issues. Namespace for tests and cast.
* Add comment on GetBitdepthFromMaxValue and redo implementation.
2019-09-23 20:03:49 -07:00
Michael Dolan 05246e7673 Remove Azure job name case conflict (#837) 2019-09-19 20:56:33 -07:00
Michael Dolan cfd99e0fc1 Swap SPDX license identifiers (#799)
* Swap SPDX license statements throughout
* Fix whitespace
* Revert CDL (CineSite)
* Move third-party license notices to dedicated file
* Recommendations to LICENSE.md that fixes verbiage to align with the standard BSD-3-Clause license.
* Added Third Party License link to README.md
* Add acknowledgment section to README
* Add Maya, Houdini, and "other" link
* Update new source license statements
* Fix typo
* Cleanup RangeTransform merge
2019-09-19 19:55:35 -07:00
Patrick Hodoul d73fdfa8b8 Adsk Contrib - Remove an useless variable (#833) 2019-09-18 12:08:54 -07:00
Matthew Cong bd54f57bff Remove outdated macros specific to GCC 4 and GCC 5 (#831) 2019-09-18 11:14:24 -07:00
Patrick Hodoul 46084ab2de Adsk Contrib - Address build breaks of the Linux static library compilation (#824) 2019-09-18 09:39:08 -07:00
Patrick Hodoul fc9419b689 Adsk Contrib - Refactor RangeTransform to improve the RangeOp creation (#812)
* Adsk Contrib - Refactor RangeTransform to improve the RangeOp creation
* Fix Linux/gcc build break
* Fix merge conflicts
2019-09-17 22:53:25 -07:00
Patrick Hodoul c4fac7617a Adsk Contrib - Fix bugs and some warnings found by SonarCloud (#817) 2019-09-11 20:26:07 -07:00
Shootfast f81ab95816 Fixed building of expat on Centos 7.
Centos 7 ships with an older version of docbook that will fail to build the man pages of expat.

As the documentation is not required for OCIO, I am disabling the documentation of expat when built inline to avoid the issue.
2019-09-11 17:57:18 +01:00
Patrick Hodoul 531e24d9de Adsk Contrib - Improve the Windows/Vc++ pdb support (#816)
* Adsk Contrib - Improve the Windows/Vc++ pdb support
* Fix the Windows static library build
2019-09-11 01:52:10 -07:00
Michael Dolan b0adba2b1b Add Kevin Wheatley to COMMITTERS.md (#823) 2019-09-10 11:33:20 -07:00
Kevin Wheatley 44576a2d97 Add TSC meeting notes 2019-09-09 (#822) 2019-09-10 10:54:36 -07:00
Patrick Hodoul cdb7bfaad2 Adsk Contrib - Impose explicit namespaces (#811)
* Adsk Contrib - Impose explicit namespaces
* Fix merge conflicts
2019-09-10 09:59:33 -07:00
Bernard Lefebvre 432045dc51 Adsk Contrib - Case for GPU source files (#809)
* Prepare rename
* Fix name
2019-09-09 12:51:44 -07:00
Bernard Lefebvre 25cbdf8dc0 Adsk Contrib - Move tests out of source files. (#810)
* Move tests out of source files.
* Update tests/cpu/CMakeLists.txt
2019-09-09 12:06:32 -07:00
Bernard Lefebvre 412aa7ba27 Adsk Contrib - CLF/CTF format write support (#782)
* CTF write
* Fix merge issue (pystring).
* Fix include file case.
* Simplify some tests.
* Fix other include files case issues
* Add LUT transforms.
* Remove bit-depth from Transforms.
* Add file bit-depth for selected transforms.
* Fix merge issue
* ParseNumber has been changed
* Fix merge issues.
* Update BitDepthUtils.h
2019-09-05 12:52:53 -07:00
Michael Dolan ef48075923 Add bare AppVeyor config (#815) 2019-09-02 11:45:30 -07:00
Patrick Hodoul 642f2e4284 Adsk Contrib - Fix build breaks on macOS (#807)
* Adsk Contrib - Enable GPU unit tests on macOS

* Fix typo

* macOS - Silence deprecated warnings

* macOS - Silence deprecated warnings, part II

* macOS - Silence deprecated warnings, part III

* Output GPU information when running GPU unit tests

* Disable GPU Unit tests
2019-08-30 08:45:35 -04:00
Reto Kromer fa12526fa7 fix typos (#808) 2019-08-29 11:36:25 -04:00
Patrick Hodoul 35f5c6b09a TSC meeting minutes from 2019-08-19 (#806) 2019-08-29 10:31:48 -04:00
Patrick Hodoul 4b50ffa5a4 Adsk Contrib - Disable the assert dialog box for VC++ CRT libraries in debug mode (#805) 2019-08-29 09:50:56 -04:00
Bernard Lefebvre f0258d47a6 Addressing TODO from SSE.h (#803)
- Use constants instead of defines.
- Change sseSelect arguments order.
2019-08-21 22:40:04 -07:00
Matthew Cong 658e46aca7 Fix Python example for full display pipeline (#802) 2019-08-21 09:29:58 -04:00
doug-walker a935554fd9 Adsk Contrib - Fix copyright issues in test data (#796)
* Fix copyright issues in test data

* Add pf as a supported format

* Fix Python test
2019-08-20 15:06:42 -04:00
Bernard Lefebvre 20e735a971 Adsk Contrib - Adjust ParseNumber (#801)
* Adjust ParseNumber

* Change OIIO to OCIO

* include string.h instead of string for strlen

* Add missing include
2019-08-20 10:01:46 -04:00
Michael Dolan 84d1709e6b Remove TruelightOp and TruelightTransform (#800) 2019-08-16 10:25:41 -04:00
Patrick Hodoul c9d932b9b1 Adsk Contrib - Disbale some warnings detected by SonarCloud (#793) 2019-08-13 20:11:51 -07:00
Patrick Hodoul 9f5fa4403a Adsk Contrib - Fix doc generation on Windows (#792)
* Adsk Contrib - Fix doc generation on Windows

* Improve the Windows support for the doc. generation

* Try to fix Windows

* Improve Sphinx management
2019-08-13 20:25:17 -04:00
doug-walker 5a3059e4f2 Add TSC meeting notes 2019-07-31 (#795) 2019-08-13 08:23:18 -07:00
Michael Dolan e5cc3aebb0 CI branch cleanup master (#797)
* Remove AppVeyor from master
* Remove Travis from master
2019-08-13 01:48:39 -07:00
Michael Dolan 20e2ee4cfc Update CLA docs reference (#794) 2019-08-13 00:03:49 -07:00
Shootfast 0ac85e78c5 Create 2019-08-12.md
Adding meeting notes
2019-08-12 18:05:14 +01:00
Michael Dolan fad95e7052 License cleanup following ext/ refactor (#783)
* LICENSE.md cleanup following ext/ refactor
* Cleanup ICC license markdown
* Add missing license notices
* Clean up .md licenses, Add tests/data/files LICENSE.md
2019-08-09 10:04:23 -07:00
Michael Dolan 1a68ada435 TSC meeting notes 08-05-2019 (#788)
* Add TSC meeting notes from 08-05-2019
* Fix typos based on feedback
2019-08-07 00:25:39 -07:00
Michael Dolan 513bffaf3d Remove and reference Sony images (#789) 2019-08-07 00:52:09 -04:00
Michael Dolan fc450d839e Add Debug builds to CI (#784)
* Enable Debug in Azure, add Debug Half lib suffix

* Add OpenEXR Debug lib name condition

* Set explicit build type, Improve OpenEXR Debug suffix condition

* Explicitely set CMAKE_INSTALL_CONFIG_NAME for Half

* Add yaml-cpp Windows Debug naming condition

* Add expat Windows Debug naming condition

* Inspect Azure Windows Python dirs

* Cleanup CI debug temp changes

* Organize lib name search list, Add Debug CI jobs

* Disable Python for Debug Windows build

* Make BUILD_TYPE compare case-insensitive

* Generalize Debug equality check

* Dereference _BUILD_TYPE_DEBUG
2019-08-06 18:10:30 -04:00
John Mertic f05e94226c Create COMMITTERS.md (#785)
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
2019-08-05 16:52:03 -07:00
Алексей b4cb89c221 Fix libraries export for mingw (#786)
* Fix typo in __declspec macro

* Mingw GCC define __GNUC__ but need to use Windows export decorators, so rearrange defines

* Fix WIN32 macro names

* Remove unneded extra define conditions

* Remove more extra defines condition

* Replace self-defined macros for Windows

* Restore mistakenly removed ifdef
2019-08-05 10:50:02 -04:00
Michael Dolan 98528dd4ac Remove embedded ext/ dependencies (#771)
* Refactor ext/CMakeLists.txt and Find modules
* Restructure ext install options
* Move installs to ext/CMakeLists.txt
* Move macros to cmake modules, Add cron builds to Azure
* Add OCIO_INSTALL_EXT_PACKAGES to Azure
* Refine doc ext/ dependency installs
* Fix doc build issues and refine cmake macros
* Setup external pystring
* Rework Find REQUIRED handling
* Guard Find module target creation
* Update sampleicc copyright
* Increase Sphinx install verbosity
* Add sudo to install scripts
* Fix path separator handling
* Use shared libs for latest build
* Revise Windows PYTHONPATH construction
* Add config to Windows PyOpenColorIO path
* Make system env vars pass through in set
* Set explicit EXPAT_DIRS in latest build
* Add Sphinx latest version support
* Guard Nuke doc build, Update Dockerfile and scripts
* Cleanup ocioconvert CMake whitespace
2019-07-26 08:42:32 -07:00
Patrick Hodoul 0c28209ddf Adsk contrib - Fix most of the warnings detected by SonarCloud (#778)
* Fix some warnings

* Fix more warnings
2019-07-25 09:40:16 -04:00
Patrick Hodoul 42c8ba2cdd Adsk Contrib - Remove the 'std::rand' usage (#777) 2019-07-25 09:01:17 -04:00
Patrick Hodoul b334c908ae Adsk Contrib - Add bit-depth support to apply methods (#769)
* Adsk Contrib - Add bit-depth support to the apply methods

* Fix *nix warnings

* Add measure to ocioconvert

* Fix the merge breaks
2019-07-25 08:09:48 -04:00
Michael Dolan c602f71609 Security policy proposal (#775)
* Add security policy SECURITY.md
2019-07-24 00:05:51 -07:00
Michael Dolan 91585da105 Add minutes for 07-22-2019 TSC meeting (#779)
* Add minutes for 07-22-2019 TSC meeting

* Fixes from Doug's comments
2019-07-23 09:42:42 -04:00
Michael Dolan f2056f899c Choose correct Python install behavior per Azure agent (#780) 2019-07-22 13:46:39 -07:00
Michael Dolan 4565244834 Adopt OIIO unittest.h as OCIO UnitTest.h (#772)
* Integrate and rename OIIO unittest.h

* Clean up stray references
2019-07-20 11:32:14 -07:00
Kevin Wheatley 64c733b52e Meeting notes for TSC 2019-07-08 (#770) 2019-07-15 23:53:27 -07:00
Michael Dolan bd78ae17b9 Add Azure Pipelines and SonarCloud to CI (#757)
* Add azure-pipelines and SonarCloud CI

* Update azure job names

* Remove unnecessary variable quotes

* Change SonarCloud CI link to Azure

* Fix env var curly braces

* Fix boost version variables

* Fix cmake version variables

* Fix sonar-scanner variable typo

* Improve truelight install indentation

* Revert truelight indentation change

* Set scripts to be executable

* Finalize Dockerfiles and scripts

* Fix azure pipelines indentation error

* Fix macOS script path

* Implement gcov code coverage testing into sonar

* Add gcov coverage analysis, refine build

* Updates in response to PR feedback

* Specify c++std, move cxxFlags quotes

* Reconfigure Windows compile flags

* Move Windows cxxFlags to template call

* Revert Windows compile flags

* Remove explicit cxx std from Windows build

* Move Windows cxx flags to CMakeLists.txt

* Add badges to README, additional comments

* Update patch with modern Window preprocessor

* Implement suggested fixes, re-enable disabled builds

* Re-enable /EHsc, correct Windows Azure condition

* Add Windows 2012 install script

* Checkout prior to Windows 2012 dependency install

* Enable ADDLOCAL to msi Python install

* Add Windows env debug step

* Enable quiet install for Python msi

* Move all windows depecency setup to ps1 script

* Add Windows PATH debug script

* Add analyze msi debug log task

* Remove Windows debug task

* Simplify msiexec and set logging path

* Cleanup version parameters

* Split powershell into install specific scripts

* Split macOS installs for clarity

* Organize ci/scripts dir by OS

* Implement ASWF Docker image, Add latest build

* Fix azure expresion typo

* Cleanup whitespace

* Update install scripts with sudo

* Disable warning as error for dependency builds

* Disable OIIO warning as error

* Enable gcov long file names

* Disable OpenEXR tests

* Use correct OpenEXR cmake options

* Use latest tag for "latest" build
2019-07-03 14:28:35 -07:00
Patrick Hodoul 4dfdb3f12b Adsk Contrib - ClearAllCaches() missed a CDLTransform internal cache. (#768)
* Adsk Contrib - ClearAllCaches() missed a CDLTransform internal cache.

* Fix Linux build break

* Fix Linux build break, part II
2019-06-25 00:55:14 -07:00
Sean CooperandMichael Dolan 01db783c74 Create 2019-06-03.md (#759)
* Create 2019-06-03.md

* Update docs/tsc/meetings/2019-06-03.md

Co-Authored-By: Michael Dolan <michdolan@gmail.com>

* Update docs/tsc/meetings/2019-06-03.md

Co-Authored-By: Michael Dolan <michdolan@gmail.com>
2019-06-24 23:11:43 -07:00
Patrick Hodoul e1533d7f04 Adsk contrib - Improve the Windows GetEnv() implementation (#763) 2019-06-24 23:29:47 -04:00
Patrick HodoulandMichael Dolan e475163ab5 Meeting minutes from June 10, 2019 (#764)
* Meeting minutes from June 10, 2019

* Update docs/tsc/meetings/2019-06-10.md

Co-Authored-By: Michael Dolan <michdolan@gmail.com>
2019-06-21 16:14:22 -07:00
Carl Rand f579e361af Add notes for 04-15-2019 TSC meeting (#735)
* Add notes for 04-15-2019 TSC meeting

* 04-15-2019 TSC meeting note amendments.

* Corrected minor typos.
2019-06-21 14:20:28 -07:00
Larry Gritz 59c5453fd9 TSC meeting minutes 2019-06-17 (#765) 2019-06-21 09:31:14 -04:00
Patrick Hodoul 7914df2ec5 Adsk Contrib - Fix some Op equality bugs (#761) 2019-06-17 16:21:09 -07:00
Patrick Hodoul 79c7da6a76 Adsk Contrib - Fix some code smells (#760)
* Adsk Contrib - Fix some code smells

* Fix a clang 7 warning
2019-06-17 14:46:13 -07:00
Bernard Lefebvre f03be88056 Adsk Contrib - Rework ParseNumber. (#753)
* Rework ParseNumber to avoid calling strlen and modifying the buffer.
Add tests.
Fix a file used by unit test.

* Resolve merge issues
2019-06-11 16:59:11 -04:00
John Mertic d385c02886 Update CCLA from changes needed to work in the CLA system (#738)
* Update CCLA from changes needed to work in the CLA system

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>

* Fixed extra white space

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
2019-06-10 14:26:07 -07:00
Michael Dolan e4405cdfd1 Limit current CI builds to master and RB- branches (#755)
* Exclude ci_test from Travis CI
* Exclude ci_test from AppVeyor CI
* Switch to inclusive branch filtering
* Switch to inclusive branch filtering
* Add stricter RB branch filtering
2019-05-28 12:13:41 -07:00
Bernard LefebvreandMichael Dolan e0f1d5464a Adsk Contrib - Add missing ctf parsing. (#750)
* Add CTF parsing for FixedFunction, Gamma and Log.
Refactor CTF parsing code.

* Fix after merge from master where new types have been introduced.

* Refactor to enhance coherence.

* Update src/OpenColorIO/fileformats/FileFormatCTF.cpp

Co-Authored-By: Michael Dolan <michdolan@gmail.com>

* Update src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp

Co-Authored-By: Michael Dolan <michdolan@gmail.com>

* Update src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp

Co-Authored-By: Michael Dolan <michdolan@gmail.com>

* Update src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp

Co-Authored-By: Michael Dolan <michdolan@gmail.com>

* Update src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp

Co-Authored-By: Michael Dolan <michdolan@gmail.com>

* Update src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp

Co-Authored-By: Michael Dolan <michdolan@gmail.com>
2019-05-28 14:06:32 -04:00
Michael Dolan 0fba59e548 Add 05-27-2019 TSC meeting notes (#752) 2019-05-27 17:52:20 -07:00
Patrick Hodoul c3e609dc2a Adsk Contrib - Create an OpRcPtrVec managing the op bit-depths (#748) 2019-05-22 13:52:53 -04:00
Bernard Lefebvre ba8d1258ef Add dynamic properties and exposure contrast. (#743)
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).
2019-05-21 10:24:38 -04:00
Shootfast dd8501f032 Create 2019-05-13.md 2019-05-13 18:02:18 +01:00
Patrick Hodoul 8b6bace8f5 Add TSC meeting notes 2019-05-06 (#749) 2019-05-10 09:26:01 -04:00
Michael Dolan cf9ae4bd53 Add TSC meeting notes from 04-29-2019 (#742)
* Add notes for TSC meeting on 04-29-2019

* Add date

* Fix typos

* Fix typo
2019-05-09 18:35:06 -04:00
Michael Dolan 132a133228 CONTRIBUTING updates for CII badge items (#734)
* Add code guidelines and vulnerability reporting to CONTRIBUTING.md

* Update security email alias

* Fix URL typo
2019-05-09 13:52:27 -04:00
Patrick Hodoul 09e86e26c7 Adsk Contrib - Fix some TruelightOp issues (#739)
* Adsk Contrib - Fix some TruelightOp issues

* Fix Linux build break

* Fix missing bit-depth support for TruelightOp
2019-05-07 16:09:07 -04:00
Michael Dolan d302e42fe2 Fix stray isnan remnant (#744) 2019-05-06 08:53:10 -04:00
Patrick Hodoul 27966bb37a Adsk Contrib - Add extra information to ociodisplay & ocioconvert (#737)
* Add extra information

* Unify output message formatting
2019-05-02 11:00:04 -04:00
Bernard Lefebvre 5e7d32eec9 Fix Reference "inverse" parsing issue and edit a test file to validate. (#731) 2019-04-30 11:45:37 -04:00
doug-walker ec7883a61d Adsk Contrib - Fix some Mac GPU unit tests (#733)
* Fix GPU tests on Mac

* Improve test structure

* Adjust white space
2019-04-29 18:48:06 -04:00
Patrick Hodoul 8039db4841 Adsk Contrib - Fix some install issues (#730) 2019-04-29 17:36:06 -04:00
Patrick Hodoul 18f9f4bbfd Adsk Contrib - Improve the Matrix value precision in config file (#724)
* Adsk Contrib - Improve the Matrix value precision in config file

* Fix OSX build breaks

* Fix OSX build breaks - Usage inconsistency of OCIO::isnan

* Revert useless include causing conflicts for Clang/OSX

* Fix isnan usage inconsistency highlighted by CLang 9

* Fix isnan CLang 9/OSX

* Fix isnan Clang 9/OSX - Use to C++11 isnan

* Fix isnan Clang 9/OSX - Improve the use of C++11 isnan

* More cleanup

* Fix merge build breaks
2019-04-26 00:21:54 -07:00
Rémi Achard 0d1a426912 Fix typo in FormatRegistry::getFormatNameByIndex (#732)
* Fix copy paste error

* FormatByIndex API UnitTest

* Fix invisible character

* Improve unittest

* Out of bounds index fix

* Rename test method
2019-04-25 13:40:03 -04:00
Patrick Hodoul 8deb32f33e Adsk Contrib - Enable 'warnings as error' for the Linux CI builds (#723)
* Adsk Contrib - Enable 'warnings as error' for the Linux CI builds

* Fix warnings

* Fix Clang warnings

* Fix warning

* Fix tab vs spaces issue

* Fix Merge issue: 'warnings as errors' finally found a bug
2019-04-23 16:09:09 -04:00
Patrick Hodoul a356cc2f2b Adsk Contrib - Add native bit depth support to the 1D LUT Op (#722)
* Adsk Contrib - Add the bit depth support to the 1D LUT

* Fix gcc 4.8 build breaks

* Fix OSX build breaks

* Fix OSX build breaks

* Fix OSX build breaks
2019-04-23 13:23:24 -04:00
Kevin Wheatley ce4a537132 Update template now Thanh is no longer with the Linux Foundation (#729)
* Update template now Thanh is no longer with the Linux Foundation
* Fix spelling error
2019-04-17 09:16:50 -07:00
Rémi Achard d8b536e99b Fix minor typos (#727)
* Missing fields in assignement operator

* Missing non const range method
2019-04-12 12:44:25 -04:00
Bernard Lefebvre e1946b305a Adsk Contrib - LUT tests (#713)
* Port further LUT tests using CLF/CTF parsing.

* Update Lut1DOpGPU.cpp

Shorten some very long lines

* Fix issues after merge from master - compCLFversion is mandatory for clf and BuildOpsTest has changed.
2019-04-10 11:41:07 -04:00
Bernard Lefebvre 40bc1378c9 Add Reference OpData that can be used to reference a file transform. Add CTF parsing for Reference. (#712)
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.
2019-04-10 09:33:08 -04:00
doug-walker 7e80423d90 Add TSC meeting notes 2019-04-08 (#725) 2019-04-09 14:09:38 -04:00
Patrick Hodoul 24cc9502ee Adsk Contrib - Add the infrastructure for the Pixel Format support (#699)
* Adsk Contrib - Add the infrastructure for the pixel format support

* Fix Linux build break

* Fix code review comments

* Finalize the pull request

* Fix merge build breaks
2019-04-05 00:37:34 -04:00
Patrick Hodoul 9854a8b93c TSC Meeting notes (#718) 2019-04-04 16:50:23 -07:00
Bernard Lefebvre 5b569ee09c Add CTF as a recognized extension. (#714) 2019-04-02 17:53:08 -04:00
Patrick Hodoul 82ecabfbe6 Adsk Contrib - Improve Apps error reporting (#715)
* Adsk Contrib - Validate the read/write image success and report any error.

* Improve error reporting

* Improve OIIO read/write flag support
2019-04-02 14:49:18 -04:00
Michael Dolan d55291d68b Rename ASWF-WIP to aswf in response to formal acceptance (#697)
* Rename ASWF-WIP to aswf in response to formal acceptance

* Replace DCO contents with link to cononical version URL
2019-03-28 23:59:24 -07:00
Patrick Hodoul 961feb4c67 Adsk contrib - Fix a bit depth issue for the Range Op (#706)
* Adsk Contrib - Fix a Range bit depth issue

* Improve the unit test
2019-03-28 22:41:30 -07:00
Bernard Lefebvre 7dd670f6c0 Adsk Contrib: Add a file to control eol of test files. (#703)
* Add a file to control eol of test files.
We favour lf on all platforms for most files.
One matrix_windows.clf is used to test crlf on different platforms.

* Update .gitattributes

eol, not eof

Co-Authored-By: BernardLefebvre <37628108+BernardLefebvre@users.noreply.github.com>
2019-03-28 12:36:13 -04:00
Michael Dolan 85c602c5a3 Add CII Best Practices badge to README.md (#708) 2019-03-28 00:28:20 -07:00
doug-walker e0c493e603 Add TSC meeting notes 2019-03-18 (#711) 2019-03-27 23:28:10 -07:00
Bernard Lefebvre e1ec1a23de Adsk Contrib - Fix GPU tests build (#707)
* A bad merge conflict resolution did break the GPU tests build (that is not built by the build system).

* Fix test image generation.
2019-03-27 23:11:09 -04:00
Patrick Hodoul 8988120479 Improve the makefiles (#702) 2019-03-27 16:54:10 -04:00
Patrick Hodoul 9fc47634f1 Adsk Contrib - Various adjustments to the Windows DLL (#700)
* Adsk Contrib - Add Windows DLL information

* Fix a code review comment
2019-03-27 14:36:46 -04:00
Patrick Hodoul 6c8c129467 Adsk Contrib - Fix 'Not SSE' build break for gcc 7.3 (#710) 2019-03-27 11:42:06 -04:00
Michael Dolan ac53fcace9 Replace google groups URL with aswf.io URL (#704) 2019-03-26 22:58:07 -07:00
Patrick Hodoul bee08c24b1 Fix a limitation for the 1D LUT inverse (#694) 2019-03-20 16:11:03 -04:00
Patrick Hodoul f73a957075 Adsk Contrib - Fix the doc generation on Windows (#693) 2019-03-20 10:26:47 -07:00
Bernard Lefebvre f88cdda7be Use a single clamp function. (#696)
Add tests for nan and infinity in source image (CPU and GPU).
2019-03-20 11:52:44 -04:00
doug-walker 4fc638ef49 Add TSC meeting notes 2019-03-18 (#701) 2019-03-19 23:56:28 -07:00
Patrick Hodoul 4b13074528 Adsk Contrib - Add the FixedFunctionOp support (#680)
* Adsk Contrib - Add the FixedFunctionOp support

* Fix a missing 'override'

* Fix a missing 'override'

* Add a whitespace to unlock the CI builds

* Add explanations to the FixedTransform styles
2019-03-15 10:10:51 -07:00
Bernard Lefebvre d3c263df15 Use Lut1DOpData for for Discreet 1DL file format. (#692) 2019-03-15 09:41:39 -04:00
Carl Rand 8e30bd0c1e Add notes for 03-11-2019 TSC meeting (#695)
* Add notes for 03-11-2019 TSC meeting

* 03-11-2019 TSC meeting notes - corrections as suggested by Michael
2019-03-13 15:31:02 -04:00
Bernard Lefebvre ff7df21c6f Restore Context.cpp tests by restoring a define. (#685) 2019-03-13 01:52:41 -07:00
Bernard Lefebvre 57537f6dc5 Remove unused functions already defined in header file (#684)
Remove unused functions that are already defined and implemented (with different case) in header file. (#684)
2019-03-13 00:46:09 -07:00
Patrick Hodoul 1632b81848 Adsk Contrib - Improve error messages for the config file parsing. (#681)
* Add line number to the Yaml parsing error messages

* Add a unit test to validate the line number

* Fix code review comments

* Improve the error messages

* Improve error messages

* Fix a merge conflict
2019-03-11 12:25:20 -07:00
Bernard Lefebvre ed0c9effaa Extract test files so that we can track changes with upcoming commits. (#688) 2019-03-11 14:07:05 -04:00
Bernard Lefebvre 67cb724854 Adsk Contrib - Rework LogOpData to get ready for Log CTF parsing. (#674)
* 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.
2019-03-11 09:56:41 -04:00
Patrick Hodoul 03ac35d6c3 Adsk Contrib - Add the Gamma Op as defined by the Adsk CTF specification (#639)
* 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
2019-03-06 07:43:17 -08:00
Patrick Hodoul 7d6e9161ca Update Windows documentation (#687)
The Windows batch file example was for OCIO v1.
I've updated the content to OCIO v2, added dependencies for GPU unit tests and added some explanations.
2019-03-06 00:13:46 -08:00
Michael Dolan 3e8dac0e8d TSC meeting notes 02-25-2019 (#689)
* Add 02-25-2019 notes as RST and correct template TSC membership
* Corrected some illegal characters
* TSC note revisions and further template correction
2019-03-05 22:07:00 -08:00
Michael Dolan bc3adeccbc Add notes for 03-04-2019 TSC meeting (#691)
* Add notes for 03-04-2019 TSC meeting

* TSC note revisions based on review
2019-03-05 19:12:18 -05:00
Michael Dolan a31de7ed96 Update OCIO mail lists to ASWF domain (#673)
* Update OCIO mail lists to ASWF domain

* Conform remaining http instances to https

* Change ocio-dev to ocio-user as it relates to config design
2019-03-05 15:18:57 -05:00
Bernard Lefebvre 41137fe7a8 Add a possibility to disable a GPU test at compile time. (#670)
A GPU test can be disabled and still visible (as disabled) in the output.
2019-02-27 11:08:36 -08:00
Patrick Hodoul 2a49ca65e7 Fix ocioconvert build (#686) 2019-02-27 09:21:49 -08:00
Larry Gritz 65a08dbedb Restore C++03 compat when using old OIIO (#682)
We recently tried to change the OCIO code so that it would build
against both OIIO 2.0 as well as the older 1.x versions. In doing so,
we inadvertently broke OCIO for C++03.

This patch still requires C++11 when building against OIIO 2.x (it has
to), but is fine with C++03 if using older OIIO.
2019-02-26 10:15:25 -05:00
Bernard Lefebvre a4dc9cd77d Adsk Contrib - Rename LUT inversion quality member to clarify the use of the member. (#666)
Rename LUT inversion quality member to clarify the use of the member.
2019-02-19 14:09:37 -05:00
Bernard Lefebvre 4516b8f75c Move non SSE build from windows to linux because linux CI builds take less time than windows CI builds. (#667) 2019-02-19 12:06:14 -05:00
Bernard Lefebvre 6d4daa461e Adsk Contrib - CLF parsing (#656)
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]
2019-02-19 09:39:02 -05:00
John Mertic 56a82bd082 Added Chair and Chief Architect names (#668)
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
2019-02-18 11:27:05 -05:00
Larry Gritz c12d935937 TSC meeting minutes 2019-02-11 (#664)
Also added template for next time
2019-02-13 09:44:25 -08:00
Patrick Hodoul ddd8dce780 Adsk Contrib - Fix some gcc/clang warnings (#662)
* Adsk Contrib - Fix some gcc/clang warnings & re-enable the 'warning as error' flag

* Try to fix clang warnings
2019-02-09 23:16:22 +00:00
John Mertic d2257a5afc Minor updates to notes 2019-02-04 (#663)
* Minor updates to notes

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>

* Fix note on GG migration to include history

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
2019-02-06 09:21:50 -08:00
Larry Gritz c52d7de436 Update CLAs per Sony legal department edits (#658)
The earlier one was copied straight from OpenVDB, which Sony Legal
decided was too closely tied to OpenVDB's use of the Mozilla Public
License.

This draft brings it more in line with the standard Linux Foundation
CLAs found here:
 https://github.com/AcademySoftwareFoundation/tac/tree/master/process

The new CCLA is exactly the LF one found above (with the proper name and
license substitutions). The new ICLA is very close to the CCLA, whereas
the LF template is more minimal; Sony Legal liked how the LF CCLA
spelled out some definitions more precisely and modeled after that.
2019-02-05 16:43:04 -05:00
Sean Cooper bea6a04cfb add OCIO TSC meeting notes (#660)
* add OCIO TSC meeting notes on behalf of Kevin Wheatley
2019-02-05 12:51:24 +00:00
Sean Cooper 1302c33963 Update README.md
Fixing link - will change in future when moving build service
2019-02-05 00:27:17 +00:00
Patrick Hodoul d8608e65f4 Adsk Contrib - Add Category support to Color Spaces (#648)
* Adsk Contrib - Add Category support to Color Spaces
* Fix Linux build break
* Update the Linux image used by Travis to upgrade gcc
* Fix the C++11 build break without upgrading gcc/clang
* Update include/OpenColorIO/OpenColorIO.h

Co-Authored-By: hodoulp <23659034+hodoulp@users.noreply.github.com>
2019-02-04 17:37:49 -05:00
Patrick Hodoul 537c2331d6 Adsk Contrib - Refactor the Range Op files to follow the new design (#657) 2019-02-03 23:49:22 -08:00
Bernard Lefebvre 62d0eca984 Lut3D inversion tests slow in debug on windows (#651)
MSVC implementation of vector does many checks in debug and this makes the LUT 3D inversion tests too slow to be enabled by default in debug for windows. (#651)
2019-01-31 15:08:33 -08:00
Patrick Hodoul d63b5a152f Adsk Contrib - Optimization of the 3D LUT finalize (#652)
* Adsk Contrib - Optmization of the 3D LUT finalize

* Fix Linux build breaks following master merge
2019-01-31 09:36:22 -08:00
Patrick Hodoul 75ffa18650 Adsk Contrib - Remove the cmake HOMEPAGE_URL (#655)
Adsk Contrib - Remove the cmake HOMEPAGE_URL as the version 3.10 does not support it (i.e. support started with 3.12) (#655)
2019-01-31 00:34:18 -08:00
Patrick Hodoul d6c84a65c6 Adsk Contrib - Fix some Windows & Linux compilation warnings (#650) 2019-01-30 21:32:54 -08:00
Patrick Hodoul 2d8c8b42cb Adsk Contrib - Enable Windows CI build without SSE support (#649)
* Enable CI build without SSE

* Fixing a Matrix test that does not work in non SSE mode.

* Update MatrixOps.cpp

Only use errorInverse for the inverse transform

* Remove large values from MatrixOps tests
2019-01-30 17:55:09 -08:00
Bernard Lefebvre b7cee8921c Adjust LUT 3D compose function to match the LUT 1D version (#653) 2019-01-30 15:14:39 -05:00
Sergey Sharybin 718cc7f9f7 Fix wrong display returned by getDefaultDisplay() (#638)
* Fix window-specific issue in GetEnv()

While the content of result was correct, its length was set
to a wrong size.

This is a patch by Patrick Hodoul.

* Fix wrong display returned by getDefaultDisplay()

Solved by ignoring environment variable if it's an empty string.
Ideally, need to test it to be NULL instead to support obscure
case when empty string is passed. Unfortunately, this is not
possible with the current API, and is unlikely scenario anyway.

The issue was caused by wrong logic around parsing display/views
override environment variable: if it is missing, it was converted
to an empty string. That empty string was considered an override
of one element display, with an empty name.

Additionally, make it so getDisplay() returns displays in order
of either active_displays configuration variable or environment
variable override. the issue there was caused by wrong order of
arguments to vector intersection.
2019-01-29 14:33:15 -08:00
Bernard Lefebvre c302a2163d Adsk Contrib - Matrix improvements and refactor. (#641)
* Matrix improvments and refactor.

This PR adds double support and refactors Matrix towards CLF support.

Note that the Lut1D PR has to be merged first (there is temporary code in OpTools.cpp that will be removed when merging with Lut1D).

* Update MatrixOps.h

fix include file case

* Rename setRGBValues and setRGBAValues by removing Values for better consistency.
2019-01-24 10:00:20 -08:00
Patrick Hodoul 1f5fc8c9e0 Adsk Contrib - 3D LUT misc. changes (#642)
* Adsk Contrib - 3D LUT misc. changes

* Add an explanation to the 3D LUT max dimension

* Fix merge conflicts
2019-01-23 16:57:53 -08:00
Bernard Lefebvre 33f61e45a1 Adsk Contrib - Lut1D improvements (WIP) (#640)
* Lut1D improvements (WIP)

This PR contains upgrades to the Lut1D that speeds up inversion and sets the foundation for further improvements.  This PR is related to several upcoming PRs and is a Work in Progress.  As previously mentioned we are also planning on adding support for integer pixel buffers for the apply method.  This PR contains some code paths in Lut1DOpCPU.cpp that will not do anything until the bit-depth PR arrives and it will be substantially refactored at that time.  We are also adding support for CLF reading and until that arrives we cannot add some of the SynColor unit tests.

This PR keeps the original Lut1D struct from OCIO v1, which is used in the file format readers.  However in a future PR those will be switched over to using the new Lut1DOpData class and the original struct will be removed.  The code for determining if a LUT is a no-op/identity is changing somewhat as part of this and the new algorithm is in this PR but will not actually be used in the file readers until the upcoming PR.

Apologies for the incomplete aspects of this review.  We are trying to keep the PRs smaller but this implies the complete picture will not be clear until all the branches are in place.

* Update Lut1DOp.cpp

Replace tab by spaces

* Update Lut1DOpCPU.cpp

Update copyright

* Update src/OpenColorIO/ops/Lut1D/Lut1DOpData.cpp

Co-Authored-By: BernardLefebvre <37628108+BernardLefebvre@users.noreply.github.com>

* Update src/OpenColorIO/ops/Lut1D/Lut1DOpData.cpp

Co-Authored-By: BernardLefebvre <37628108+BernardLefebvre@users.noreply.github.com>

* Update src/OpenColorIO/ops/Lut3D/Lut3DOpData.cpp

Co-Authored-By: BernardLefebvre <37628108+BernardLefebvre@users.noreply.github.com>

* Remove Lut3D changes from the Lut1D PR.
Fix a compilation conversion warning.
2019-01-23 14:06:38 -08:00
Patrick Hodoul 0cdee3300c Adsk Contrib - Fix a compilation warning (#645)
* Adsk Contrib - Fix a compilation warning

* Fix a code review comment
2019-01-16 11:10:00 -08:00
Larry Gritz 7a59611c2d Add draft ASWF charter, CLA, DCO (#647) 2019-01-15 17:50:28 -08:00
Patrick Hodoul b127069efa Adsk Contrib - Fix doc issues (#644) 2019-01-15 09:23:31 -08:00
Patrick Hodoul 0455546efb Adsk Contrib - Fix Windows command line build for unit tests of Python bindings (#646) 2019-01-14 23:24:20 -08:00
Michael Dolan 7fea82f42e Propose additional OCIO TSC members (#643) 2019-01-14 21:15:26 -08:00
Michael Dolan 723b9bc4a7 Refine CII status assessment and formatting (#637)
* Refine CII status assessment and formatting

* Remove extra "*" prefixes

* Update strict warning assessment
2018-12-18 17:54:03 -08:00
Troy James Sobotka 290992652f Fixes for conflicting PFNGLGETFRAGMENTMATERIALIVSGIXPROC (#636)
PFNGLGETFRAGMENTMATERIALIVSGIXPROC
has a conflicting definition in Debian Buster
and will cause OCIO to fail building.
Removing glext references in the offending
files solves the compilation issues.

Fixes #635
2018-12-18 16:48:52 -08:00
Patrick Hodoul f528401558 Update the ubuntu docker file (#634) 2018-12-18 11:39:18 -08:00
Bernard Lefebvre 42ba4100b3 Adsk Contrib - const shared_ptr. (#628)
* const shared_ptr.
A const shared_ptr does not prevent to modify the pointed object. shared_ptr to const objects should be used instead.
This is adding const correctness. One drawback is that when a shared_ptr to data can not be used as a parameter to a function that expects a reference shared_ptr to const data. A shared_ptr to const data has to be constructed and passed to the function.

* On linux opData() functions are returning an object that needs to be assigned before being passed as a reference.

* Adjust Lut3D that got merged from master to use shared pointers to const objects
2018-12-07 11:14:02 -08:00
Bernard Lefebvre fb7df625a5 Adsk Contrib - Refactor 3D LUT. (#625)
* Refactor 3D LUT.
Create new Lut3DOpData class.
Keep the old Lut3D struct for some file format loading. Once loaded Lut3D is converted into Lut3DOpData to create Lut3D ops. These will be refactored in a later PR.
Introduce the Array class that will also be used by other types such a Lut1D and Matrix.
Add new CPU renderer (and tests to compare with legacy computation).
Add support for Lut3D inversion.

* Update FileFormatIridasLook.cpp

remove tab

* Update Lut3DOp_test.cpp

Add comment about poor threshold

* Update src/OpenColorIO/Platform.h

Co-Authored-By: BernardLefebvre <37628108+BernardLefebvre@users.noreply.github.com>

* Update Lut3DOpData.cpp

Turn commented code to OCIO code

* Update OpenColorTypes.h

Add comment about 3D LUT inversion

* Update Lut3DOpData.h

Add comment about inversion methods

* Update OpenColorTypes.h

Adjust comment
2018-12-04 21:24:45 -08:00
Larry Gritz e73663edcd Core Infrastructure Initiative Best Practices status (#633)
Copied from here: https://github.com/coreinfrastructure/best-practices-badge/blob/master/doc/criteria.md

I added the colorful emoji annotations next to each item. Most are
marked with the 'unknown' question mark indicating that somebody more
knowledgeable needs to assess it, but I tried to mark the ones as done
(green check box) that were obvious to me.

The idea is that once we check this in to the developer docs, people can
submit PRs that modify the status of items that they know about, or as
they are fixed.
2018-12-03 17:46:52 -08:00
Patrick Hodoul 0e7d43d328 Adsk Contrib - Use C++11 mutex (#632)
* Use the C++11 std::mutex

* Remove a useless header file from Mutex.h
2018-11-27 10:18:52 -08:00
Sean Cooper 47ff2f0a5b conform LICENSE, CHANGELOG, README naming (#629) 2018-11-21 23:06:18 -08:00
Sean Cooper 989802aa70 fix typo in internal architecture docs (#631) 2018-11-21 21:57:11 -08:00
Michael Dolan 62176f9c49 Add CONTRIBUTING and GOVERNANCE documents (#624)
* Add CONTRIBUTING and GOVERNANCE documents

* Address comments and typos
2018-11-19 23:41:50 -08:00
Patrick Hodoul 1942df4d0f Adsk Contrib - Add the CDL Op following the CLF specification (#619)
* 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
2018-11-12 16:38:18 -08:00
Patrick Hodoul aadd5ecb88 Add a style (i.e. Clamp & noClamp) to the Range Op (#618) 2018-11-09 17:15:06 -08:00
Patrick Hodoul 82da89299f Adsk Contrib - Change the library version (#596)
* Change the library version

* Change the so name to remove the 'dev' (i.e. only keep the version part)
2018-11-07 17:57:00 -08:00
Anthony 1b9d1ced28 Match code convention on casing of SatNode to clear up ambiguity (#550)
- the code, tests, etc all use SatNode
2018-11-06 14:15:24 -08:00
Patrick Hodoul 20d1f0ddaa Add header files to the library install (#616) 2018-11-05 17:55:54 -08:00
Bernard Lefebvre 18bb109fa4 Adsk Contrib - Replace tinyXML by expat (#57) (#614)
* 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
2018-11-01 09:47:47 -07:00
Patrick Hodoul b552e28019 Fix Windows link failure when compiling a static library (#599)
Fix issue #590.
2018-10-24 09:40:44 -07:00
Patrick Hodoul fbac5ec2bc Adsk Contrib - Add the Range Op based on the CLF specification (#611)
* Adsk Contrib - Add the Range Op based on the CLF specification

* Fix a Range issue
2018-10-23 16:03:03 -04:00
Patrick Hodoul d6757b2a01 Adsk Contrib - Add ilmbase (half part only) for half domain LUT 1D support (#606)
* Add ilmbase (half part only) library for the half domain LUT 1D support
* Fix ilmbase build minor issues
2018-10-22 14:00:22 -07:00
Patrick Hodoul bc19577066 Adsk Contrib - Add a specialized OpData class to all existing Ops (#598)
* Add a specialized OpData class to all existing Ops

* Rename new structures to append OpData
2018-10-09 13:52:27 -07:00
Patrick Hodoul 872a37111f Add transform validations (#593) 2018-10-08 08:54:26 -07:00
Patrick Hodoul 7822163668 Add minor & major version to the configuration file (#589) 2018-10-08 07:38:24 -07:00
Patrick Hodoul a4396a5c1a Add gpu support to ocioconvert (#588) 2018-10-08 06:51:57 -07:00
Larry Gritz 1ff22741ff Add Compatibility with OIIO 1.9+ API changes (#601)
This fix adds compatibility with OIIO 1.9+, minor ImageInput/ImageOutput API changes. At a certain point ImageInput::create switched from returning a raw pointer (that later needed to be deleted) to returning a std::unique_ptr.
2018-10-05 13:33:23 -07:00
Patrick Hodoul ea650342d5 Fix ubuntu g++ 5.4.0 warnings (#600) 2018-10-05 10:39:15 -07:00
Bernard Lefebvre 8a17491612 Adsk Contrib - Fix Platform.h/cpp indentation (#582)
* Fix Platform.* namespace indentation and Platform.cpp header

* unindent private: and make sure spaces are used (and not tabs)
2018-10-04 13:12:43 -07:00
Patrick Hodoul c10d3135c7 Remove doc generation from CI (#603) 2018-10-04 12:05:15 -07:00
Bernard Lefebvre b3a12db89b Adsk Contrib - Fix some spelling and format issues with comments (redone) (#581)
* 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
2018-10-04 10:12:33 -07:00
Bernard Lefebvre 32a6be0db3 Adsk Contrib - CDL tests (#595)
* Add tests for CDL formats and transform.
Refactor fonction to load a test file.

* Remove .bak files
2018-10-04 10:24:12 -04:00
Bernard Lefebvre 0be465feb9 Squashing Adsk contrib/operator rhs (#44) (#580)
operator=
- make sure rhs is compared with this before assigning
- avoid a shared pointer copy
- fix https://github.com/imageworks/OpenColorIO/issues/563
2018-09-28 16:11:05 -07:00
Shootfast 2f5fbfc802 Repository Restructure and CMake refactor (#520)
* Jump to C++11
* Removed Boost dependency
* Bumped CMake Minimum 3.10
* Modernized CMake builders
* Restructured repo directories
* Set project version to 2.0.0
2018-09-28 15:28:36 +01:00
Sean Cooper 90cd08fb33 re-add warning as error to windows ci (#573)
Adding due to #551
2018-09-16 04:53:09 -07:00
Bernard Lefebvre 90fa74d657 These TrueLight tests were not testing all pixels (#567) 2018-09-16 04:41:36 -07:00
Patrick Hodoul b49977fd9c Improve the unit test capabilities and outputs (#564)
Improve unit test capabilities and outputs with new macros.


The pull request adds new macros and improves the unit test outputs.

The new macros stop the unit test if there is an error because it invalidates the following validations. Please refer the first unit test of src/core/MatrixOps.cpp to see the usage.

Note: After several changes in the src/oiio/src/include/unittest.h, the file is more and more specific to the OCIO project, and so it could be moved/renamed to src/core_tests or another existing framework could be used (with much more capabilities).
2018-09-11 11:02:13 -07:00
Rémi Achard 1a9098f0d4 Resolve .cube format support (#561)
Add Resolve .cube LUT format support (1d LUT, 3d LUT, and combined 1d shaper + 3d LUT). 


* Resolve .cube format support
* Fix python unit tests
* Add unit test for 1D + 3D combined LUT
* Fix missing header for std::max
* Fix mintor typos
* Remove debug log
* Support 1D, 3D and 1D+3D LUT write
* Unit tests for baker output
* Don't specify LUT_ND_INPUT_RANGE tags if not needed, for wider parsing compatibility
2018-09-11 10:10:15 -07:00
Sean Cooper 43a543bf02 Add CI build option (#551)
* Add optional warning as error

* reformating - whitespace removal
2018-09-10 13:43:48 -07:00
Patrick Hodoul 15e96c1f57 Adsk contrib: Address issue 549 & 548 (#555)
* Imrpove the glsl helper class

* Add some validations
2018-07-18 10:32:01 -07:00
pjurkas 5debb01889 Rebind textures in OpenGLBuilder::useAllTextures (#552) 2018-07-18 12:49:44 -04:00
Reto Kromer eb7c845c54 fix typos (#553) 2018-07-18 12:49:25 -04:00
Reto Kromer 86e25483e3 fix typo (#554) 2018-07-18 12:49:12 -04:00
Joseph Goldstone 75b4749b33 Master (#540)
* Add basic write functionality for Iridas cube 3D LUTs (no shapers).

* Incorporate part of OCIO PR #530 that gets past markupsafe install issue

* Bump Baker.py expected number of writable formats from 6 to 7 as we add Iridas Cube writing

* size_t instead of int on loop variable set from size() return value

* Add basic write functionality for Iridas cube 3D LUTs (no shapers).

* Bump Baker.py expected number of writable formats from 6 to 7 as we add Iridas Cube writing

* size_t instead of int on loop variable set from size() return value

* Remove accidental double addition of Write member function declaration and definition.

* Update to note that we can write Iridas cubes now.

* Conform to convention on spaces between if and for, and the following open parenthesis.

* Add basic write functionality for Iridas cube 3D LUTs (no shapers).

* Bump Baker.py expected number of writable formats from 6 to 7 as we add Iridas Cube writing

* size_t instead of int on loop variable set from size() return value

* Remove accidental double addition of Write member function declaration and definition.

* Update to note that we can write Iridas cubes now.

* Conform to convention on spaces between if and for, and the following open parenthesis.

* Add missing #include of <algorithm>, the lack of which broke the WIndows build.

* Address [minor] issues from code review.
2018-06-28 22:17:54 -07:00
Bernard Lefebvre cd29f0ed82 Adsk contrib/add icc support (#541)
* Adding icc support (#31)

Extract code from SampleICC to allow reading ICC profiles.
Add tests.

* Adjust include file case to match the file

* Adjust error tolerance for one test

* Update iccProfileReader.h

Add a cast to fix conversion issue.
2018-06-27 23:35:37 -07:00
Patrick Hodoul 25525112b1 Add the new GPU API support (#539)
* Add the new GPU API with the legacy shader desc

* Add GPU tests for ExponentTransform and LogTransform (#15)

* Add GPU tests for ExponentTransform and LogTransform

* Update file header

* Add GPU unit tests

* Add Generic GPU support

* fix

* Add missing files

* Fix breaks following the merge

* Fix Linux build breaks

* Add some comments

* Add new unit tests

* Changes following the code review

* Add more GPU unit tests

* Change unit test luts to improve GPU unit test results

* Add various improvements on GPU shader program
Add many new GPU unit tests

* Fixes

* Fix errors following the cherry-pick's

* Fix comments from code review

* Fix OSX build breaks

* Add a new test

* Fix lang-glsl installation

* Fix Linux build breaks

Add CPU unit tests

Add GPU unit tests

Fix OSX build breaks

* Fix Linux build break

* Fix AppVeyor build change

* Fix AppVeyor build change, part II
2018-06-21 14:03:35 -07:00
Bernard Lefebvre a80857f7aa Adsk contrib/discreet1 d lut (#25) (#535)
Discreet 1D LUT: Add read support copying code from syn color. No support for half float. Bitdepth is ignored and lut are converted to [0.f, 1.0f] 
Add tests for Discreet 3D-Luts and other FileFormats
Make 3dl parsing stricter (rejecting ctf)
Rework error message when several formats are tried.
Rename GetLut3DIndex_B & GetLut3DIndex_R to what they are actually for.
2018-05-07 21:34:53 -07:00
Patrick Hodoul 7fece5efb4 Fix some warnings and add some gpu unit tests (#534)
* Fix some warnings and add some gpu unit tests

* Fix a Linux warning

* Add gpu unit tests

* Improve the explanation for GetFloatString()
2018-04-27 10:08:28 -07:00
Michael Dolan 48cbc20a3e Merge pull request #530 from autodesk-forks/adsk_contrib/OpUnitTests
Unit tests for ops
2018-04-24 22:19:31 -07:00
Bernard Lefebvre 6336823e21 prefer bash_profile for osx 2018-04-12 14:51:07 -04:00
Bernard Lefebvre e249c27436 MAYA-91350 - OSX builds for Pull Request in https://github.com/imageworks/OpenColorIO failed
Trying several thing in a fork and finally found that using pyenv as suggested in https://github.com/ianunruh/hvac/issues/75 worked.
Validate that all builds are now passing on my fork.
2018-04-12 13:49:03 -04:00
Bernard Lefebvre 0c59282b68 Some builds are failing to compare smart pointer to NULL. Adding .get() 2018-04-11 14:06:36 -04:00
Bernard Lefebvre d63787af8b Review unit tests for ops (#13)
Unit tests for operators: review existing tests and add no tests.
Add macro to test the content of an Exception being thrown.
Tests for AllocationOps, ExponentOps, LogOps, Lut1DOps, Lut3DOps, MatrixOps, NoOps.
Fix GPU tests disabling.
Remove an hardcoded dependency.
Fix a gcc 4.4.x build break. The program was only used by gcc 8.x.x build so hide it for lower gcc versions
2018-04-11 13:42:08 -04:00
Michael Dolan f35a8ef0ac Add Documentation for OCIO::Baker Python Bindings (#515) (#528)
Pull initial docstrings from C++ API documentation, and refine to
play nicely with Sphinx.

Add example demonstrating how to query all formats with write
capability, and more detailed explanation of looks token formatting.

Append Baker to PythonAPI.rst. Its omission from there was the reason
Baker was missing from API docs.
2018-04-03 16:42:50 +01:00
Adam Williamson dcfd2f3c62 Fix build of Python bindings with GCC 8 (#518)
GCC 8 appears to be rather stricter about various issues to do
with type conversions and casts than GCC 7 was. This affects
OpenColorIO's Python bindings quite heavily, producing a large
number of warnings (which are converted to errors by `-Werror`)
and outright errors.

The changes here are almost all one of three basic types:

1. Many functions that become Python methods with no arguments
(using the METH_NOARGS flag) did not include the expected second
parameter in their signatures at all. METH_NOARGS does not
prevent this second parameter being passed *at all*, it only
ensures that it will always be NULL. It's still not technically
correct to leave it out of the function signature; as a comment
from 'yak' on  https://stackoverflow.com/questions/10256315
points out, there are situations where this could cause a crash.
I've added the second parameter (with no name, per convention)
to every one of these cases.

2. In several cases, classes specified a custom destructor, with
a cast to the `destructor` type, which only takes a single
parameter. However, the signatures for these destructor functions
included two parameters, assuming that they'd get an 'args'
parameter (they do not). I've corrected all these cases.

3. In several cases, classes specified custom str or repr
methods. However, in the `PyTypeObject` structures for these
classes, these methods were not cast to the `reprfunc` type, as
they ought to be. I've added these casts.

There are two warnings I just can't get rid of with my limited
C++ knowledge. The `Config` class (in PyConfig.cpp) defines a
couple of methods that take kwargs as well as args. This is
done by setting the `METH_KEYWORDS` flag, which ultimately seems
to result in a cast from type `PyCFunctionWithKeywords` to
`PyCFunction` happening somewhere behind the scenes. There's some
discussion of this at https://stackoverflow.com/questions/9496753

GCC 8 does not like this cast - it causes a 'cast-function-type'
warning. I've messed around a bit with `reinterpret_cast` and
stuff, but didn't really understand precisely what I was doing
and didn't manage to find anything that got rid of the warnings.
So I just suppressed these warnings with GCC pragmas instead
(using `-Wno-error=cast-function-type` causes older GCC versions
to choke, so we can't do that).

I've tested at least that the compilation succeeds, and I can
import the Python module and instantiate a few classes and
examine their docstrings and stuff with no apparent errors.

Many thanks to Kevin Kofler for his help with these fixes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-21 13:11:01 +00:00
Brendan Bolles f04cf3f2c6 Bump version numbers for After Effects and Photoshop plug-ins (#514)
* Stop accepting .ccc files while we don't have a way to get the ID

* Getting video space buffers for Premiere

* Bump After Effects and Photoshop plug-ins to 1.1.0

* Update Mac AE and PS plug-in builds

* Update Windows AE and PS plug-in builds
2018-02-07 17:11:10 +00:00
Patrick Hodoul 94fd527843 Add matrix inverse unit tests for GPU and CPU (#513) 2018-02-03 12:38:55 +00:00
Patrick Hodoul 9ff662a45a Improve the debug Mutex implementation to trap more problems (#510) 2018-02-03 12:38:38 +00:00
Patrick Hodoul 7f0bd87349 Fix ubuntu dockerfile & add some documentation (#511)
* fix in ubuntu docker
* fix display issue
2018-01-24 12:02:37 +00:00
Reto Kromer 1e0f0d79ed fix typos (#508) 2018-01-23 00:55:50 +00:00
Sean Cooper 4617e895d6 bump 1.1.1
Change semantics of Master branch from "latest" to "dev"
2018-01-19 18:52:02 +00:00
Jonathan Scruggs 8d48ee8da4 Use GNUInstallDirs and fix install location for cmake files (#501)
GNUInstallDirs is supported on all platforms and variables are set
to the standard GNU locations.

Fix the location where the .cmake files are installed.

Signed-off by: Jonathan Scruggs <j.scruggs@gmail.com>
2018-01-19 10:17:18 +00:00
Sean Cooper 6fe2874bea add admin files for gh-pages deployment (#502)
In order to fix gh-pages deployment the ".nojekyll" file has to be
added to avoid ignoring _* directories containing our images.
2018-01-16 18:59:07 +00:00
Reto Kromer 66f1b0279d fix typo (#504) 2018-01-16 18:58:48 +00:00
Reto Kromer fa2a4426a4 fix typos (#505) 2018-01-16 18:58:37 +00:00
Patrick Hodoul 9a77df335a Fix Linux compilation (#498)
Fix gcc 5.4.0 build breaks
Fix the temp filename for Linux
2018-01-09 20:05:38 +00:00
Patrick Hodoul 3a96bb066b Create GPU framework for unit tests (#488)
* Create the framework for any GPU unit tests

1. Create an empty framework
2. Add the CPU processing and 2 gpu unit tests

3. Add one Lut 3d gpu init test

4. Remove some Windows warnings

* Fix Linux compilation
Fix gcc 5.4.0 build breaks
Fix the temp filename for Linux

* Improve the GPU unit test makefile
1. Enforce the black box approach by only using the dynamic library (and not source files like CPU unit tests)
2. Remove useless external dependencies

* Fix GPU unit test issue where the wrong dynamic library was used
1. Add the PATH to the test script
2. Fix the dynamic library path when using the "Visual Studio" target for cmake i.e. by default, it adds the build type in the output path of a target...

* Add some comments and some unit tests

* Compile everything but only run CPU & Python tests (not the GPU ones)

* Add some missing packages

* Fix OSX build break
2018-01-09 20:04:49 +00:00
Patrick Hodoul d080a2c5ea Add ubuntu 16.04 docker file (#490) 2018-01-09 00:30:16 +00:00
Patrick Hodoul d928ecbab4 Improve the OCIO exception (#497)
* Remove the std::string dependency in public API
* Switch to more portable std::runtime_error
2018-01-09 00:29:43 +00:00
2073 changed files with 2128602 additions and 80890 deletions
+3 -37
View File
@@ -1,37 +1,3 @@
version: '{branch}-{build}'
image: Visual Studio 2013
clone_folder: C:\source\ocio
test: auto
configuration:
- Release
platform:
- x64
environment:
global:
CMAKE_PREFIX_PATH: C:/Libraries/boost
BOOST_ROOT: 'C:\Libraries\boost'
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
CMAKE_PLATFORM: "Visual Studio 12 2013 Win64"
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
CMAKE_PLATFORM: "Visual Studio 14 2015 Win64"
install:
- cinstall: python
build_script:
- echo Running cmake...
- mkdir _build
- cd _build
- cmake
-G "%CMAKE_PLATFORM%"
-DCMAKE_INSTALL_PREFIX=..\_install
-DOCIO_USE_BOOST_PTR=ON
-DCMAKE_BUILD_TYPE=%CONFIGURATION%
..
- cmake --build . --target install --config %CONFIGURATION%
- cmake --build . --target MainTests --config %CONFIGURATION%
matrix:
fast_finish: true
branches:
only:
- /^RB-1.*$/
+21
View File
@@ -0,0 +1,21 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
# Control the end-of-line (i.e. eol) type for all the test files.
# Most formats are text formats. Binary formats are excluded below.
# Favor LF for all text files on all platforms.
tests/data/files/* text eol=lf
# Use CRLF for this file to validate clf parser also handles it.
tests/data/files/matrix_windows.clf text eol=crlf
# A binary file with a clf extension that will fail to be parsed.
tests/data/files/image_png.clf binary
# Exclude binary formats.
tests/data/files/*.icc binary
tests/data/files/*.icm binary
# Avoid Windows line breaks in shell scripts (bound to fail)
*.sh text eol=lf
+20
View File
@@ -0,0 +1,20 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
# Only do security updates rather than all version updates.
open-pull-requests-limit: 0
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "monthly"
# Only do security updates rather than all version updates.
open-pull-requests-limit: 0
+84
View File
@@ -0,0 +1,84 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
# GitHub Actions workflow file
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Analysis
on:
pull_request:
branches-ignore:
- RB-0.*
- RB-1.*
- gh-pages
tags-ignore:
- v0.*
- v1.*
paths:
- .github/workflows/analysis_workflow.yml
schedule:
# Nightly build
- cron: "0 0 * * *"
jobs:
# ---------------------------------------------------------------------------
# SonarCloud static analysis
# ---------------------------------------------------------------------------
linux_sonarcloud:
name: 'Linux VFX CY2023 SonarCloud'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
# GH-hosted VM. The build runs in ASWF 'container' defined below.
runs-on: ubuntu-latest
container:
# DockerHub: https://hub.docker.com/u/aswf
# Source: https://github.com/AcademySoftwareFoundation/aswf-docker
image: aswf/ci-ocio:2023
env:
CXX: g++
CC: gcc
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 50
- name: Install build-wrapper
uses: SonarSource/sonarqube-scan-action/install-build-wrapper@59db25f34e16620e48ab4bb9e4a5dce155cb5432 # v8.0.0
- name: Install docs env
run: share/ci/scripts/linux/dnf/install_docs_env.sh
- name: Install tests env
run: share/ci/scripts/linux/dnf/install_tests_env.sh
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_CXX_FLAGS="-g -O0 -fprofile-arcs -ftest-coverage" \
-DCMAKE_CXX_OUTPUT_EXTENSION_REPLACE=ON \
-DCMAKE_EXE_LINKER_FLAGS="-lgcov" \
-DOCIO_BUILD_DOCS=ON \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
-DOCIO_WARNING_AS_ERROR=ON \
-DPython_EXECUTABLE=$(which python)
working-directory: _build
- name: Build OCIO with build-wrapper
run: build-wrapper-linux-x86-64 --out-dir bw_output make clean all
working-directory: _build
- name: Test
run: ctest -V -C Release
working-directory: _build
- name: Generate code coverage report
run: share/ci/scripts/linux/run_gcov.sh
- name: Run sonar-scanner
uses: SonarSource/sonarqube-scan-action@59db25f34e16620e48ab4bb9e4a5dce155cb5432 # v8.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+746
View File
@@ -0,0 +1,746 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
# GitHub Actions workflow file
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: CI
on:
push:
# Versioned branches and tags are ignored for OCIO <= 1.x.x
branches-ignore:
- RB-0.*
- RB-1.*
- gh-pages
tags-ignore:
- v0.*
- v1.*
pull_request:
branches-ignore:
- RB-0.*
- RB-1.*
- gh-pages
tags-ignore:
- v0.*
- v1.*
jobs:
# Linux jobs run in Docker containers, so the latest OS version is OK. macOS
# and Windows jobs need to be locked to specific virtual environment
# versions to mitigate issues from OS updates, and will require maintenance
# as OS versions are retired.
#
# GH Actions (Free plan) supports 20 concurrent jobs, with 5 concurrent macOS
# jobs. This workflow tries to utilize (but not exceed) that budget to
# promote timely CI.
# ---------------------------------------------------------------------------
# Linux
# ---------------------------------------------------------------------------
linux:
name: 'Linux VFX CY${{ matrix.vfx-cy }}
<${{ matrix.compiler-desc }}
config=${{ matrix.build-type }},
shared=${{ matrix.build-shared }},
simd=${{ matrix.use-simd }},
cxx=${{ matrix.cxx-standard }},
docs=${{ matrix.build-docs }},
oiio=${{ matrix.use-oiio }}>'
# Avoid duplicated checks when a pull_request is opened from a local branch.
if: |
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name != github.repository
# GH-hosted VM. The build runs in ASWF 'container' defined below.
runs-on: ubuntu-latest
container:
# DockerHub: https://hub.docker.com/u/aswf
# Source: https://github.com/AcademySoftwareFoundation/aswf-docker
image: aswf/ci-ocio:${{ matrix.container-tag || matrix.vfx-cy }}
strategy:
fail-fast: false
matrix:
build: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
include:
# -------------------------------------------------------------------
# VFX CY2026 (Python 3.13)
# -------------------------------------------------------------------
- build: 12
build-type: Debug
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'ON'
use-simd: 'ON'
use-oiio: 'ON'
aswf-ocio-version: 2.5.2
cxx-standard: 20
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
vfx-cy: 2026
install-ext-packages: MISSING
- build: 11
build-type: Release
build-shared: 'ON'
build-docs: 'ON'
build-openfx: 'ON'
use-simd: 'OFF'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2026
install-ext-packages: ALL
- build: 10
build-type: Release
build-shared: 'OFF'
build-docs: 'OFF'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2026
install-ext-packages: ALL
# -------------------------------------------------------------------
# VFX CY2025 (Python 3.11)
# -------------------------------------------------------------------
- build: 9
build-type: Debug
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'ON'
use-simd: 'ON'
use-oiio: 'ON'
aswf-ocio-version: 2.4.2
cxx-standard: 20
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
vfx-cy: 2025
install-ext-packages: MISSING
- build: 8
build-type: Release
build-shared: 'ON'
build-docs: 'ON'
build-openfx: 'ON'
use-simd: 'OFF'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2025
install-ext-packages: ALL
- build: 7
build-type: Release
build-shared: 'OFF'
build-docs: 'OFF'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2025
install-ext-packages: ALL
# -------------------------------------------------------------------
# VFX CY2024 (Python 3.11)
# -------------------------------------------------------------------
- build: 6
build-type: Debug
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'ON'
use-simd: 'ON'
use-oiio: 'ON'
aswf-ocio-version: 2.3.2
cxx-standard: 20
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
vfx-cy: 2024
install-ext-packages: MISSING
- build: 5
build-type: Release
build-shared: 'ON'
build-docs: 'ON'
build-openfx: 'ON'
use-simd: 'OFF'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2024
install-ext-packages: ALL
- build: 4
build-type: Release
build-shared: 'OFF'
build-docs: 'OFF'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2024
install-ext-packages: ALL
# -------------------------------------------------------------------
# VFX CY2023 (Python 3.10)
# -------------------------------------------------------------------
- build: 3
build-type: Debug
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'ON'
use-simd: 'ON'
use-oiio: 'ON'
aswf-ocio-version: 2.2.1
cxx-standard: 20
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
vfx-cy: 2023
install-ext-packages: MISSING
- build: 2
build-type: Release
build-shared: 'ON'
build-docs: 'ON'
build-openfx: 'ON'
use-simd: 'OFF'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2023
install-ext-packages: ALL
- build: 1
build-type: Release
build-shared: 'OFF'
build-docs: 'OFF'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2023
install-ext-packages: ALL
env:
CXX: ${{ matrix.cxx-compiler }}
CC: ${{ matrix.cc-compiler }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install docs env
run: share/ci/scripts/linux/dnf/install_docs_env.sh
if: matrix.build-docs == 'ON'
- name: Install tests env
run: share/ci/scripts/linux/dnf/install_tests_env.sh
- name: Install ASWF OpenColorIO for OpenImageIO
# The container's prebuilt OpenImageIO is linked against a specific
# OpenColorIO release that the container does not ship (it's built
# from source here instead). Fetch that release from the ASWF Conan
# remote so OpenImageIO's dependency resolves at link/run time.
if: matrix.use-oiio == 'ON'
run: share/ci/scripts/linux/dnf/install_aswf_opencolorio.sh ${{ matrix.aswf-ocio-version }} ${{ matrix.vfx-cy }}
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
-DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_USE_SIMD=${{ matrix.use-simd }} \
-DOCIO_USE_OIIO_FOR_APPS=${{ matrix.use-oiio }} \
-DOCIO_INSTALL_EXT_PACKAGES=${{ matrix.install-ext-packages }} \
-DOCIO_WARNING_AS_ERROR=ON \
-DPython_EXECUTABLE=$(which python)
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config ${{ matrix.build-type }} \
-- -j$(nproc)
echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV
working-directory: _build
- name: Test
run: ctest -V -C ${{ matrix.build-type }}
working-directory: _build
- name: Test CMake Consumer with shared OCIO
if: matrix.build-shared == 'ON'
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
- name: Test CMake Consumer with static OCIO
if: matrix.build-shared == 'OFF'
# The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to
# extract it from the headers, like the other modules.
#
# Prefer the static version of each dependencies by using <pkg>_STATIC_LIBRARY.
# Alternatively, this can be done by setting <pkg>_LIBRARY and <pkg>_INCLUDE_DIR to
# the static version of the package.
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dexpat_STATIC_LIBRARY=ON \
-DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DImath_STATIC_LIBRARY=ON \
-Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_STATIC_LIBRARY=ON \
-Dyaml-cpp_VERSION=0.8.0 \
-DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DZLIB_STATIC_LIBRARY=ON \
-Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dminizip-ng_STATIC_LIBRARY=ON
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
# ---------------------------------------------------------------------------
# macOS Intel
# ---------------------------------------------------------------------------
macos:
name: 'macOS 15 intel
<AppleClang
arch=${{ matrix.arch-type }},
config=${{ matrix.build-type }},
shared=${{ matrix.build-shared }},
simd=${{ matrix.use-simd }},
cxx=${{ matrix.cxx-standard }},
python=${{ matrix.python-version }},
docs=${{ matrix.build-docs }},
oiio=${{ matrix.use-oiio}}>'
# Avoid duplicated checks when a pull_request is opened from a local branch.
if: |
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name != github.repository
runs-on: macos-15-intel
strategy:
matrix:
build: [3, 4]
include:
- build: 4
arch-type: "x86_64;arm64"
build-type: Release
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 20
python-version: '3.12'
- build: 3
arch-type: "x86_64"
build-type: Debug
build-shared: 'OFF'
build-docs: 'OFF'
build-openfx: 'ON'
use-simd: 'OFF'
use-oiio: 'OFF'
cxx-standard: 17
python-version: '3.10'
steps:
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install docs env
run: share/ci/scripts/macos/install_docs_env.sh
if: matrix.build-docs == 'ON'
- name: Install tests env
run: share/ci/scripts/macos/install_tests_env.sh
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
-DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_USE_SIMD=${{ matrix.use-simd }} \
-DOCIO_USE_OIIO_FOR_APPS=${{ matrix.use-oiio }} \
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
-DOCIO_WARNING_AS_ERROR=ON \
-DPython_EXECUTABLE=$(which python) \
-DCMAKE_OSX_ARCHITECTURES="${{ matrix.arch-type }}"
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config ${{ matrix.build-type }} \
-- -j$(sysctl -n hw.ncpu)
echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV
working-directory: _build
- name: Test
run: ctest -V -C ${{ matrix.build-type }}
working-directory: _build
- name: Test CMake Consumer with shared OCIO
if: matrix.build-shared == 'ON'
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
- name: Test CMake Consumer with static OCIO
if: matrix.build-shared == 'OFF'
# The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to
# extract it from the headers, like the other modules.
#
# Prefer the static version of each dependencies by using <pkg>_STATIC_LIBRARY.
# Alternatively, this can be done by setting <pkg>_LIBRARY and <pkg>_INCLUDE_DIR to
# the static version of the package.
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dexpat_STATIC_LIBRARY=ON \
-DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DImath_STATIC_LIBRARY=ON \
-Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_STATIC_LIBRARY=ON \
-Dyaml-cpp_VERSION=0.8.0 \
-DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DZLIB_STATIC_LIBRARY=ON \
-Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dminizip-ng_STATIC_LIBRARY=ON
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
# ---------------------------------------------------------------------------
# macOS Arm
# ---------------------------------------------------------------------------
macos-arm:
name: 'macOS 14 arm
<AppleClang
arch=${{ matrix.arch-type }},
config=${{ matrix.build-type }},
shared=${{ matrix.build-shared }},
simd=${{ matrix.use-simd }},
cxx=${{ matrix.cxx-standard }},
python=${{ matrix.python-version }},
docs=${{ matrix.build-docs }},
oiio=${{ matrix.use-oiio}}>'
runs-on: macos-14
strategy:
matrix:
build: [1, 2]
include:
- build: 1
arch-type: "arm64"
test-rosetta: "OFF"
build-type: Release
build-shared: 'ON'
build-docs: 'ON'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'ON'
cxx-standard: 20
python-version: '3.13'
- build: 2
arch-type: "x86_64;arm64"
test-rosetta: "ON"
build-type: Release
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
python-version: '3.12'
steps:
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install docs env
run: share/ci/scripts/macos/install_docs_env.sh
if: matrix.build-docs == 'ON'
- name: Install tests env
run: share/ci/scripts/macos/install_tests_env.sh
- name: Install OIIO
if: matrix.use-oiio == 'ON'
run: time share/ci/scripts/macos/install_oiio.sh
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
OIIO_CMAKE_ARGS=()
if [ "${{ matrix.use-oiio }}" = "ON" ]; then
OIIO_CMAKE_ARGS+=(-DOpenImageIO_ROOT=$(brew --prefix openimageio))
fi
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
-DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_USE_SIMD=${{ matrix.use-simd }} \
-DOCIO_USE_OIIO_FOR_APPS=${{ matrix.use-oiio }} \
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
-DOCIO_WARNING_AS_ERROR=ON \
-DPython_EXECUTABLE=$(which python) \
-DCMAKE_OSX_ARCHITECTURES="${{ matrix.arch-type }}" \
"${OIIO_CMAKE_ARGS[@]}"
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config ${{ matrix.build-type }} \
-- -j$(sysctl -n hw.ncpu)
echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV
working-directory: _build
- name: Test
run: ctest -V -C ${{ matrix.build-type }}
working-directory: _build
- name: Test Rosetta
if: matrix.test-rosetta == 'ON'
run: |
/usr/bin/arch -x86_64 /bin/zsh -c "ctest -V -C ${{ matrix.build-type }}"
working-directory: _build
- name: Test CMake Consumer with shared OCIO
if: matrix.build-shared == 'ON'
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
- name: Test CMake Consumer with static OCIO
if: matrix.build-shared == 'OFF'
# The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to
# extract it from the headers, like the other modules.
#
# Prefer the static version of each dependencies by using <pkg>_STATIC_LIBRARY.
# Alternatively, this can be done by setting <pkg>_LIBRARY and <pkg>_INCLUDE_DIR to
# the static version of the package.
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dexpat_STATIC_LIBRARY=ON \
-DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DImath_STATIC_LIBRARY=ON \
-Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_STATIC_LIBRARY=ON \
-Dyaml-cpp_VERSION=0.8.0 \
-DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DZLIB_STATIC_LIBRARY=ON \
-Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dminizip-ng_STATIC_LIBRARY=ON
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
# ---------------------------------------------------------------------------
# Windows
# ---------------------------------------------------------------------------
windows:
name: 'Windows 2022
<MSVC
config=${{ matrix.build-type }},
shared=${{ matrix.build-shared }},
simd=${{ matrix.use-simd }},
cxx=${{ matrix.cxx-standard }},
python=${{ matrix.python-version }},
docs=${{ matrix.build-docs }},
oiio=${{ matrix.use-oiio }}>'
# Avoid duplicated checks when a pull_request is opened from a local branch.
if: |
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name != github.repository
runs-on: windows-2022
strategy:
matrix:
build: [1, 2, 3, 4]
include:
- build: 4
build-type: Release
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'ON'
use-simd: 'OFF'
# NB: OIIO is not currently set up for Windows CI builds
use-oiio: 'OFF'
cxx-standard: 20
python-version: '3.13'
- build: 3
build-type: Release
build-shared: 'OFF'
build-docs: 'ON'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
python-version: '3.12'
- build: 2
build-type: Debug
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'OFF'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
python-version: '3.11'
# C++14, OpenEXR, OpenFX
- build: 1
build-type: Release
build-shared: 'ON'
build-docs: 'OFF'
build-openfx: 'ON'
use-simd: 'ON'
use-oiio: 'OFF'
cxx-standard: 17
python-version: '3.10'
steps:
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install docs env
run: |
DOXYGEN_PATH=$GITHUB_WORKSPACE/doxygen
share/ci/scripts/windows/install_docs_env.sh "$DOXYGEN_PATH"
echo "$DOXYGEN_PATH" >> $GITHUB_PATH
shell: bash
if: matrix.build-docs == 'ON'
- name: Install tests env
run: share/ci/scripts/windows/install_tests_env.sh
shell: bash
- name: Create build directories
run: |
mkdir _install
mkdir _build
shell: bash
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DCMAKE_GENERATOR_PLATFORM=x64 \
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
-DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_USE_SIMD=${{ matrix.use-simd }} \
-DOCIO_USE_OIIO_FOR_APPS=${{ matrix.use-oiio }} \
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
-DOCIO_WARNING_AS_ERROR=ON \
-DPython_EXECUTABLE=$(which python)
shell: bash
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config ${{ matrix.build-type }}
echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV
shell: bash
working-directory: _build
- name: Test
run: ctest -V -C ${{ matrix.build-type }}
shell: bash
working-directory: _build
- name: Test CMake Consumer with shared OCIO
if: matrix.build-shared == 'ON'
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build . \
--config ${{ matrix.build-type }}
export PATH=../../../_install/bin:$PATH
./${{ matrix.build-type }}/consumer
shell: bash
working-directory: _build/tests/cmake-consumer-dist
- name: Test CMake Consumer with static OCIO
if: matrix.build-shared == 'OFF'
# The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to
# extract it from the headers, like the other modules.
#
# Prefer the static version of each dependencies by using <pkg>_STATIC_LIBRARY.
# Alternatively, this can be done by setting <pkg>_LIBRARY and <pkg>_INCLUDE_DIR to
# the static version of the package.
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dexpat_STATIC_LIBRARY=ON \
-DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DImath_STATIC_LIBRARY=ON \
-Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_STATIC_LIBRARY=ON \
-Dyaml-cpp_VERSION=0.8.0 \
-DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DZLIB_STATIC_LIBRARY=ON \
-Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dminizip-ng_STATIC_LIBRARY=ON
cmake --build . \
--config ${{ matrix.build-type }}
export PATH=../../../_install/bin:$PATH
./${{ matrix.build-type }}/consumer
shell: bash
working-directory: _build/tests/cmake-consumer-dist
+375
View File
@@ -0,0 +1,375 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
# GitHub Actions workflow file
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Dependencies latest
on:
pull_request:
branches-ignore:
- RB-0.*
- RB-1.*
- gh-pages
tags-ignore:
- v0.*
- v1.*
paths:
- .github/workflows/dependencies_latest.yml
schedule:
# Nightly build
- cron: "0 0 * * *"
jobs:
# ---------------------------------------------------------------------------
# Linux latest ext packages
# ---------------------------------------------------------------------------
linux_latest:
name: 'Linux VFX CY${{ matrix.vfx-cy }} latest
<${{ matrix.compiler-desc }}
cxx=${{ matrix.cxx-standard }},
docs=${{ matrix.build-docs }}>'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
# GH-hosted VM. The build runs in ASWF 'container' defined below.
runs-on: ubuntu-latest
container:
# DockerHub: https://hub.docker.com/u/aswf
# Source: https://github.com/AcademySoftwareFoundation/aswf-docker
image: aswf/ci-base:${{ matrix.vfx-cy }}
strategy:
fail-fast: false
matrix:
build: [1, 2, 3, 4]
include:
# -------------------------------------------------------------------
# GCC
# -------------------------------------------------------------------
- build: 1
build-docs: 'ON'
build-openfx: 'ON'
cxx-standard: 20
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2025
- build: 2
build-docs: 'OFF'
build-openfx: 'OFF'
cxx-standard: 17
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
vfx-cy: 2024
# -------------------------------------------------------------------
# Clang
# -------------------------------------------------------------------
- build: 3
build-docs: 'OFF'
build-openfx: 'OFF'
cxx-standard: 20
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
vfx-cy: 2025
- build: 4
build-docs: 'ON'
build-openfx: 'ON'
cxx-standard: 17
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
vfx-cy: 2024
env:
CXX: ${{ matrix.cxx-compiler }}
CC: ${{ matrix.cc-compiler }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install docs env
run: share/ci/scripts/linux/dnf/install_docs_env.sh
if: matrix.build-docs == 'ON'
- name: Install tests env
run: share/ci/scripts/linux/dnf/install_tests_env.sh
- name: Setup ext environment
run: |
EXT_PATH=/usr/local
echo "EXT_PATH=$EXT_PATH" >> $GITHUB_ENV
- name: Install fixed ext package versions
# Minizip-ng depends on ZLIB. ZLIB must be installed first.
run: |
share/ci/scripts/multi/install_expat.sh 2.7.2 $EXT_PATH
share/ci/scripts/multi/install_lcms2.sh 2.17 $EXT_PATH
share/ci/scripts/multi/install_yaml-cpp.sh 0.8.0 $EXT_PATH
share/ci/scripts/multi/install_pystring.sh 1.1.4 $EXT_PATH
share/ci/scripts/multi/install_pybind11.sh 3.0.1 $EXT_PATH
share/ci/scripts/multi/install_zlib.sh 1.3.1 $EXT_PATH
share/ci/scripts/multi/install_minizip-ng.sh 4.0.10 $EXT_PATH
- name: Install latest ext package versions
run: |
share/ci/scripts/multi/install_imath.sh latest $EXT_PATH
share/ci/scripts/multi/install_openexr.sh latest $EXT_PATH
share/ci/scripts/multi/install_openfx.sh latest $EXT_PATH
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
-DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_INSTALL_EXT_PACKAGES=NONE \
-DOCIO_WARNING_AS_ERROR=OFF \
-DPython_EXECUTABLE=$(which python)
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config Release \
-- -j$(nproc)
working-directory: _build
- name: Test
run: ctest -V -C Release
working-directory: _build
- name: Test CMake Consumer
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=Release
cmake --build . \
--config Release
# ASWF ci-base 2025.2 is missing lib64 (2025.1 have it)
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
./consumer
working-directory: _build/tests/cmake-consumer-dist
# ---------------------------------------------------------------------------
# MacOS latest ext packages
# ---------------------------------------------------------------------------
macos-latest:
name: 'macOS latest
<AppleClang
cxx=${{ matrix.cxx-standard }},
docs=${{ matrix.build-docs }},
python=${{ matrix.python-version }}>'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
runs-on: macos-latest
strategy:
matrix:
build: [1, 2]
include:
- build: 1
build-docs: 'ON'
build-openfx: 'ON'
cxx-standard: 20
python-version: '3.14'
- build: 2
build-docs: 'ON'
build-openfx: 'ON'
cxx-standard: 17
python-version: '3.10'
steps:
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install docs env
run: share/ci/scripts/macos/install_docs_env.sh
if: matrix.build-docs == 'ON'
- name: Install tests env
run: share/ci/scripts/macos/install_tests_env.sh
- name: Setup ext environment
run: |
EXT_PATH=$GITHUB_WORKSPACE/_ext
echo "EXT_PATH=$EXT_PATH" >> $GITHUB_ENV
echo "CMAKE_PREFIX_PATH=$EXT_PATH" >> $GITHUB_ENV
- name: Install fixed ext package versions
# Minizip-ng depends on ZLIB. ZLIB must be installed first.
run: |
share/ci/scripts/multi/install_expat.sh 2.7.2 $EXT_PATH
share/ci/scripts/multi/install_lcms2.sh 2.17 $EXT_PATH
share/ci/scripts/multi/install_yaml-cpp.sh 0.8.0 $EXT_PATH
share/ci/scripts/multi/install_pystring.sh 1.1.4 $EXT_PATH
share/ci/scripts/multi/install_pybind11.sh 3.0.1 $EXT_PATH
share/ci/scripts/multi/install_zlib.sh 1.3.1 $EXT_PATH
share/ci/scripts/multi/install_minizip-ng.sh 4.0.10 $EXT_PATH
- name: Install latest ext package versions
run: |
share/ci/scripts/multi/install_imath.sh latest $EXT_PATH
share/ci/scripts/multi/install_openexr.sh latest $EXT_PATH
share/ci/scripts/multi/install_openfx.sh latest $EXT_PATH
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
-DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_INSTALL_EXT_PACKAGES=NONE \
-DOCIO_WARNING_AS_ERROR=OFF \
-DPython_EXECUTABLE=$(which python)
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config Release \
-- -j$(sysctl -n hw.ncpu)
working-directory: _build
- name: Test
run: ctest -V -C Release
working-directory: _build
- name: Test CMake Consumer
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=Release
cmake --build . \
--config Release
export DYLD_LIBRARY_PATH=$EXT_PATH/lib:$DYLD_LIBRARY_PATH
./consumer
working-directory: _build/tests/cmake-consumer-dist
# ---------------------------------------------------------------------------
# Windows latest ext packages
# ---------------------------------------------------------------------------
windows-latest:
name: 'Windows latest
<MSVC
cxx=${{ matrix.cxx-standard }},
docs=${{ matrix.build-docs }},
python=${{ matrix.python-version }}>'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
runs-on: windows-latest
strategy:
matrix:
build: [1, 2]
include:
- build: 1
build-docs: 'ON'
build-openfx: 'ON'
cxx-standard: 20
python-version: '3.14'
use-oiio: 'ON'
- build: 2
build-docs: 'ON'
build-openfx: 'ON'
cxx-standard: 17
python-version: '3.10'
use-oiio: 'OFF'
steps:
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install docs env
run: |
DOXYGEN_PATH=$GITHUB_WORKSPACE/doxygen
share/ci/scripts/windows/install_docs_env.sh "$DOXYGEN_PATH"
echo "$DOXYGEN_PATH" >> $GITHUB_PATH
shell: bash
if: matrix.build-docs == 'ON'
- name: Install tests env
run: share/ci/scripts/windows/install_tests_env.sh
shell: bash
- name: Setup ext environment
run: |
EXT_PATH=$GITHUB_WORKSPACE/_ext
VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT/installed/x64-windows
echo "EXT_PATH=$EXT_PATH" >> $GITHUB_ENV
echo "CMAKE_PREFIX_PATH=$VCPKG_ROOT;$EXT_PATH" >> $GITHUB_ENV
echo "$VCPKG_ROOT/bin" >> $GITHUB_PATH
echo "$EXT_PATH/bin" >> $GITHUB_PATH
mkdir $EXT_PATH
shell: bash
- name: Install indirect dependencies
run: |
vcpkg install zlib:x64-windows
vcpkg install tiff:x64-windows
vcpkg install directx-headers:x64-windows
shell: bash
- name: Install fixed ext package versions
# Minizip-ng depends on ZLIB. ZLIB must be installed first.
run: |
share/ci/scripts/multi/install_lcms2.sh 2.17 $EXT_PATH
share/ci/scripts/multi/install_yaml-cpp.sh 0.8.0 $EXT_PATH
share/ci/scripts/multi/install_pystring.sh 1.1.4 $EXT_PATH
share/ci/scripts/multi/install_pybind11.sh 3.0.1 $EXT_PATH
share/ci/scripts/multi/install_expat.sh 2.7.2 $EXT_PATH
share/ci/scripts/multi/install_zlib.sh 1.3.1 $EXT_PATH
share/ci/scripts/multi/install_minizip-ng.sh 4.0.10 $EXT_PATH
shell: bash
# OSL not installed due to LLVM compilation time.
- name: Install latest ext package versions
run: |
share/ci/scripts/multi/install_imath.sh latest $EXT_PATH
share/ci/scripts/multi/install_openexr.sh latest $EXT_PATH
share/ci/scripts/multi/install_openfx.sh latest $EXT_PATH
shell: bash
- name: Create build directories
run: |
mkdir _install
mkdir _build
shell: bash
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DCMAKE_GENERATOR_PLATFORM=x64 \
-DOCIO_BUILD_DOCS=OFF \
-DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_INSTALL_EXT_PACKAGES=NONE \
-DOCIO_WARNING_AS_ERROR=OFF \
-DPython_EXECUTABLE=$(which python) \
-DOCIO_BUILD_PYTHON=OFF
shell: bash
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config Release \
--parallel
shell: bash
working-directory: _build
- name: Test
run: |
ctest -V -C Release
shell: bash
working-directory: _build
- name: Test CMake Consumer
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=Release
cmake --build . \
--config Release
export PATH=../../../_install/bin:$PATH
./Release/consumer
shell: bash
working-directory: _build/tests/cmake-consumer-dist
+85
View File
@@ -0,0 +1,85 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
# GitHub Actions workflow file
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Deploy OCIO Homepage
on:
# Runs on pushes targeting the default branch
push:
branches:
- main
paths:
- 'docs/site/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.128.0
steps:
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: recursive
- name: Setup Pages
id: pages
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # 6.0.0
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Build with Hugo
env:
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
HUGO_ENVIRONMENT: production
run: |
cd docs/site/homepage
hugo -D \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/" \
--themesDir ../..
- name: Upload artifact
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # 5.0.0
with:
path: docs/site/homepage/public
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # 5.0.0
+46
View File
@@ -0,0 +1,46 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
# GitHub Actions workflow file
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: GPU
on:
push:
# Versioned branches and tags are ignored for OCIO <= 1.x.x
branches-ignore:
- RB-0.*
- RB-1.*
- gh-pages
tags-ignore:
- v0.*
- v1.*
jobs:
# ---------------------------------------------------------------------------
# Linux GPU (AWS CodeBuild)
# ---------------------------------------------------------------------------
linux_gpu:
name: 'Linux CentOS 7 VFX CY2020 GPU <GCC 6.3.1>'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
# GH-hosted VM. The build runs in CentOS 7 'container' hard-coded in
# AWS CodeBuild project.
# TODO: Add support for dynamic GH Action defined CodeBuild
# container choice.
runs-on: ubuntu-latest
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.CODEBUILD_ID }}
aws-secret-access-key: ${{ secrets.CODEBUILD_SECRET }}
aws-region: us-west-2
- name: Run CodeBuild
uses: aws-actions/aws-codebuild-run-build@v1
with:
project-name: OpenColorIO
buildspec-override: buildspec.yml
image-override: aswf/ci-ocio:2025
+396
View File
@@ -0,0 +1,396 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
# GitHub Actions workflow file
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Platform latest
on:
pull_request:
branches-ignore:
- RB-0.*
- RB-1.*
- gh-pages
tags-ignore:
- v0.*
- v1.*
paths:
- .github/workflows/platform_latest.yml
schedule:
# Nightly build
- cron: "0 0 * * *"
jobs:
# ---------------------------------------------------------------------------
# Linux latest ext packages
# ---------------------------------------------------------------------------
linux_latest:
name: 'Linux Ubuntu latest
<${{ matrix.compiler-desc }}
config=${{ matrix.build-type }},
shared=${{ matrix.build-shared }},
cxx=${{ matrix.cxx-standard }}>'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
runs-on: ubuntu-latest
strategy:
matrix:
build: [1, 2, 3, 4]
include:
# -------------------------------------------------------------------
# GCC
# -------------------------------------------------------------------
- build: 1
build-python: ON
build-type: Release
build-shared: ON
cxx-standard: 23
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
enable-sanitizer: OFF
- build: 2
build-python: OFF
build-type: Debug
build-shared: ON
cxx-standard: 23
cxx-compiler: g++
cc-compiler: gcc
compiler-desc: GCC
enable-sanitizer: ON
# -------------------------------------------------------------------
# Clang
# -------------------------------------------------------------------
- build: 3
build-python: ON
build-type: Release
build-shared: ON
cxx-standard: 23
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
enable-sanitizer: OFF
- build: 4
build-python: OFF
build-type: Debug
build-shared: ON
cxx-standard: 23
cxx-compiler: clang++
cc-compiler: clang
compiler-desc: Clang
enable-sanitizer: ON
env:
CXX: ${{ matrix.cxx-compiler }}
CC: ${{ matrix.cc-compiler }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install tests env
run: share/ci/scripts/linux/dnf/install_tests_env.sh
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
-DOCIO_BUILD_DOCS=OFF \
-DOCIO_BUILD_OPENFX=OFF \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_BUILD_PYTHON=${{ matrix.build-python}} \
-DOCIO_USE_SIMD=ON \
-DOCIO_USE_OIIO_FOR_APPS=OFF \
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
-DOCIO_WARNING_AS_ERROR=ON \
-DOCIO_ENABLE_SANITIZER=${{ matrix.enable-sanitizer }} \
-DPython_EXECUTABLE=$(which python)
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config ${{ matrix.build-type }} \
-v \
-- -j$(nproc)
echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV
working-directory: _build
- name: Test
run: ctest -V -C ${{ matrix.build-type }}
working-directory: _build
- name: Test CMake Consumer with shared OCIO
if: matrix.build-shared == 'ON'
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DOCIO_ENABLE_SANITIZER=${{ matrix.enable-sanitizer }}
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
- name: Test CMake Consumer with static OCIO
if: matrix.build-shared == 'OFF'
# The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to
# extract it from the headers, like the other modules.
#
# Prefer the static version of each dependencies by using <pkg>_STATIC_LIBRARY.
# Alternatively, this can be done by setting <pkg>_LIBRARY and <pkg>_INCLUDE_DIR to
# the static version of the package.
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dexpat_STATIC_LIBRARY=ON \
-DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DImath_STATIC_LIBRARY=ON \
-Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_STATIC_LIBRARY=ON \
-Dyaml-cpp_VERSION=0.8.0 \
-DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DZLIB_STATIC_LIBRARY=ON \
-Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dminizip-ng_STATIC_LIBRARY=ON
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
# ---------------------------------------------------------------------------
# MacOS latest ext packages
# ---------------------------------------------------------------------------
macos-latest:
name: 'macOS latest
<AppleClang
config=${{ matrix.build-type }},
shared=${{ matrix.build-shared }},
cxx=${{ matrix.cxx-standard }},
python=${{ matrix.python-version }}>'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
runs-on: macos-latest
strategy:
matrix:
build: [1, 2]
include:
- build: 1
build-python: ON
build-type: Release
build-shared: ON
cxx-standard: 23
enable-sanitizer: OFF
python-version: '3.14'
- build: 2
build-python: OFF
build-type: Debug
build-shared: ON
cxx-standard: 23
enable-sanitizer: ON
python-version: '3.10'
steps:
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install tests env
run: share/ci/scripts/macos/install_tests_env.sh
- name: Create build directories
run: |
mkdir _install
mkdir _build
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
-DOCIO_BUILD_DOCS=OFF \
-DOCIO_BUILD_OPENFX=OFF \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_BUILD_PYTHON=${{ matrix.build-python}} \
-DOCIO_USE_SIMD=ON \
-DOCIO_USE_OIIO_FOR_APPS=OFF \
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
-DOCIO_WARNING_AS_ERROR=ON \
-DOCIO_ENABLE_SANITIZER=${{ matrix.enable-sanitizer }} \
-DPython_EXECUTABLE=$(which python)
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config ${{ matrix.build-type }} \
-- -j$(sysctl -n hw.ncpu)
echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV
working-directory: _build
- name: Test
run: ctest -V -C ${{ matrix.build-type }}
working-directory: _build
- name: Test CMake Consumer with shared OCIO
if: matrix.build-shared == 'ON'
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
- name: Test CMake Consumer with static OCIO
if: matrix.build-shared == 'OFF'
# The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to
# extract it from the headers, like the other modules.
#
# Prefer the static version of each dependencies by using <pkg>_STATIC_LIBRARY.
# Alternatively, this can be done by setting <pkg>_LIBRARY and <pkg>_INCLUDE_DIR to
# the static version of the package.
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dexpat_STATIC_LIBRARY=ON \
-DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DImath_STATIC_LIBRARY=ON \
-Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_STATIC_LIBRARY=ON \
-Dyaml-cpp_VERSION=0.8.0 \
-DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DZLIB_STATIC_LIBRARY=ON \
-Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dminizip-ng_STATIC_LIBRARY=ON
cmake --build . \
--config ${{ matrix.build-type }}
./consumer
working-directory: _build/tests/cmake-consumer-dist
# ---------------------------------------------------------------------------
# Windows latest ext packages
# ---------------------------------------------------------------------------
windows-latest:
name: 'Windows latest
<MSVC
config=${{ matrix.build-type }},
shared=${{ matrix.build-shared }},
cxx=${{ matrix.cxx-standard }},
python=${{ matrix.python-version }}>'
# Don't run on OCIO forks
if: github.repository == 'AcademySoftwareFoundation/OpenColorIO'
runs-on: windows-latest
strategy:
matrix:
build: [1, 2]
include:
- build: 1
build-python: ON
build-type: Release
build-shared: ON
cxx-standard: 20
python-version: '3.14'
- build: 2
build-python: ON
build-type: Debug
build-shared: ON
cxx-standard: 20
python-version: '3.10'
steps:
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install tests env
run: share/ci/scripts/windows/install_tests_env.sh
shell: bash
- name: Create build directories
run: |
mkdir _install
mkdir _build
shell: bash
- name: Configure
run: |
cmake ../. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
-DCMAKE_GENERATOR_PLATFORM=x64 \
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
-DOCIO_BUILD_DOCS=OFF \
-DOCIO_BUILD_OPENFX=OFF \
-DOCIO_BUILD_GPU_TESTS=OFF \
-DOCIO_BUILD_PYTHON=${{ matrix.build-python}} \
-DOCIO_USE_SIMD=ON \
-DOCIO_USE_OIIO_FOR_APPS=OFF \
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
-DOCIO_WARNING_AS_ERROR=ON \
-DPython_EXECUTABLE=$(which python)
shell: bash
working-directory: _build
- name: Build
run: |
cmake --build . \
--target install \
--config ${{ matrix.build-type }}
echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV
shell: bash
working-directory: _build
- name: Test
run: ctest -V -C ${{ matrix.build-type }}
shell: bash
working-directory: _build
- name: Test CMake Consumer with shared OCIO
if: matrix.build-shared == 'ON'
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build . \
--config ${{ matrix.build-type }}
export PATH=../../../_install/bin:$PATH
./${{ matrix.build-type }}/consumer
shell: bash
working-directory: _build/tests/cmake-consumer-dist
- name: Test CMake Consumer with static OCIO
if: matrix.build-shared == 'OFF'
# The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to
# extract it from the headers, like the other modules.
#
# Prefer the static version of each dependencies by using <pkg>_STATIC_LIBRARY.
# Alternatively, this can be done by setting <pkg>_LIBRARY and <pkg>_INCLUDE_DIR to
# the static version of the package.
run: |
cmake . \
-DCMAKE_PREFIX_PATH=../../../_install \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dexpat_STATIC_LIBRARY=ON \
-DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DImath_STATIC_LIBRARY=ON \
-Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dyaml-cpp_STATIC_LIBRARY=ON \
-Dyaml-cpp_VERSION=0.8.0 \
-DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \
-DZLIB_STATIC_LIBRARY=ON \
-Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \
-Dminizip-ng_STATIC_LIBRARY=ON
cmake --build . \
--config ${{ matrix.build-type }}
export PATH=../../../_install/bin:$PATH
./${{ matrix.build-type }}/consumer
shell: bash
working-directory: _build/tests/cmake-consumer-dist
+67
View File
@@ -0,0 +1,67 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
# Releases are signed via https://github.com/sigstore/sigstore-python.
# See https://docs.sigstore.dev for information about sigstore.
#
# This action creates a .tar.gz of the complete OpenColorIO source tree at
# the given release tag, signs it via sigstore, and uploads the
# .tar.gz and the associated .tar.gz.sigstore credential bundle.
#
# To verify a downloaded release at a given tag:
#
# % pip install sigstore
# % sigstore verify github --cert-identity https://github.com/AcademySoftwareFoundation/OpenColorIO/.github/workflows/release-sign.yml@refs/tags/<tag> OpenColorIO-<tag>.tar.gz
#
name: Sign Release
on:
release:
types: [published]
permissions:
contents: read
jobs:
release:
name: Sign & upload release artifacts
runs-on: ubuntu-latest
env:
TAG: ${{ github.ref_name }}
permissions:
contents: write
id-token: write
repository-projects: write
steps:
- name: Set Prefix
# The tag name begins with a 'v', e.g. "v2.4.0", but the prefix
# should omit the 'v', so the tarball "OpenColorIO-2.4.0.tar.gz"
# extracts files into "OpenColorIO-2.4.0/...". This matches
# the GitHub release page autogenerated artifact conventions.
run: |
echo OCIO_PREFIX=OpenColorIO-${TAG//v}/ >> $GITHUB_ENV
echo OCIO_TARBALL=OpenColorIO-${TAG//v}.tar.gz >> $GITHUB_ENV
shell: bash
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Create archive
run: git archive --format=tar.gz -o ${OCIO_TARBALL} --prefix ${OCIO_PREFIX} ${TAG}
- name: Sign archive with Sigstore
uses: sigstore/gh-action-sigstore-python@04cffa1d795717b140764e8b640de88853c92acc # v3.3.0
with:
inputs: ${{ env.OCIO_TARBALL }}
upload-signing-artifacts: false
release-signing-artifacts: false
- name: Upload release archive
env:
GH_TOKEN: ${{ github.token }}
run: gh release upload ${TAG} ${OCIO_TARBALL} ${OCIO_TARBALL}.sigstore.json
+390
View File
@@ -0,0 +1,390 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
#
name: Wheel
on:
push:
# Workflow run on tags for v2 only.
tags:
- v2.*
pull_request:
# Workflow run on pull_request only when related files change.
branches-ignore:
- RB-0.*
- RB-1.*
- gh-pages
tags-ignore:
- v0.*
- v1.*
paths:
- .github/workflows/wheel_workflow.yml
- MANIFEST.in
- pyproject.toml
- setup.cfg
- setup.py
schedule:
# Nightly build
- cron: "0 0 * * *"
jobs:
# Linux jobs run in Docker containers (manylinux), so the latest OS version
# is OK. macOS and Windows jobs need to be locked to specific virtual
# environment versions to mitigate issues from OS updates, and will require
# maintenance as OS versions are retired.
#
# Due to documentation build failing on manylinux2010 (maybe too old doxygen
# version), we build on manylinux2014 image, this requires pip >= 19.3.
# ---------------------------------------------------------------------------
# Source Distribution
# ---------------------------------------------------------------------------
sdist:
name: Build SDist
runs-on: ubuntu-latest
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
github.repository == 'AcademySoftwareFoundation/OpenColorIO'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build SDist
run: pipx run build --sdist
- name: Check metadata
run: pipx run twine check dist/*
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: cibw-sdist
path: dist/*.tar.gz
# ---------------------------------------------------------------------------
# Linux Wheels
# ---------------------------------------------------------------------------
linux:
name: Build wheels on Linux
runs-on: ubuntu-latest
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
github.repository == 'AcademySoftwareFoundation/OpenColorIO'
strategy:
matrix:
include:
# -------------------------------------------------------------------
# CPython 64 bits manylinux_2_28
# -------------------------------------------------------------------
- build: CPython 3.10 64 bits manylinux_2_28
manylinux: manylinux_2_28
python: cp310-manylinux_x86_64
arch: x86_64
- build: CPython 3.11 64 bits manylinux_2_28
manylinux: manylinux_2_28
python: cp311-manylinux_x86_64
arch: x86_64
- build: CPython 3.12 64 bits manylinux_2_28
manylinux: manylinux_2_28
python: cp312-manylinux_x86_64
arch: x86_64
- build: CPython 3.13 64 bits manylinux_2_28
manylinux: manylinux_2_28
python: cp313-manylinux_x86_64
arch: x86_64
- build: CPython 3.14 64 bits manylinux_2_28
manylinux: manylinux_2_28
python: cp314-manylinux_x86_64
arch: x86_64
# -------------------------------------------------------------------
# CPython 64 bits manylinux2014
# -------------------------------------------------------------------
- build: CPython 3.10 64 bits manylinux2014
manylinux: manylinux2014
python: cp310-manylinux_x86_64
arch: x86_64
- build: CPython 3.11 64 bits manylinux2014
manylinux: manylinux2014
python: cp311-manylinux_x86_64
arch: x86_64
- build: CPython 3.12 64 bits manylinux2014
manylinux: manylinux2014
python: cp312-manylinux_x86_64
arch: x86_64
- build: CPython 3.13 64 bits manylinux2014
manylinux: manylinux2014
python: cp313-manylinux_x86_64
arch: x86_64
- build: CPython 3.14 64 bits manylinux2014
manylinux: manylinux2014
python: cp314-manylinux_x86_64
arch: x86_64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python
with:
python-version: '3.11'
- name: Build wheels
uses: pypa/cibuildwheel@ee02a1537ce3071a004a6b08c41e72f0fdc42d9a # v3.4.0
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }}
CIBW_BEFORE_BUILD: "pip install sphinx-press-theme"
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: cibw-wheels-${{ matrix.python }}-${{ matrix.manylinux }}
path: ./wheelhouse/*.whl
# ---------------------------------------------------------------------------
# Linux ARM Wheels
# ---------------------------------------------------------------------------
linux-arm:
name: Build wheels on Linux ARM
runs-on: ubuntu-24.04-arm
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
github.repository == 'AcademySoftwareFoundation/OpenColorIO'
strategy:
matrix:
include:
# -------------------------------------------------------------------
# CPython ARM 64 bits manylinux2014
# -------------------------------------------------------------------
- build: CPython 3.10 ARM 64 bits manylinux2014
manylinux: manylinux2014
python: cp310-manylinux_aarch64
arch: aarch64
- build: CPython 3.11 ARM 64 bits manylinux2014
manylinux: manylinux2014
python: cp311-manylinux_aarch64
arch: aarch64
- build: CPython 3.12 ARM 64 bits manylinux2014
manylinux: manylinux2014
python: cp312-manylinux_aarch64
arch: aarch64
- build: CPython 3.13 ARM 64 bits manylinux2014
manylinux: manylinux2014
python: cp313-manylinux_aarch64
arch: aarch64
- build: CPython 3.14 ARM 64 bits manylinux2014
manylinux: manylinux2014
python: cp314-manylinux_aarch64
arch: aarch64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python
with:
python-version: '3.11'
- name: Build wheels
uses: pypa/cibuildwheel@ee02a1537ce3071a004a6b08c41e72f0fdc42d9a # v3.4.0
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.manylinux }}
CIBW_BEFORE_BUILD: "pip install sphinx-press-theme"
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: cibw-wheels-${{ matrix.python }}-${{ matrix.manylinux }}
path: ./wheelhouse/*.whl
# ---------------------------------------------------------------------------
# macOS Wheels
# ---------------------------------------------------------------------------
macos:
name: Build wheels on macOS
runs-on: macos-15-intel
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
github.repository == 'AcademySoftwareFoundation/OpenColorIO'
strategy:
matrix:
include:
# -------------------------------------------------------------------
# CPython 64 bits
# -------------------------------------------------------------------
- build: CPython 3.10 64 bits
python: cp310-macosx_x86_64
arch: x86_64
- build: CPython 3.11 64 bits
python: cp311-macosx_x86_64
arch: x86_64
- build: CPython 3.12 64 bits
python: cp312-macosx_x86_64
arch: x86_64
- build: CPython 3.13 64 bits
python: cp313-macosx_x86_64
arch: x86_64
- build: CPython 3.14 64 bits
python: cp314-macosx_x86_64
arch: x86_64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python
with:
python-version: '3.11'
- name: Remove brew OpenEXR/Imath
run: |
brew uninstall --ignore-dependencies openexr imath || true
- name: Build wheels
uses: pypa/cibuildwheel@ee02a1537ce3071a004a6b08c41e72f0fdc42d9a # v3.4.0
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_BEFORE_BUILD: "pip install sphinx-press-theme"
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: cibw-wheels-${{ matrix.python }}
path: ./wheelhouse/*.whl
# ---------------------------------------------------------------------------
# macOS ARM Wheels
# ---------------------------------------------------------------------------
macos-arm:
name: Build wheels on macOS ARM
runs-on: macos-14
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
github.repository == 'AcademySoftwareFoundation/OpenColorIO'
strategy:
matrix:
include:
# -------------------------------------------------------------------
# CPython ARM 64 bits
# -------------------------------------------------------------------
- build: CPython 3.10 ARM 64 bits
python: cp310-macosx_arm64
arch: arm64
- build: CPython 3.11 ARM 64 bits
python: cp311-macosx_arm64
arch: arm64
- build: CPython 3.12 ARM 64 bits
python: cp312-macosx_arm64
arch: arm64
- build: CPython 3.13 ARM 64 bits
python: cp313-macosx_arm64
arch: arm64
- build: CPython 3.14 ARM 64 bits
python: cp314-macosx_arm64
arch: arm64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python
with:
python-version: '3.11'
- name: Build wheels
uses: pypa/cibuildwheel@ee02a1537ce3071a004a6b08c41e72f0fdc42d9a # v3.4.0
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_BEFORE_BUILD: "pip install sphinx-press-theme"
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: cibw-wheels-${{ matrix.python }}
path: ./wheelhouse/*.whl
# ---------------------------------------------------------------------------
# Windows Wheels
# ---------------------------------------------------------------------------
windows:
name: Build wheels on Windows
runs-on: windows-2022
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
github.repository == 'AcademySoftwareFoundation/OpenColorIO'
strategy:
matrix:
include:
# -------------------------------------------------------------------
# CPython 64 bits
# -------------------------------------------------------------------
- build: CPython 3.10 64 bits
python: cp310-win_amd64
arch: AMD64
- build: CPython 3.11 64 bits
python: cp311-win_amd64
arch: AMD64
- build: CPython 3.12 64 bits
python: cp312-win_amd64
arch: AMD64
- build: CPython 3.13 64 bits
python: cp313-win_amd64
arch: AMD64
- build: CPython 3.14 64 bits
python: cp314-win_amd64
arch: AMD64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python
with:
python-version: '3.11'
- name: Build wheels
uses: pypa/cibuildwheel@ee02a1537ce3071a004a6b08c41e72f0fdc42d9a # v3.4.0
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_BEFORE_BUILD: "pip install sphinx-press-theme"
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: cibw-wheels-${{ matrix.python }}
path: ./wheelhouse/*.whl
# ---------------------------------------------------------------------------
# Upload
# ---------------------------------------------------------------------------
upload_pypi:
needs: [sdist, linux, linux-arm, macos, macos-arm, windows]
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
steps:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
- uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
pattern: cibw-*
path: dist
merge-multiple: true
- uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
+9
View File
@@ -1,3 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
.DS_Store
attic
build*
@@ -6,3 +9,9 @@ _install*
dist*
mastercopy
*.pyc
!*.yml
.idea/
.venv/
.vscode/
src/apps/ocioview/uv.lock
View File
+23
View File
@@ -0,0 +1,23 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
build:
os: ubuntu-lts-latest
tools:
python: "3.14"
sphinx:
configuration: docs/conf.py
formats:
- pdf
- htmlzip
python:
install:
- requirements: docs/requirements.txt
-46
View File
@@ -1,46 +0,0 @@
# travis-ci.org build file
# https://docs.travis-ci.com/user/languages/cpp
matrix:
include:
- os: linux
language: cpp
compiler: clang
- os: linux
language: cpp
compiler: gcc
- os: osx
language: cpp
compiler: clang
- os: osx
language: cpp
compiler: gcc
- os: osx
language: cpp
compiler: clang
osx_image: xcode9.1
env:
- OPTIONS="-DCMAKE_BUILD_TYPE=Release -DOCIO_BUILD_TESTS=yes -DOCIO_BUILD_DOCS=yes"
# Install missing packages
install:
- if [[ $TRAVIS_OS_NAME = linux ]]; then sudo apt-get update -qq; fi
- if [[ $TRAVIS_OS_NAME = linux ]]; then sudo apt-get install -qq texlive-full; fi
# Run the Build script
script:
- mkdir _build
- cd _build
- cmake .. -DCMAKE_INSTALL_PREFIX=../_install $OPTIONS
- cmake --build . --target install
- ctest --output-on-failure .
- if [[ $TRAVIS_OS_NAME = linux ]]; then cmake --build . --target pdf; fi
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
on:
tags: true
local_dir: ./docs/build-html
+61
View File
@@ -0,0 +1,61 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Corporate Contributor License Agreement ("Agreement")
Thank you for your interest in the OpenColorIO Project a Series of LF
Projects, LLC (hereinafter "Project"). In order to clarify the
intellectual property licenses granted with Contributions from any
corporate entity to the Project, LF Projects, LLC ("LF Projects") is
required to have a Corporate Contributor License Agreement (CCLA) on
file that has been signed by each contributing corporation.
Each contributing corporation ("You") must accept and agree that, for
any Contribution (as defined below), You and all other individuals and
entities that control You, are controlled by You, or are under common
control with You, are bound by the licenses granted and
representations made as though all such individuals and entities are a
single contributor. For the purposes of this definition, "control"
means (i) the power, direct or indirect, to cause the direction or
management of such entity, whether by contract or otherwise, or (ii)
ownership of fifty percent (50%) or more of the outstanding shares, or
(iii) beneficial ownership of such entity.
"Contribution" means any code, documentation or other original work of
authorship that is submitted to LF Projects for inclusion in the
Project by Your employee or by any individual or entity that controls
You, or is under common control with You or is controlled by You and
authorized to make the submission on Your behalf.
You accept and agree that all of Your present and future Contributions
to the Project shall be:
Submitted under a Developer's Certificate of Origin v. 1.1 (DCO); and
Licensed under the BSD-3-Clause License.
You agree that You shall be bound by the terms of the BSD-3-Clause License
for all contributions made by You and Your employees. Your designated
employees are those listed by Your CLA Manager(s) on the system of record
for the Project. You agree to identify Your initial CLA Manager below and
thereafter maintain current CLA Manager records in the Project’s system of record.
Initial CLA Manager (Name and Email): ______________________________________
Corporate Signature:
Company Name: ____________________________________________
Signature: _______________________________________________
Name: _______________________________________________
Title _______________________________________________
Date: _______________________________________________
+38
View File
@@ -0,0 +1,38 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Individual Contributor License Agreement ("Agreement")
Thank you for your interest in the OpenColorIO Project a Series of LF
Projects, LLC (hereinafter "Project"). In order to clarify the
intellectual property licenses granted with Contributions from any
corporate entity to the Project, LF Projects, LLC ("LF Projects") is
required to have an Individual Contributor License Agreement (ICLA) on
file that has been signed by each contributing individual. (For legal
entities, please use the Corporate Contributor License Agreement
(CCLA).)
Each contributing individual ("You") must accept and agree that, for
any Contribution (as defined below), You are bound by the licenses
granted and representations made herein.
"Contribution" means any code, documentation or other original work of
authorship that is submitted to LF Projects for inclusion in the
Project by You or by another person authorized to make the submission
on Your behalf.
You accept and agree that all of Your present and future Contributions
to the Project shall be:
Submitted under a Developer's Certificate of Origin v. 1.1 (DCO); and
Licensed under the BSD-3-Clause License.
Signature: __________________________________________
Name: _______________________________________________
Date: _______________________________________________
+65
View File
@@ -0,0 +1,65 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
# Technical Charter (the &quot;Charter&quot;) for OpenColorIO a Series of LF Projects, LLC
**Adopted \_\_\_\_\_\_\_\_\_\_\_**
This charter (the &quot;Charter&quot;) sets forth the responsibilities and procedures for technical contribution to, and oversight of, the OpenColorIO project, which has been established as OpenColorIO a Series of LF Projects, LLC (the &quot;Project&quot;). LF Projects, LLC (&quot;LF Projects&quot;) is a Delaware series limited liability company. All Contributors to the Project must comply with the terms of this Charter.
1. Mission and Scope of the Project
* **a.** The mission of the Project is to develop an open source project with the goals indicated in the &quot;README&quot; file within the Project&#39;s code repository.
* **b.** The scope of the Project includes software development under an OSI-approved open source license supporting the mission, including documentation, testing, integration and the creation of other artifacts that aid the development, deployment, operation or adoption of the open source software project.
2. Technical Steering Committee
* **a.** The Technical Steering Committee (the &quot;TSC&quot;) will be responsible for all technical oversight of the open source Project.
* **b.** The TSC voting members are initially the Project&#39;s Committers. At the inception of the project, the Committers of the Project will be as set forth within the &quot;GOVERNANCE&quot; file within the Project&#39;s code repository. The TSC may choose an alternative approach for determining the voting members of the TSC, and any such alternative approach will be documented in the GOVERNANCE file. Any meetings of the Technical Steering Committee are intended to be open to the public, and can be conducted electronically, via teleconference, or in person.
* **c.** TSC projects generally will involve Contributors and Committers. The TSC may adopt or modify roles so long as the roles are documented in the GOVERNANCE file. Unless otherwise documented:
* **i.** Contributors include anyone in the technical community that contributes code, documentation, or other technical artifacts to the Project;
* **ii.** Committers are Contributors who have earned the ability to modify (&quot;commit&quot;) source code, documentation or other technical artifacts in a project&#39;s repository; and
* **iii.** A Contributor may become a Committer by a majority approval of the existing Committers. A Committer may be removed by a majority approval of the other existing Committers.
* **d.** Participation in the Project through becoming a Contributor and Committer is open to anyone so long as they abide by the terms of this Charter.
* **e.** The TSC may (1) establish work flow procedures for the submission, approval, and closure/archiving of projects, (2) set requirements for the promotion of Contributors to Committer status, as applicable, and (3) amend, adjust, refine and/or eliminate the roles of Contributors, and Committers, and create new roles, and publicly document any TSC roles, as it sees fit.
* **f.** The TSC may elect a TSC Chair, who will preside over meetings of the TSC and will serve until their resignation or replacement by the TSC. The TSC Chair, or any other TSC member so designated by the TSC, will serve as the primary communication contact between the Project and the Technical Advisory Council of the Academy Software Foundation of The Linux Foundation.
* **g.** Responsibilities: The TSC will be responsible for all aspects of oversight relating to the Project, which may include:
* **i.** coordinating the technical direction of the Project;
* **ii.** approving project or system proposals (including, but not limited to, incubation, deprecation, and changes to a sub-project&#39;s scope);
* **iii.** rganizing sub-projects and removing projects;
* **ii.** creating sub-committees or working groups to focus on cross-project technical issues and requirements;
* **v.** appointing representatives to work with other open source or open standards communities;
* **vi.** establishing community norms, workflows, issuing releases, and security issue reporting policies;
* **vii.** approving and implementing policies and processes for contributing (to be published in the CONTRIBUTING file) and coordinating with the Series Manager to resolve matters or concerns that may arise as set forth in Section 7 of this Charter;
* **viii.** discussions, seeking consensus, and where necessary, voting on technical matters relating to the code base that affect multiple projects; and
* **ix.** coordinating any marketing, events, or communications regarding the Project with the LF Projects Manager or their designee.
3. TSC Voting
* **a.** While the Project aims to operate as a consensus based community, if any TSC decision requires a vote to move the Project forward, the voting members of the TSC will vote on a one vote per voting member basis.
* **b.** Quorum for TSC meetings requires at least two-thirds of all voting members of the TSC to be present. The TSC may continue to meet if quorum is not met, but will be prevented from making any decisions at the meeting.
* **c.** Except as provided in Section 7.c. and 8.a, decisions by vote at a meeting require a majority vote of those in attendance, provided quorum is met. Decisions made by electronic vote without a meeting require a majority vote of all voting members of the TSC.
* **d.** In the event a vote cannot be resolved by the TSC, any voting member of the TSC may refer the matter to the Series Manager for assistance in reaching a resolution.
4. Compliance with Policies
* **a.** This Charter is subject to the Series Agreement for the Project and the Operating Agreement of LF Projects. Contributors will comply with the policies of LF Projects as may be adopted and amended by LF Projects, including, without limitation the policies listed at https://lfprojects.org/policies/.
* **b.** The TSC may adopt a code of conduct (&quot;CoC&quot;) for the Project, which is subject to approval by the Series Manager. Contributors to the Project will comply with the CoC or, in the event that a Project-specific CoC has not been approved, the LF Projects Code of Conduct listed at https://lfprojects.org/policies/.
* **c.** When amending or adopting any policy applicable to the Project, LF Projects will publish such policy, as to be amended or adopted, on its web site at least 30 days prior to such policy taking effect; provided, however, that in the case of any amendment of the Trademark Policy or Terms of Use of LF Projects, any such amendment is effective upon publication on LF Project&#39;s web site.
* **d.** All participants must allow open participation from any individual or organization meeting the requirements for contributing under this Charter and any policies adopted for all participants by the TSC, regardless of competitive interests. Put another way, the Project community must not seek to exclude any participant based on any criteria, requirement, or reason other than those that are reasonable and applied on a non-discriminatory basis to all participants in the Project community.
* **e.** The Project will operate in a transparent, open, collaborative, and ethical manner at all times. The output of all Project discussions, proposals, timelines, decisions, and status should be made open and easily visible to all. Any potential violations of this requirement should be reported immediately to the LF Projects Manager.
5. Community Assets
* **a.** LF Projects shall hold title to all trade or service marks used by the Project (&quot;Project Trademarks&quot;), whether based on common law or registered rights. Project Trademarks shall be transferred and assigned to LF Projects to hold on behalf of the Project. Any use of any Project Trademarks by participants in the Project shall be in accordance with the license from LF Projects and inure to the benefit of LF Projects.
* **b.** The Project shall, as permitted and in accordance with such license from LF Projects, develop and own all Project GitHub and social media accounts, and domain name registrations created by the Project community.
* **c.** Under no circumstances shall LF Projects be expected or required to undertake any action on behalf of the Project that is inconsistent with the tax-exempt status or purpose, as applicable, of LFP, Inc. or LF Projects, LLC.
6. General Rules and Operations.
* **a.** The Project will:
* **i.** engage in the work of the project in a professional manner consistent with maintaining a cohesive community, while also maintaining the goodwill and esteem of LF Projects, LFP, Inc. and other partner organizations in the open source software community; and
* **ii.** respect the rights of all trademark owners, including any branding and trademark usage guidelines.
7. Intellectual Property Policy
* **a.** Participants acknowledge that the copyright in all new contributions shall be retained by the copyright holder as independent works of authorship and that no contributor or copyright holder will be required to assign copyrights to the Project.
* **b.** Except as described in Section 7.c., all code contributions to the Project are subject to the following:
* **i.** All new inbound code contributions to the Project must be made using the **BSD 3-Clause License (available here: [https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/main/LICENSE](https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/main/LICENSE))** (the &quot;Project License&quot;).
* **ii.** All new inbound code contributions must:
1. be made pursuant to a duly executed Project Contribution License Agreement (the &quot;CLA&quot;), available on the Project&#39;s web site; and
2. be accompanied by a Developer Certificate of Origin ([http://developercertificate.org](http://developercertificate.org)) sign-off in the source code system that is submitted through a TSC-approved contribution process which will bind the authorized contributor and, if not self-employed, their employer to the applicable license;
* **iii.** All outbound code will be made available under the Project License.
* **iv.** Documentation will be received and made available by the Project under the Creative Commons Attribution 4.0 International License (available at [http://creativecommons.org/licenses/by/4.0/](http://creativecommons.org/licenses/by/4.0/)).
* **V.** The Project may seek to integrate and contribute back to other open source projects (&quot;Upstream Projects&quot;). In such cases, the Project will conform to all license requirements of the Upstream Projects, including dependencies, leveraged by the Project. Upstream Project code contributions not stored within the Project&#39;s main code repository shall comply with the contribution process and license terms for the applicable Upstream Project.
* **c.** If an alternative inbound or outbound license is required for compliance with the license for a leveraged open source project or is otherwise required to achieve the Project&#39;s mission, the Governing Board of the Academy Software Foundation of The Linux Foundation (&quot;Governing Board&quot;) or the Governing Board&#39;s designated committee may approve the use of an alternative license for specific inbound or outbound contributions on an exception basis. Any exceptions must be approved by a vote of the Governing Board and must be limited in scope to what is required for such purpose. To request an exception, please describe the contribution, the alternative open source license(s), and the justification for using an alternative open source license for the Project.
* **d.** Contributed files should contain license information, such as SPDX short form identifiers, indicating the open source license or licenses pertaining to the file.
8. Amendments
* **a.** This charter may be amended by a two-thirds vote of the entire TSC and is subject to approval by LF Projects.
+4
View File
@@ -0,0 +1,4 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
https://developercertificate.org/
+124
View File
@@ -0,0 +1,124 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
# OpenColorIO Google Summer of Code 2021
OpenColorIO (OCIO) is a complete color management solution geared towards
motion picture production with an emphasis on visual effects and computer
animation. OCIO provides a straightforward and consistent user experience
across all supporting applications while allowing for sophisticated back-end
configuration options suitable for high-end production usage. OCIO is compatible
with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic,
supporting many popular formats.
OpenColorIO version 1.0 was released in 2011, having been in development since
2003. OCIO v1 represented the culmination of years of production experience
earned on such films as SpiderMan 2 (2004), Surf’s Up (2007), Cloudy with a
Chance of Meatballs (2009), Alice in Wonderland (2010), and many more.
OpenColorIO v2 has been in development since 2017 and was feature complete as of
SIGGRAPH 2020. After a stabilization and bug-fixing period, an official 2.0.0
release was made in January 2021!
While OCIO is a color management library (written in C++ with a Python API),
its only knowledge of color science comes from its execution of the transforms
defined in the OCIO configuration file, written in YAML. These transforms are
either defined by the end user in a custom OCIO config or inherited from the
publicly available configs. By specifying your desired config file in the local
environment all OCIO compatible applications and software libraries will be able
to see your defined color transform “universe”. You can then direct the
transformation of image data from one defined OCIO Color Space to another, in
addition to the other transforms documented elsewhere - the options are endless!
## About the Academy Software Foundation
The Academy Software Foundation (ASWF) is collaboration between the Linux
Foundation and the Academy of Motion Picture Arts and Sciences, serving as
an umbrella organization that is the home to several key open source
software projects used by the film industry (primarily visual effects and
animation production). The projects we manage are some of the most
high-profile and widely used open source projects originating and used in
film production studios. It's a great opportunity for students to get
involved with projects that will be used professionally on films!
The mission of the ASWF is to increase the quality and quantity of
contributions to the content creation industry's open source software base;
to provide a neutral forum to coordinate cross-project efforts; to provide a
common build and test infrastructure; and to provide individuals and
organizations a clear path to participation in advancing our open source
ecosystem.
In 2020, the ASWF projects OpenEXR, OpenTimelineIO, and OpenCue mentored
GSoC students. This year, OpenColorIO is the ASWF project that looks forward
to welcoming and mentoring GSoC students.
## Application Instructions for Students
Please review the CONTRIBUTING guidelines thoroughly before applying. OCIO
maintains a contributor license agreement (CLA) which must be signed to
accept contributions.
**Successfully submitting a Pull Request to the OCIO project is a strict**
**requirement prior to submitting an application.**
This is not negotiable. We will not even read applications from students who
have not submitted an acceptable PR to the project. It can be a truly minimal
change -- for example, fixing a typo in an error message. You will find issues
tagged "good first issue" on our GitHub repo, which are ideal candidates for
your small trial PR to qualify for application.
## Application template
Please use this application template. Feel free to expand or tell us any other
relevant details, but this is a good place to start. The applications will be
judged by representatives of the OCIO technical steering comittee.
* Student name:
* School / year / area of study:
* Relevant courses, materials studied, jobs, programming projects, skills, other
open source projects you've contributed to. Go ahead and tell us anything about
your background that you think we will find interesting for our projects.
* Project proposal - please explain in detail and give specifics on acceptance
criteria -- how we can measure your success, how we can test your code. Provide
a weekly timeline for expected progress.
* Please tell us which test PR you had merged into the OCIO repo:
## Project information and suggested ideas list
Home page: https://opencolorio.org/ <br>
GitHub: https://github.com/AcademySoftwareFoundation/OpenColorIO <br>
Skills/knowledge relevant to the project: C++11, CMake, color science
Mentor suggestions: Patrick Hodoul, Doug Walker, Michael Dolan
## Project Ideas:
**Add OCIO support to FFmpeg or another FOSS project**
An important effort for OCIO is expanding the libraries and applications where
OCIO is implemented. Users have specifically called out FFmpeg as a library and
command-line tool where they would like to see OCIO support, but any other FOSS
project leveraged by digital artists or production pipelines could be considered.
This could also include upgrading an existing implementation to support the OCIO
v2 API and leverage new functionality.
Special skills: Familiarity with prospective host library or tool, and knowledge
of working with image buffers and authoring plugins.
**OpenFX Plugin Development**
OCIO currently has a number of plug-ins in the GitHub repo for proprietary
application interfaces. (And in several cases, these have become out of sync
with the actual plug-ins shipped by vendors.) It would be great to have OpenFX
plug-ins in the repo. These would have the benefit of bringing OCIO support to
a wider range of applications. Furthermore, the existing plug-ins are all based
on OCIO v1, the new OpenFX plug-ins would be the perfect place to showcase the
new OCIO v2 features.
Special skills: Access to a host application that supports OpenFX plug-ins and
ability to build the basic demo plug-ins in the OpenFX SDK.
**Add support for more ICC profile structures**
OCIO currently supports basic ICC monitor profiles. These are the type that
are most often set as monitor profiles on Mac and Windows. But it would be nice
for OCIO to be able to read and convert some of the more advanced ICC profile
structures such as the A2B* and B2A* tags. There are some monitor profiles that
use these tags to implement gamut mapping. OCIO already has operators to support
the most common usage of these tags, so the project is simply about importing a
profile into existing OCIO operators. It would not be a goal of this project to
import structures that don’t already have an OCIO equivalent, such as
4-dimensional tables.
+52
View File
@@ -0,0 +1,52 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Feb. 4, 2019
Host: John Mertic
Secretary: Kevin Wheatley
Attendees:
* Sean Cooper (_TSC_) - DNEG
* Michael Dolan (_TSC_) - Sony Pictures Imageworks
* Larry Gritz (_TSC_) - Sony Pictures Imageworks
* Thanh Ha - Academy Software Foundation / Linux Foundation
* Patrick Hodoul (_TSC_) - Autodesk
* Bernard Lefebvre - Autodesk
* John Mertic - Academy Software Foundation / Linux Foundation
* Carl Rand (_TSC_) - Foundry
* Doug Walker (_TSC_) - Autodesk
* Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* Opening explanation of form and function of TSC by John Mertic.
* Election of officials/Nominations for roles
* Doug Walker, explained the prior discussion from the Slack #tsc channel
* Michael Dolan - Chairperson
* Doug Walker for Chief Architect
* Additional nominations
* Sean Cooper - Chairperson
* Discussion around the concept of Chair + Vice chair and the distinction of only the chair having voting rights on the TAC.
* Larry Gritz suggested we may benefit from a singular chair as an efficiency point, rather than the potential of delays by trying to maintain something similar to the current consensus model.
* John Mertic requested candidates provide their background for inclusion in the voting process with the aim of opening voting on the 5th February.
* Secretary - in view of no volunteers, suggested we might consider rotating role.
* Infrastructure
* GitHub repo needs migrating to the ASWF organisation
* **TODO** - John Mertic to coordinate with Steve Winslow at the LF to complete.
* https://github.com/AcademySoftwareFoundation/tac/blob/main/process/contributing.md
* Require that any existing copyright notices are reviewed and amended by the current stated owners if their respective legal agrees.
* Once migrated will enable DCO sign off checking and CLA checks.
* Sub-discussion on the option of separate sign off for committer vs developer sign off.
* **TODO** - John Mertic to determine if sign off lines need to be in the contribution license agreement list
* CLAs from corporations and individuals would preferentially be in place prior to migration, John Mertic to action the set-up.
* Need to transfer DNS and website registration
* **TODO** - Larry Gritz to action transfer
* Discussion around transfer of mailing lists/slack channel
* **TODO** - John Mertic to confirm if Google Groups and message history can be migrated to groups.io, and pricing/options for Slack to Rocket.chat or Mattermost migration
* Build infrastructure
* Note about the use of current infrastructure for builds in parallel until we have parity of features with the build system.
* TSC meeting suggested weekly during initial roll out until we have settled down.
* Settling on Monday 5pm GMT-0 for now
+57
View File
@@ -0,0 +1,57 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Feb 11, 2019
Host: John Mertic
Rotating Secretary: Larry Gritz
Attendees:
* Sean Cooper (_TSC_) - DNEG
* Michael Dolan (_TSC_) - Sony Pictures Imageworks
* Larry Gritz (_TSC_) - Sony Pictures Imageworks
* Thanh Ha - Academy Software Foundation / Linux Foundation
* Patrick Hodoul (_TSC_) - Autodesk
* John Mertic - Academy Software Foundation / Linux Foundation
* Carl Rand (_TSC_) - Foundry
* Doug Walker (_TSC_) - Autodesk
* Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* Election Results
* Chair: Michael Dolan, by offline vote over the last week.
* Chief architect: Doug Walker, confirmed by unanimous voice vote.
* Infrastructure updates:
* Domain transfer: LG reports he has identified the office at Sony Pictures that holds domains and working on the logistics of the transfer.
* Repo transfer: Should be straightforward to transfer from GitHub imageworks to AcademySoftwareFoundation accounts. (Note: also must transfer ocio-config repo.)
* Code scan:
* Competed initial code scan to check for licenses, etc.
* Overall pretty good
* "ext/" directory containing upstream dependencies should perhaps be pulled in at build time rather than embedded? But there were reasons (convenience, lcms no longer maintained, patches for custom namespacing for us). We could download at build time and apply the patches, so still build just for us, but not have those packages' source embedded in our repo.
* **TODO**: Patrick & Thanh to look offline at the initial CI builds and consider the ext packages to assess what can be pulled, what can be upstreamed, what must be embedded.
* Communication tools:
* If we want to move mail list communications to aswf.io, there is a migration path from google groups -> ASWF.io mail lists that will preserve the archives.
* Nobody objected to moving to aswf.io, so JM to work on this.
* JM can provision a dedicated Zoom line for meetings, if we want.
* CLA system
* New CLA system should be operational on Friday.
* At that point, JM will send us links to get new CLAs signed.
* **TODO**: JM to look into how to do retroactive DCOs. Investigate how necessary that is, considering we have CLAs from all prior contributors.
* Releases:
* Do a patch against 1.1 that fixes a few minor things?
* Consensus is that we should make 1.1.1 with some important non-breaking patches and release that fix right away.
* **TODO**: Patrick will send Slack the list of candidate commits for a 1.1.1.
* Do we make an intermediate release from main before v2.0? People want a "developer preview" to be able to use the new GPU path.
* Patrick reluctant to make a full release.
* Proposal: just make a "developer preview" tag in main to designate a point we think is stable and has some helpful new features, but we don't promise any support or compatibility with the eventual v2.
* Down side: people will use it and expect us to support it.
* No consensus that this is a good idea. Mark especially doesn't like unsupported dev preview tag.
* But v2 will NOT be ready by SIGGRAPH 2019. In light of this, Mark thinks maybe we should have a real intermediate release.
* Sean: Considering how long it takes us to review things and the long v2 schedule, maybe we should reconsider what is v2 and what gets pushed to v3? (Patrick points out: it's the same ADSK people supporting the release as building "v2", only so much bandwidth available, so an intermediate release will make the full release take even longer.
* **Tabled** for further thought and discussion. Patrick made a GH issue for further discussion: #665
* Agenda for next time:
* Talk about Python
+62
View File
@@ -0,0 +1,62 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Feb 25, 2019
Host: Michael Dolan
Rotating Secretary: Mark Boorer
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Thanh Ha - Academy Software Foundation / Linux Foundation
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* CI
- Thinking is that because ASWF already has Linux CI support, we could start using it.
- The ASWF solution is Jenkins at the moment, but due to the young age of the project, no-one is really using it yet.
- Circle CI has been proposed as a potential candidate as well.
- There is a proof of concept of OCIO on the travis CI, though it is only a simple CMake build (no tests).
- Additionally it would be good to get away from Travis CI as its future seems uncertain.
- Potentially wait for results of ASWF TAC discussion on future CI decision before actioning any changes.
- Thoughts are that migration of repo to ASWF is more important. We can keep our existing CI, and just move the repo.
- **TODO**: Might need someone from Sony to do the ASWF move.
- There will be a day or so crossover to set up the existing CI on the new ASWF setup.
- Decided to move to ASWF first, then sort CI later.
- **TODO**: Candidate for championing CI? Mark Boorer and Sean Cooper.
* Embedded libraries
- Decision to remove all embedded dependencies at the same time as CI update.
- Concerns over Windows developer experience (as building of dependencies would now be required prior to building OCIO.
- Potentially solvable via vcpkg or Chocolatey.
- Patrick made a GH issue for further discussion: #690
* 1.1 patch release
- Updates to OCIO to allow optional OIIO 2.0 compatability (which requires C++11)
- **TODO**: Larry / Michael will look into removal of auto keyword from OIIO headers.
* Feature preview tag / Early 2.0 release
- Proponents want to the benefits of the improved GPU features for internal use.
- Fear is that it will achieve semi-release status and start being used in other DCC's where inconsistencies might arise, leading to all the same effort as an actual release.
- Suggestion for a limited release of some 2.0 features (3d lut inversion, gpu improvements).
- Autodesk have two main reasons to oppose both a tag or early release:
1. They don't feel the current state of the features represent a good, stable product to support.
2. As the primary integrators of Autodesk's DCC's are also the developers working on 2.0, the developers times would be split between adding the new integrations, and completing 2.0.
- Discussion tabled for next week.
- Further discussion, and status of continued TSC discussion in GH issue #665
* Items for next TSC meeting agenda:
- Discuss ASWF TAC proposal of future CI direction
- Consensus on feature preview tag / early 2.0 release discussion
- Other tabled items (due to time)
- Python binding update (pybind11 proposed by Sony)
- Apple deprecation of OpenGL. Explore Metal or another alternative?
+96
View File
@@ -0,0 +1,96 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Mar 4, 2019
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Thanh Ha - Academy Software Foundation / Linux Foundation
* [ ] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* Feature preview tag / Early 2.0 release
- Decision to NOT do either a preview tag or early 2.0 release
- Doug: As established in the initial 2.0 proposal, this is not feasible.
- The plan remains to release a complete feature set when the full v2 roadmap is completed.
- Community concern is that the v2 release schedule is unknown, and time between OCIO releases is long.
- This can make planning for software vendors challenging, but preliminary implementation of the v2 interface is possible now from main for testing.
- Autodesk discussing an official roadmap and insight on a potential release window. Stay tuned.
- Long PR review cycles contribute to development slowdowns:
- Most PRs are merged with the 2 week single reviewer clause.
- Larry: If current merge policies are a roadblock to AD, can they be revised?
- Proposed rotating review duty for a TSC member to do initial PR reviews as they are submitted for their assigned week
- This needs to be improved if it's blocking.
- Doug: Feature interdependency part of the challenge:
- PRs are becoming smaller, more focused, which should help with review accessability
- **TODO**: Doug/Patrick to review and report back on what project management changes could help them
- Larry: Should we have a known commit for testing a given feature (i.e. GPU renderer) for internal testing purposes.
- Doug: Testing off of main at any given time is stable, and ideal.
* ASWF/LF CI update from TAC meeting
- Thanh presented comparison of Circle CI and current Jenkins infrastructure:
- Overall, TAC impression is that Circle seems like a better choice, but pricing and logistics needs further investigation.
- Circle supports local CI, allowing contributors to test CI *before* submitting a PR.
- Supports GPUs when hosted on our servers, but pricing may be a concern.
- Proposed AppVeyor for Windows support for now.
- OpenVDB reports that Circle significantly faster than Travis
- Larry: Circle has better, faster CPUs than Travis
- **TODO**: Once ASWF/LF commit to CI choice, Mark/Sean to investigate transition to new CI infastructure
- If OpenVDB adopts new system first, we can reference their setup.
* Moving OCIO to ASWF Git organization
- Legal approvals for OCIO domain tranfer are complete!
- The GitHub account move should be fairly straightforward, but may bring down CI builds for a day or two during the transition.
- **TODO**: LF needs Travis and AppVeyor accounts created before we can move repo, to host CI builds.
- **TODO**: Larry/Michael to work with John/Thanh to facilitate the account move.
- There may be a requirement to fix some of the embedded external dependencies *before* the repo move to satisfy detected license issues (from the license scan).
- Patrick made a GH issue for further discussion on 3rd-party dependencies: #690
* OCIO v2 Python bindings
- SPI proposes contributing new bindings via pybind11:
- Mark: Current OCIO bindings have no external dependency. Are we sure we want to introduce one, vs. using Python's C API?
- Larry: Supporting both Python 2 and 3 would make use of C API more complicated. pybind11 is simple to implement, and header only.
- Sean: Good opportunity to improve consistency in Python interface:
- Currently there are inconsistencies with argument and return types.
- Implementors are not always sure what types they'll get back from the API.
- Larry: proposes a design PR be created first (using new GH feature), which outlines the new interface, prior to actually doing the work.
- **TODO**: Michael to create new Python API design and submit PR for feedback/discussion/approval.
* Apple has deprecated OpenGL
- Mark: One option could be to build a bridget between Vulcan and Metal. Proposes use of MoltenVK.
- Sean: SPIRV-Cross also worth investigation.
- Doug: We're not sure yet when OpenGL support will actually be removed by Apple.
- From my point of view, OCIO will definitely need to support low-level graphics APIs such as Vulkan and Metal, so the question is more when than if.
- Agreed MoltenVK is one option to investigate.
- Carl: Different parties within Apple have different opinions of timeline for dropping support.
- Mark: Nothing in OCIO's design is preventing Metal support from being added now.
- Doug: Investigation is needed not only on the shader language but also on how textures will be managed under a low-level graphics API.
* 2019 SIGGRAPH BoF
- ASWF BoFs will be back to back.
- Mark: a smaller fishbowl room is preferred for the OCIO BoF, instead of a large hall (like what ACES had in 2018).
- This is an important meeting for the community. Need to make sure the format is not impacted.
- Effort should be taken (as much as possible) to avoid the OCIO BoF intersecting with other color talks.
- Valid points to raise to LF/ASWF as the overall event is organized.
- All that being said, having LF/ASWF help is getting these sessions organized is much appreciated.
* OCIO-Configs ACES 1.1
- Carl raised question of an official ACES 1.1 OCIO config availability. Nuke team is asking.
- Doug: 1.1 has some key differences from 1.0.3, which will need to be taken into account (i.e., new outputTransform)
- Contributors who have been supporting these configs are busy with other projects, so timeline is uncertain.
- **TODO**: Foundry to follow up in ocio-user mail list and/or Slack, to see if anyone can offer a status update.
* Items for next TSC meeting agenda:
- Status update on GH project move to ASWF account, and any impact this has on other TODOs.
+84
View File
@@ -0,0 +1,84 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Mar 11, 2019
Host: Michael Dolan
Rotating Secretary: Carl Rand
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Thanh Ha - Academy Software Foundation / Linux Foundation
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] Bernard Lefebvre - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* Prerequisites to moving the repository to ASWF
- Resolve "ext/" dependencies prior to the move.
- What are we going to do with the "ext/" directory?
- Do we maintain or replace?
- How will this affect CI?
- Platform specifics
- Linux isn't so much a problem, however Windows and MacOS are another story.
- Some of the major DCCs using OCIO are on Windows and MacOS which could prove problematic.
- Do we need to build all the dependencies first, and then build OCIO against them.
- It should be of the style
- Pull the dependencies, rather than using the archive files found in the "ext/" directory.
- Maybe also have a flag to say use my local build of the library.
- Run CMake and build.
- What is the motivation behind doing this?
- This maybe a good opportunity to address the technical debt.
- John: Happy to help connecting with the other project coordinators.
- Mark: Uncertain that it is actually technical debt and more of a purest point of view in that we don’t want code from other sources checked into the OCIO repository?
- It would be good to at least gain a better understanding of the dependencies.
- Some of the current dependencies have raised red flags.
- The LCMS color management repository has been abandoned. Is currently only used for baking ICC profiles.
- Mark: Happy to go away and fix up what he can.
- Larry: Raised that it may lead to security issues if we don’t do this. Old versions can cause problems. OpenEXR had this problem in the past.
- John: Mavin solved the dependency fetch for Java a while ago. We should look to solutions like this.
- Concerns we raised in that CMake is not the best at pulling in dependencies from the internet.
- Patrick: We are not just able to download binaries, but we will also need to download the source of specific versions and build locally on the machine building OCIO. We will also have to be careful about static libraries and symbols. We will have to look at name-spacing things carefully.
- We will need to make the TAC aware of any external code that is needed when we ship with the library.
* CLA/DCO requirements
- Needs them signed before doing merges into the new repository.
- John: Resolving issues with the initial setup. Team is currently backlogged on other projects but hoping to get something done in the next couple of days.
- DCO when we are ready to DCO sign off with commits.
- Every commit will have DCO sign off.
- John: Some info can be pulled or referenced from the TAC guidelines.
- Larry: Who needs to sign off the work?
- John: We can refer to ​https://developercertificate.org/
- Michael: This isn’t required until we move to the new account. Not to worry about it for now.
- Want to have the Linux foundation CLA system up and running first, pre-sign all the CLAs, and do one commit to flick the switch.
- Larry: Have agreed on the CLA but not on all the surrounding areas e.g. signature blocks etc.
- **TODO**: Document DCO sign off practices in CONTRIBUTING.md.
* Googlegroup archiving & updated gh-pages deployment
- Announced we will pull down the group in a week.
- A script will be run to get old content and re-import it into the new lists.
- John: Test run will done first to see how it works.
- The OCIO website will be updated accordingly.
- The new website has been updated but is yet to be deployed.
* Fixed functions in the repository
- Sean asked if there has been any more follow up conversations about this.
- Kevin thought that this wasn't a show stopper for him.
- Kevin raised the camera log transform and whether or not the goal is being set from the ACES requirements.
- May require to change the camera op to support ARRI.
- **TODO**: Post a review as it's been up for a couple of weeks now.
* Next 1.1.x release
- There are a small number of commits that will need to be signed off before the release is made.
- Agreed to call it the 1.1.1 release.
- It will be the first release of the year.
- **TODO**: Michael to finalize things to push it forward.
- **TODO**: Will need to update the change log for the new version.
+81
View File
@@ -0,0 +1,81 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
March 18, 2019
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Thanh Ha - Academy Software Foundation / Linux Foundation
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Jim Houston - consultant
# **OCIO TSC Meeting Notes**
* Copyright for OCIO Configs repo
- Repo currently does not have copyright notices, should address before aswf move.
- Group believes all contributions were made under the same terms as the main repo.
- John will provide notice, Michael volunteered to add.
* CII Badge -- Security
- Chair asked if anyone had expertise and could help. No volunteers.
- John: This is a common problem with many projects.
- We will add this to the list of items we are looking for contributors to help with.
- John suggested to move our checklist to the official CII site rather than having it in our own repo.
- Volunteers to help with that are welcome. ;)
- What tools are available to help detect security issues? Suggested areas to check?
- Larry: Fuzz test configs
- Kevin: Using problematic lib calls, unsafe path handling (e.g. ../..), fuzz test env vars.
- Carl: Some users need to protect LUTs as trade-secret.
- Larry: Should have a private means for users to report bugs.
- Michael: Need that for reporting security issues too.
- Any recommendations from LF regarding what to add to CI?
- Thanh: Some options are Nexus IQ, WhiteSource for security, Sonar Qube for static.
- Thanh is doing some investigation for TAC, we will follow closely for recommendations.
- John provide the following link: https://github.com/coreinfrastructure/best-practices-badge/blob/main/doc/security.md
- Chair asked John if we were moving too slowly, John: no.
* 1.1.1 Release
- Michael: There are two PRs waiting, please review and approve. Anything else to add?
- Patrick: Update version in cmake?
- Michael will create a draft for people to check.
- Side-benefit is this will update website with new email reflector addresses.
* Pixel Format PR #699
- Doug and Patrick provided overview.
- Micheal: Are we deprecating 14 and 32-bit integer support?
- Doug: No, there were enums but no support in OCIO v1.
- Once the foundation is in place, others will be able to add additional formats, if desired.
- Will be more detailed discussion at next v2 working group meeting (probably next week).
* Labeling GitHub issues for people to contribute
- Michael: "Good first issue" is often used but doesn't seem most appropriate for some.
- Some issues require serious dev work but don't require OCIO-specific knowledge.
- Larry, Patrick concur.
- John: Advised adopting common practices to make it easier for new contributors.
- John: Check out new LF "Community Bridge" initiative.
- People are asked to suggest label name to use for issues we'd like help with.
* Pruning GitHub issue list
- Chair: We have 170 open issues, many old ones, let's try to see if any should be closed.
* Email list migration
- Original Google Group lists shut down date is today.
- John will migrate existing archives as mbox file today (may take some time to show up).
- Chair will ask Sean/Mark to shut down the old groups.
- WBN if anyone that tries to post will get email with new list coordinates.
* Other items
- Patrick: Some small PRs will merge this week #693, #694, #696, last call for reviews.
- Doug: Will schedule next v2 working group meeting for next week sometime.
+60
View File
@@ -0,0 +1,60 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
March 25, 2019
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Thanh Ha - Academy Software Foundation / Linux Foundation
* [ ] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Jim Houston - consultant
# **OCIO TSC Meeting Notes**
* OCIO 1.1.1 Release
- There is one PR left (#705) to merge. Please review.
* OCIO-Configs license/copyright update
- Michael prepared a PR (#17) to add the requested copyright notices.
- Uses the new short-form LF license text.
- Thomas pinged the contributers to the ACES config and we are awaiting their approval.
- Question: Could we remove the local copies of the ACES CTL code?
* /ext refactor update
- No progress this week.
* Google groups archive in GH repo?
- We agreed that we didn't want to store these in the OCIO repo.
- Decision was to store the mbox archives as groups.io files.
- John has now done this.
* Google groups set to read-only, w/ auto-response
- Sean: "Updated the google groups. Posting via website and email should be disabled and updated the welcome page note to point to the new lists."
* Rotating PR reviewer
- Looking for ways to encourage people to spend more time helping with code reviews.
- No objections to trying this to check if it's worthwhile.
- Michael will put together a rotating list of names.
* ACES config
- Carl: Thomas Mansencal and Alex Forsythe will be looking at making a 1.1 config.
- Michael: The shapers used in the Output Transforms are causing clipping.
- Michael/Mark: The ACEScct shaper works better.
- Sean: The built-in log2/allocation transform might be better than a LUT.
- Kevin: The inverse Output Transforms have problems (aside from the known issues with the CTL).
- Chair: Please log issues on GitHub for problems/suggestions based on the 1.0.3 usage.
* Other items
- Doug: Next v2 working group meeting is March 28 at 3 pm New York time.
+68
View File
@@ -0,0 +1,68 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
April 01, 2019
Host: Michael Dolan
Rotating Secretary: Patrick Hodoul
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [ ] Thanh Ha - Academy Software Foundation / Linux Foundation
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* PR review, secretary rotations
- We agreed on the principle and on the list published to ocio-tsc-private@lists.aswf.io
Here is the message link: https://lists.aswf.io/g/ocio-tsc-private/message/20
* OCIO 1.1.1 Release
- We agreed to officially 'publish' the release.
- Larry G. mentioned to add collaboration notice.
- John M.: Emily Olin (LF PR person) will do a press release for the 1.1.1 release and post to social media.
- John M.: Would be great to have someone from OCIO sit in on the ASWF Outreach committee.
- Michael D. is currently discussing with 'VFX Reference Platform'.
- Michael volunteered to do the follow-up.
* ACES config license/repo
- Michael prepared a PR (#17 from https://github.com/imageworks/OpenColorIO-Configs) to add the requested copyright notices.
- Thomas Mansencal will be working on updating the ACES config to support ACES 1.1.
- License:
- Academy owns these configs and code (i.e. Python scripts).
- Clarify with the Academy if they would be willing to use a standard OSS license.
- Mark B.: Do not know any studio using as-is these configurations.
- Carl R.: Nuke is using them.
- Doug W.: Small shops use them as-is.
- Comments: The Academy considers the CTL implementation as the reference i.e. not the OCIO configs.
- Mark B. / Doug W.:
- Anyway, these configs could be generated (using Python code) so generated files
should be considered as binaries.
- It's important for less sophisticated users to be able to download pre-built configs
from somewhere (e.g. Academy website?) but the LUTs themselves do not need to be
in the repo as GitHub does not handle these well.
* Updates on current action items
- Mark B.: We're still working on the ext update.
- Doug W.: We held a v2 working group meeting last week on Zoom.
- Patrick H.: Discussion around the PR #699 (i.e. pixel format support) went well
so I will now move forward if no objections.
* TSC meeting cadence
- Michael D.: Is the meeting cadence fine?
- Larry G.: As long as the transition to the ASWF isn't completed, the cadence is good.
- No objections to continue with a TSC meeting per week.
* Misc:
- John M.: Still working on the CLA, facing some challenges but it's moving.
- Larry G.: What happen with old branches (i.e. release ones) once the transition is completed?
- John M.: Do what has to be done for old branches.
+80
View File
@@ -0,0 +1,80 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
April 8, 2019
Host: Michael Dolan
Rotating Secretary: Doug Walker (Carl will do next week)
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* ASWF Intake checklist open items -- License scan
- No update on ext/ reorg project.
- Michael: Wrote Alex to see if we can change the license for the ACES config.
- Was agreement that we could avoid migrating the older configs to avoid the CTL issue.
- Michael: CTL was not just a copy of AMPAS repo, was edited.
* ASWF Intake checklist open items -- CII badge -- Documentation
- Items for badge:
- SHOULD add/link coding standards to CONTRIBUTING.md
- MUST publish process for reporting vulnerabilities on project site
- MUST provide method for reporting private vulnerabilities
- SUGGESTS documenting policy on adding tests
- Larry: I've been super happy using clang format on OIIO.
- It's set up to break the build for format violations.
- Turned it off on a few files to handle special cases.
- Discussion of adopting it for OCIO.
- Patrick: Need to wait for a period where we don't have lots of PRs waiting to merge.
- Larry: Could do it as we get close to the v2 release, during stabilization.
- One issue is that it messes up Git blame/history.
- Carl: Perhaps create a tag just before the reformat.
- OCIO is not entirely consistent in following its own style guidelines.
- Could experiment with using clang format on new code.
* ASWF Intake checklist open items -- CII badge -- Discussion items
- Items for badge:
- MUST include interim version for review between releases
- Test suite SHOULD cover all code, branches, functionality
- MUST enable warning flags, safe mode, or linter tool for quality checks
- MUST address most warnings
- SUGGESTED to be maximally strict with warnings
- We agreed that the interpretation of the first item is that development must happen in the public repo.
- We agreed to require unit tests on new PRs going forward.
- However won't insist on 100% coverage, just the main functionality.
- Larry: badge requirements on testing are "should" rather than "must".
- Autodesk has put a lot of focus on testing and all the v2 PRs have tests.
- In some cases even more tests exist but depend on forthcoming PRs (TODOs in code).
- However, there are parts of the v1 code base which have either no or minimal coverage.
- Patrick has been working on enabling warnings, Linux almost working, Windows needs work.
- Autodesk has been trying to address new warnings reported on Slack, etc.
* ASWF Intake checklist open items -- CII badge -- Security
- For security, we don't have experts among the regular contributors, need a champion.
- Would like to engage help from new contributers (was some discussion at LA ASWF meeting).
- It's unclear how high the bar is for the CII badge.
- Very interested to hear more from the TAC's working group.
- Larry: On OIIO I try compiling with the latest compilers, sometimes flags security issues.
* ASWF Intake checklist open items -- CII badge -- Analysis
- Michael started looking at some of the analysis tools, SonarCloud (ASWF account).
* 1.1.1 release
- Agreed we don't need to do a press release for 1.1.1.
- Michael: Got an LGTM from Sean on the site updates, will push that today.
* Misc items
- Michael working on Python udpates.
- Thanh has left the LF.
+62
View File
@@ -0,0 +1,62 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Apr 11, 2019
Host: Michael Dolan
Rotating Secretary: Carl Rand
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Vulnerability reporting
- Currently going through the CII badge discussions this week.
- Mainly focusing on documentation.
- Looking at offline private reporting mail of security vulnerabilities.
- Mail address will be security.ocio.org
- Larry: Is a private mail address private enough?
- Michael: The private aspect is only suggested. Other sites don't tend to go beyond a private mail. And doing so would be quite a bit more work and far more complicated.
- Michael has tested the mail system by emailing into it.
- Larry: We just need to make sure it's a mail that isn't publicly visible. It's very unlikely that someone is going to need it to be more private than that.
- Michael: The system states that it's private.
- John is currently setting up the email side of things.
* Updates on ongoing tasks - Python bindings
- Michael is actively working on the bindings.
- Michael: The current API is not very Pythonic.
- Michael: Do we need backwards compatibility? Or can we split it?
- Kevin: It will depend on when we need to support Python 3 and whether we need to do something sooner rather than later.
- Kevin: If this is going to be in version 1.x then we would need to keep backwards compatibility.
- Michael: In 2.x we will have to remove some things regardless.
- Michael: Pushing the API changes back to 1.x is something we could do.
- Patrick: In 1.x the C API shouldn't change. Should this then not be the case for Python API?
- Michael: The option is there to backport the work done in 2.x to 1.x.
- Doug: For the near term we need to maintain backwards compatibility. Could we decide later and see what the new API will be like?
- Michael is starting off now by writing the documentation.
- Trying to balance out the types to reduce the inconsistences.
- Currently maintaining backwards compatibility.
- Larry: Switching the bindings to PyBind 11 might be a good time.
- Carl: Could we mark parts of the API as deprecated and remove them later to give people warning?
- Michael: The problem with this is trying to figure out the deprecation mechanism to use.
- Michael: OCIO 2.x will support both Python 2 and 3
- Kevin: We should make the C and Python API change at the same time. This will make it easier for users.
- Larry: The C/C++ and Python API should only deviate in places where it's natural for the specific language.
* Other items discussed:
- Larry: Raised pushing the meeting forward by 30 minutes as the meetings are only lasting 20 - 30 minutes. It would help people in certain time zones due to rush hour.
- Next weeks meeting will be cancelled due to Easter holiday.
- Kevin will be on PR duty next week but wont be available on Monday.
+102
View File
@@ -0,0 +1,102 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
April 29, 2019
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
Apologies:
* Sean Cooper (_TSC_) - DNEG
* Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* CLA/DSO System
- Doug: Wiki and website need more explanation of what to do (i.e. clear
steps to follow).
- John: There are two links:
- Wiki with info about what to do
- CLA console where signature and contributors are managed
- Doug: No problem with having two separate websites.
- Wiki has a lot of detailed info for someone already in the system, as
reference.
- Confused about what to send to executives/lawyers about what to do.
Having more concrete steps would be helpful.
- John: Multiple roles may be needed:
- Signatory: Name on CLA, who does sign off.
- CLA Manager: Person in organization that manages individual
contributors who are covered by the CLA.
- The manager is the one who enters names and maintains the system.
- Agrees the process is less than intuitive.
- John: Suggests a demo of the system from the LF product team.
- All: Agree a demo would be good.
- The demo could make sense to do at a TAC meeting, or just have a video,
but John suggests we do something in-person for now to unblock OCIO.
- Doug: On the create account website, it says only one account can be
created for an organization; not one per project. A CLA manager would
need to be someone at a corporate level, or of a parent organization.
- John: There can be a different manager and signatory for flexibility. The
manager can designate who can manage contributors. No need to get
corporate council involved to add someone.
- **TODO**: Schedule CLA system demo from LF product team.
* SonarCloud Static Analysis
- Michael: Working on SonarCloud integration for Travis.
- Can't test from an external (forked) PR, so need a better way to test.
- Larry: You can create a dedicated testing branch and push changes to
that directly. That avoids PRs for testing and is internal to GH.
- Michael: Good idea. I'll do that for initial testing.
- Patrick: Does analysis break the build? Where do we see results?
- We need to know when something critical breaks, without having to
remember to check SonarCloud site.
- Michael: Results are on Imageworks SonarCloud account for now. PR #740
has a link.
- sonar-scanner returns non-0 exit if quality gate is not met, so will
break the build.
- There is a SonarCloud badge, which will tell you if the last analysis
is passing or failing. That will also link to full results.
- Needs testing once it is up and running to see how we should
configure it.
* OSX CI Configurations
- Michael: Noticed that our OSX GCC build is actually a duplicate of the
Clang build. To use GCC, we have to set it up differently, since macOS
treats gcc as an alias to clang.
- Larry: Do we need a Mac GCC build? We have Linux GCC builds which should
catch he same errors and warnings.
- Michael: Perhaps instead we can have multiple OSX Clang builds with
different OS versions: older and newer?
- Patrick/Doug: Agree that is reasonable.
- Larry: Good to test with variety of OS versions to catch more issues.
- **TODO**: Michael will reconfigure the OSX test matrix.
* LF CommunityBridge
- Michael: Since this is an official LF tool, and has security vulnerability
reporting, should we consider it instead of our current email approach?
- John: We should stay where we are for now. We need more data on
CommunityBridge, since it is new.
* OCIO V2 Working Group
- Doug: V2 working group is tomorrow (April 30), 3pm EST.
- Michael: Will you be opening new PRs today or tomorrow for discussion?
- Doug: Will be opening PRs this week, and a GH issue today on one topic.
- Issue (for discussion) will be regarding new OCIO display transforms.
- Doug/Patrick: New PRs coming involve CPU renderer with bit-depth support
and API, etc.
* Items for next TSC meeting agenda:
- Kevin mentioned in his apology that he had a topic, but will bring it up
at the next meeting.
+59
View File
@@ -0,0 +1,59 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
May 6, 2019
Host: Michael Dolan
Rotating Secretary: Patrick Hodoul
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* TSC Meeting:
- What is the quorum magic number and limitations?
- Charter requires 2/3 of members for quorum
and says attendees "will be prevented from making any decisions at the meeting".
- Ask at the next TAC meeting if changes to quorum rules should be made.
* Azure Pipeline:
- Last ASWF CI meeting, it seems to move in the Azure direction.
- May: CI build (i.e. Azure pipeline)
- June: Static analysis (Sonar Cloud) and security
- July: Dependency management
- Michael D.: Currently exploring Azure pipeline.
- Patrick H.: Will have a look to understand build breaks.
- Michael D.: OCIO still has the 'ext' dependencies.
* Platforms / Compilers for CI builds:
- What are the expectations?
- Are VFX platform recommendations enough?
- Patrick H.: OCIO needs more.
- Michael D.: Will do a matrix, and send to all TSC members for review.
* Package Manager:
- Michael D.: Conda seems nice and multiplatform.
* Meeting cadence:
- Doug W.: Questioning about the meeting cadence and attendances.
- Michael D.: Will poke on the TSC Slack channel to have feedback.
- Doug W.: Time could change to better accomodate UK members.
- Patrick H.: Past experiences with UK the meeting was later to let folks be home.
* Code transition to ASWF:
- Larry G.: CLA finalization is waiting for the OCIO code move to ASWF repo
and the code transition waits for the 'ext' third-party library changes.
- Larry G.: What is the status of the 'ext' third-party library transition?
- Michael D.: Will poke on the TSC Slack channel to have status.
+36
View File
@@ -0,0 +1,36 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
May 13, 2019
Host: Michael Dolan
Rotating Secretary: Mark Boorer
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* TSC meeting timing / cadence
- London folk are happy to keep the meetings at the current time.
- We will discuss cadence after ASWF migration is complete.
* ext / refactor update and plan
- Is almost a blocker now (other than CLA changes).
- Provide a script to download the dependencies into an ext directory
- Then update the cmake code to still build the deps if they are
found in the ext dir, else look in the usual install locations
- Try to keep Windows use-case as simple as it is now.
+53
View File
@@ -0,0 +1,53 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
May 27, 2019
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Pull Requests:
- PR #750 nearing the 2 week mark, needs review.
- Michael: Will review today
- Bernard: Adds FixedFunction, Gamma, and Log transform support to CTF parsing.
- Michael: Does that complete the CTF integration?
- Doug: No, there is more coming, after this PR is merged.
- Doug: Participating in the ACES CLF working group:
- New transforms being added to support Log, ExponentWithLinear, etc.
- Next version will allow transforms like ACEScct to ACES2065-1 without LUT
- ACES 1.2 release later this year
- Patrick: PR #735 should be finalized, merged.
- Michael: will reach out to Carl
* ACES OCIO-Configs license inquiry
- Michael: Havn't yet heard back from Alex about how to proceed with license; is
there someone else we should contact?
- **TODO**: Ask Sean to raise this question at ACES TAC
* Azure-pipelines Update
- Michael: Integrated Docker images into CI this weekend; was really simple to
setup and will make it simpler to add or change build matrix.
- ASWF DockerHub can be used, and doesn't require link with GitHub, so not
bound by license scan issues.
- Building images based on VFX Ref Platform versions, as much as possible.
- Docker is supported for Linux and Windows only.
- Michael: Asks Patrick if he has a Windows Docker image as a starting point?
- Patrick: Is working on Windows, so only has Linux images, but has bat
scripts that could be a starting point for setting up Windows
env. Will send them to Michael.
+42
View File
@@ -0,0 +1,42 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
June 3, 2019
Host: Michael Dolan
Rotating Secretary: Sean Cooper
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [ ] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Azure CI
- Pull request coming soon ( PR #757 ), working on gcov integration to SonarCloud
- Larry: OIIO uses gcov if a reference is needed.
- Patrick: Any specific work needed in the future to complete it?
- Michael: Have yet to hook up gh-pages deployment, Docker images need to be moved to ASWF
- Everything is working, but there will be room for refinement and improvements.
- Patrick: Took a look at initial SonarCloud analysis. Making a first pass at resolving some of the detected bugs.
* Ext Directory
- John Mertic and ASWF have no defined timeline for repo adoption
- ASWF would like to have some projects achieve adopted status by SIGGRAPH
- Giving Mark another 2 weeks to take a look, otherwise will look at re-assigning that work
* OCIO Configs Repo
- Missing licenses and relies on external Academy ACES code with incompatible license
- Alex Forsyth or Scott Dyer will need to give us an update on how they anticipate handling it
* OCIO Domain https
- There is a domain level issue preventing GitHub Pages from enabling https
- **TODO**: John Mertic to submit a HelpDesk ticket about the issue
+69
View File
@@ -0,0 +1,69 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
June 10, 2019
Host: Michael Dolan
Rotating Secretary: Patrick Hodoul
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [ ] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
Apologies:
* Doug Walker (_TSC_) - Autodesk
# **OCIO TSC Meeting Notes**
* Pull Request #762:
- Larry G.: Added a missing paragraph in the CLA corporate document, nothing new.
- Waiting approval
* Azure CI Build:
- Larry G.: Needs to build OCIO with some dependency main branch to trap coming issues?
- Larry G. Only some libraries:
As OpenEXR is an indirect dependency, perhaps not needed.
But OIIO could be a good candidate.
- Patrick H.: Supports the idea and the restriction.
- One platform / one compiler could be enough.
- Larry G.: OIIO has a vcpkg description usable, he suggests that OCIO team maintains one.
- Patrick H.: Would also be useful for devs as Windows platform is always problematic.
- VFX Reference Platform:
- Michael D.: Problem to follow the recommandations:
- CentOS package for the exact gcc version but Azure Linux is ubuntu.
- General discussion about important missing pieces causing trouble when willing to compile something:
- Larry G.: The CMake version is mssing,
- Carl R.: The Visual Studio version is missing,
- Patrick H.: Nothing on Windows & OSX.
- Michael D: What about moving OIIO in ASWF?
- Larry G.: ASWF libraries are problematic ones :) - No plan for OIIO.
- Patrick H.: Add static analysis by default to the CI builds as the full build is only 30 mins.
- Larry G.: Support the idea.
- Carl R.: Build break on problems?
- Patrick H.: Yes and see if it becomes too restrictive.
- Michael D.: Must pause his work on Azure CI build for a while.
* Pull Requests:
- PR #753 is waiting your feedback.
- Patrick H.: As mentioned next week, ready to merge.
- Other Autodesk PRs are not blocking.
* Summer Vacation:
- Bernard Lefebvre from June 14 to July 7, 2019
- Patrick Hodoul from June 27 to July 17, 2019
+68
View File
@@ -0,0 +1,68 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
TSC meeting 2019-06-17
Host: Michael Dolan
Rotating Secretary: Larry Gritz
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Sean Cooper (_TSC_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [x] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [x] Carl Rand (_TSC_) - Foundry
* [ ] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* ext dependencies
- Mike Dolan: if Mark doesn't have time to complete it soon, Mike can.
- Mark: that might be best
- **Action item**: they will coordinate
* Switch to Docker images for CI builds
- Take Truelight out because it's a commercial product
- Will anybody in the community be inconvenienced?
- Patrick: still a concern because we don't have a good way to test it, can't access it.
- Mike: we can download it and build against it...
- Sean: ...but you can't use he library functionality without a license.
- Patrick: That's why we have almost no unit tests for it.
- **Action item**: Mike: Ask ocio-dev one more time for objections before pulling it.
- Other Linux builds will continue to use our own rather than ASWF docker images
* Color math library:
- Mark: Almost ready to show color math library. Maybe demo next week?
- **Action item**: demo at next TSC meeting? Also describe on ocio-dev.
* TSC meeting schedule:
- Next week is holiday in Quebec and Mike is coincidentally on vacation
- Two weeks from now July 1 is Canada Day, holiday in Canada.
- **Action item**: skip next two weeks. Next TSC meeting will therefore be on **July 8**.
* BOF at SIGGRAPH:
- Back to back open source BOFs of ASWF groups on Tuesday.
- Also "leader's meeting" at lunchtime on that day, same place.
- Content of BOF:
* General update
* Update from Autodesk on v2 progress
* Have story straight about release schedule
* Maybe Mark will talk about open color math library
* Sean won't be there, but might be able to supply slides for somebody else to talk about LUT inversion.
- Mark: Can we get swag? (ASWF might have shirts, etc.)
- Can we record BOF? More nicely than Sean's cell phone? Maybe ASWF will arrange it?
* Items for next TSC meeting agenda:
- Mark will give demo/overview of color math library proposal.
+55
View File
@@ -0,0 +1,55 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
July 08, 2019
Host: NAME (Michael Dolan)
Rotating Secretary: Kevin Wheatley
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Sean Cooper (_TSC_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [x] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [ ] Patrick Hodoul (_TSC_) - Autodesk
* [x] John Mertic - Academy Software Foundation / Linux Foundation
* [x] Carl Rand (_TSC_) - Foundry
* [ ] Doug Walker (_TSC Chief Architect_) - Autodesk
* [x] Kevin Wheatley (_TSC_) - Framestore
* Bernard Lefebvre - Autodesk
* Emily Olin - Linux Foundation
Apologies:
Patrick, Doug
# **OCIO TSC Meeting Notes**
* Suggestions for SIGGRAPH BOF and WG meeting agenda
- ACES 1.1 config update
- Not clear on the exact features to show from the Autodesk Team, but likely
- Impact and changes of becoming ASWF project
- Mark offered to present Open Colour Math ideas
- Need to put out some messaging to the mailing lists to announce the BOf and working group meetings.
- **Action: Mark and Emily to discuss sizzle real content for SIGGRAPH**
- **Action: Michael to start with some blank ASWF slides to promt discussion**
* ASFW Adoption progress
- CII badge needed - currently 97% done, still todo:
* Security experts; Larry suggests a pragmatic approach to say we will have experts on the code base who reasonably aware of security principals, but not specific security experts
* Security Policy documentation; Suggestion to adopt the OpenVDB style approach
* "ext" refactoring update
- Implemented as a cmake script to download and build external dependencies
- patching is something we are trying to avoid in the new implementation for simplicity
- Being developed on Linux and using Azure to do cross platform checks
- SampleICC is trickier to implement as it is a hand-crafted subset of the full code base. **Action: Discuss with Doug when he is back from vacation**
- Unit test discussion, current choice to adopt a renamed OIIO unit test macros header,
possibly looking at alternate implementation in the future
* Items for next TSC meeting agenda:
- Open Colour Math
- SampleICC dependency
+83
View File
@@ -0,0 +1,83 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
July 22, 2019
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Open Source Maintainers Meeting
- Michael: We want to invite ACES leads to the meeting at SIGGRAPH. I don't
have all their contact info. Asks if Doug can provide it?
- **TODO**: Doug does, and is willing to reach out to Annie and JZ. Later
(offline) asks Sean if he would like to, since he is our ACES TAC rep.
- Meeting is Wednesday at 4pm.
- Larry clarifies that the purpose of the meeting isn't to advertise ASWF
or even attract new projects, but to discuss the ASWFs role in the wider
ecosystem, and how it can better work with and help other projects.
* SIGGRAPH Working Group Meeting
- Michael proposes this be more of a working group meeting than a TSC
meeting
- Doug: We have two hours, so the TSC portion could be 30 minutes, and use
the rest for working group.
- Doug: Those not at SIGGRAPH can connect via Zoom.
- **TODO**: Doug will send invite to both ocio-dev and OCIO v2 working group
(google group).
- Doug: We should discuss release/pre-release branch and/or tag naming
- Other topics are CLF write support and recent CPU renderer performance
work (PR #769).
- Will show OCIO v2 roadmap
* SIGGRAPH OCIO BoF
- Patrick: We really don't have a full hour; more like 45-50 minutes.
- Doug: Timing will be important to allow for discussion. Let's add target
durations to the slide deck notes to help keep us on track.
- Patrick: Someone should monitor time during meeting to keep things moving
- Doug: in interest of time, AD will not do live demo. Demos can be done
following meeting on Doug's laptop if there's interest.
- Michael: I will keep general project updates brief.
- Mark: Can keep OpenColorMath talk under 10 minutes.
- Michael: Thomas won't be there, but will provide statement to talk about
ACES 1.1 config.
- His work is mostly done, but not checked in anywhere yet, so we'll
likely be pointing people at his fork. Probably Ok since it's still
being tested.
- Michael: We're still trying to talk to Alex about what to do with
OCIO-Configs repo.
- Work will be included in Nuke 12 beta.
- Doug: Will have a slide to talk about improved ACES Output Transform
support we added. Will have results vs. ACES 1.0.3 and Thomas' fork
available on laptop for anyone interested.
- New shaper does improve performance on bright colors and is worth
doing. However performance in some areas does get worse, so it is
moving the error around more than eliminating it.
- ACES 1.2 is due out in the fall. Includes new ACESclip and revised
CLF spec.
- ACES v2 (including Output Transform improvements, etc.) is still in
planning phase.
- Michael: The version of the ACES config following Thomas' 1.1
version will hopefully be able to use the new built-in OCIO transforms
(next year sometime).
* PR Update
- Michael: Let's review #769 this week. It's been open 26 days.
- Michael: ext/ work is ready for review. Do want to add shared lib support
for LCMS2 and pystring in the CI scripts, but not high priority.
- Patrick: That can be a TODO for later.
- Patrick: UnitTest changes need to be merged into #769, but not a big deal.
+60
View File
@@ -0,0 +1,60 @@
July 31, 2019
Hosts: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [x] John Mertic - Academy Software Foundation / Linux Foundation
* [x] Carl Rand (_TSC_) - Foundry
* [x] Doug Walker (_TSC Chief Architect_) - Autodesk
* [x] Kevin Wheatley (_TSC_) - Framestore
* Chris Bankoff - Method
* Stephen Mackenzie - Method
* Matthias Scharfenberg - ILM
Apologies:
Sean, Larry
# **OCIO TSC Meeting Notes**
* Next steps on ASWF transition
- Michael: Did a lot of license cleanup and need one more license scan.
- Main license file changed from "All code by Sony Pictures Imageworks" to
"All code by Contributors to the OpenColorIO Project"
- OIIO license is in twice, once for unit-test/string-util, and again for arg-parse.
- John: The CLAs don't have license assignment/grant, everyone still owns their copyright.
- Michael: OCIOConfigs problem with ACES license also has not been resolved.
- Mark: Let's start a new repo rather than move the existing one.
- Michael: Everything else is done. Will probably have vote at next TAC meeting!
- Not sure we have the authentication to fix the CI/Azure once the repo moves over.
* Planning a 1.1.2 release
- VFX Reference Platform is currently "1.1.x".
- Doug: Could we roll Joseph's Iridas cube writer into a release? (No API change needed.)
- Patrick listed several bug fixes that would be nice to get out.
- Mark: Sounds good.
- Michael: Let's target a 1.1.2 for this fall.
* Are Java bindings used?
- Mark: I did update them during the repo refactor.
- We got some bug reports from someone using them on Android.
- Not aware of specific apps though.
- Michael: We're not testing them. They may not work with the v2 changes.
- Group: Should ask on ocoi-dev if anyone is using them.
* Vendor directory clean-up
- Michael: Many of these are out of date. Remove or keep as examples?
- Michael: Mari now has a solid integration that doesn't use what's in the repo.
- The ones in the repo are obsolete and perhaps should be removed.
- The RV example may also be obsolete.
- Michael: Would be great for community to contribute back to this.
- Mark: We have a custom one but need to support clients using the ocio one.
- Photoshop and AfterEffects are still valid and maintained.
- Doug: For vendors that have official OCIO support, maybe this isn't useful anymore?
- Mark: I would prefer the vendors provide up-to-date source for their implementations.
+85
View File
@@ -0,0 +1,85 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
August 5, 2019
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
Apologies:
Mark Boorer
# **OCIO TSC Meeting Notes**
* License Scan Status
- Michael: Test LUT files were called out as not having license notices. Can
we have an exception with these?
- John: The ASWF governing board can approve exceptions. They will need to
approve the sampleicc exception.
- Doug: Could put a license file in the test data directory which applies
to all files.
- John: Agrees that would be a good approach. BSD-3-Clause is the most
appropriate license for these files.
- **TODO**: Michael will add LICENSE.md file to test/data dir in PR #783
- **TODO**: Larry will discuss the flagged “Cloudy with a Chance of
Meatballs” images with Sony.
- Kevin: We also need to update the LICENSE on the OCIO website
- Michael: That is pulled from GitHub, but currently from the RB-1.1
branch. Since the license cleanup work is being done in main, is it Ok
to wait for a 2.0 release next year to update the site?
- John: That should be Ok.
- Kevin: Let’s make a note to not forget it.
- Michael: Sean is looking into updated website and docs, so can take that
into account.
- **TODO**: Sean will update website LICENSE as part of redesign.
* Committers Policy
- PR #785 lists current committers, and is a requirement for graduation.
Should we establish a policy for removing names from this list when they
are inactive?
- Patrick: The goal is not to push people out, but to encourage
participation. One option would be to have a duration of inactivity, 2-3
years, at which point the TSC discusses pruning up the list.
- John: The GOVERNANCE file already gives the TSC discretion to give
inactive committers emeritus status, or to remove them.
- Doug: That’s the list of people whose approval counts toward merge. If
there were someone who we thought was active and qualified, they could be
added to the list, to help with reviews. Removing inactive people is not
a critical need.
- John: There’s often a good reason why people have not been around.
- Patrick: We could commit the current COMMITTERS file as-is, and contact
inactive committers to inquire of interest in continued participation.
- **TODO**: Michael will reach out to those with admin/write status to ask
if they would like to remain involved in OCIO.
* SIGGRAPH Recap
- Doug: Good turnout to BoF, in spite of it happening at the same time as
USD BoF.
- Side-conversations and feedback on the event were positive.
- There was an email discussion prior to SIGGRAPH about a joint
ACES/OCIO meeting, but it didn't work out.
- Michael: Mark's OpenColorMath preview was well received. Questions at BoF
were all about that work.
- Michael: We were approached by an engineer from Method interested in
helping with Python docs, and by Netflix post production about interest in
contributing.
- Sean: Asks about work on the new Python bindings, since pybind11 has
interface for docstrings, which will affect doc contributions.
- Michael: I'll continue work on the bindings soon. I have SPI's blessing
to do the work, since we're in need of the Python 3 support.
- Michael: I noticed OpenTimelineIO's C++ branch is using pybind11. That
and OpenImageIO will be great reference.
- Larry: MaterialX is also using pybind11.
+44
View File
@@ -0,0 +1,44 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
August 12, 2019
Host: Michael Dolan
Rotating Secretary: Mark Boorer
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
Apologies:
# **OCIO TSC Meeting Notes**
* Moving repo to ASWF
- CLA needs finalizing from Sony
- ASWF needs all things to be under same license for final approval
- Doug will look at unit test licenses
- Unsure if [CI/Slack] will continue working / authenticating after move, so might need to be fixed soon after.
* Mingw on windows patches
- Does this correspond to a new platform?
- How should we respond to requests of this nature?
- Mark thinks as long as the community is responding / submitting patches
we should consider it “supported”
- Remember that adding CI for every platform might be expensive (in terms of build time or other resources)
- Larry says that we should accept all reasonable patches, though perhaps only “supported platforms” would be listed in any documentation. Supported platforms might include only those we have CI for.
- TODO: Michael will check that the CI works on the Release branch as well
- For now we won’t add MinGW to the CI Matrix
+45
View File
@@ -0,0 +1,45 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
August 19, 2019
Host: Michael Dolan
Rotating Secretary: Patrick Hodoul
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* License
- Larry: SPI legal is ok having SPI copyright removed from files.
- Larry: Add one line in README.md to indicate that files originated from SPI.
- Doug: Still discussing with Autodesk legal about deleting our copyright.
* RB-1.1
- Michael: Following the approval for another minor release (*TSC meeting 2019-08-12*),
Travis & AppVeyor (i.e. the former CI build) are back for the RB-1.1 branch only.
- AppVeyor uses RB-1.1 & main branch
- **TODO**: Sean will help to disable main.
- Travis triggers new warnings/errors.
Check [PR 798](https://github.com/imageworks/OpenColorIO/pull/798) for details.
- Agreed to fix them.
- **TODO**: Let others have a look to help.
* Python Bindings
- Michael: Currently working on the Python bindings using pybind11.
- Facing some complexity to correctly support class without public destructor
i.e. all public classes.
- **TODO**: Michael will create a 'draft' pull request to present his proposal.
- **TODO**: Let others have a look to help.
+54
View File
@@ -0,0 +1,54 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
September 9, 2019
Host: Michael Dolan
Rotating Secretary: Kevin Wheatley
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [ ] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Granting Kevin Wheatley rights to act as an approver for pull requests (write access). Approved **Michael to action in github**
* GPU host for CI infrastructure, funding is approved. We really only need lower end GPU capabilities, but does need to be real hardware.
Need to call out to TAC? John queried Andy@LF on progress, challenge with creating dynamic builders with GPU resources.
Carl noted that it may be worth having some variety of hardware vendors as they have different compliance levels with OpenGL.
**Invite Andy to next weeks TSC Meeting**
* John reported that the governing board approved the license waivers. This should be the last hurdle to migrating the repository to the ASWF.
Contributers will thus need to have their CLA signed.
Query over the status of the Autodesk CLA, it should have been done.
**Michael to drop the TAC an email, requesting migration**
**Doug to approve license pull request #799**
* Issue with Azure builds not passing status check to github, help request is in with Microsoft.
* Python bindings discussion around trying to improve automatic generation of bindings. Autodesk to take a look at what could be done to smooth out this.
Michael noted that we need a way to handle read only objects in python.
Explanation around the use of shared_ptr<> with private destructors.
**Michael to submit example pull request** showing how it could be if we did not have private destructors so the team can better understand the issue and offer suggestions.
+45
View File
@@ -0,0 +1,45 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
September 16, 2019
Host: Doug Walker
Rotating Secretary: Carl Rand
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [ ] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [ ] Bernard Lefebvre - Autodesk
Apologies:
Michael Dolan
# **OCIO TSC Meeting Notes**
* Do we need to support GCC 4 and 5 anymore?
- Doug raised that pull request #831 removes macros specific to these versions of GCC.
- Patrick raised that as we add more C+11 features the more we will be restricted.
- Kevin thinks we should definitely drop support for GCC 3.
- Patrick thought dropping GCC 3 would be fine and should be done in the main branch.
* Azure CI build
- Patrick raised that the communication between Azure and Github is broken.
- Even when a pull request passes it still remains highlighted as red.
- Because of this an administrator has to sign off each individual pull request which is slowing the whole process down.
- It looks like a bug in the Azure side.
- We are currently waiting on the Azure team to fix the issue.
* Python bindings
- Doug asked if there was a way to use pybind11 in an automatic way due to the destructor being private?
- Patrick hasn't been able to find a nicer way to do it without making a major change to the API.
- The only way seems to be to change the destructor from private to public.
- Making the destructor public might be the best and simplest solution.
- Doug thought if we went the public route we would need to document it in the API and explain that no one should really call this themselves.
+47
View File
@@ -0,0 +1,47 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Sept. 23, 2019
Host: Michael Dolan
Rotating Secretary: Sean Cooper
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Sean Cooper (_TSC_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [x] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [x] John Mertic - Academy Software Foundation / Linux Foundation
* [x] Carl Rand (_TSC_) - Foundry
* [x] Doug Walker (_TSC Chief Architect_) - Autodesk
* [x] Kevin Wheatley (_TSC_) - Framestore
# **OCIO TSC Meeting Notes**
* Repo Ready to Move!
- Just submit a helpdesk ticket to move it over to ASWF
- TravisCI & Appveyor - need to be setup again most likely (to look into)
- Patrick and Doug want to wait for 4 critical/major PRs to be merged before moving
* CLA
- Existing PRs would need to be amended with DCO
- Would be great to part of the PR check system (easily visible)
* Config Repo
- Need to sort out how to proceed...
- Need to reach out to AMPAS to sort out ownership/license
- Ideally the configs would run a CI system and produce the LUTs as artifacts to download
- Would be good to have modern-day example configs from studios
- Need to have a config that utilizes all of the features of OCIO (Looks!) for application developers to reference
* Docs
- Sean presented a draft look for a new website / API docs
- Patrick noted that it should be clang-format friendly
- Most of the group seems comfortable moving away from Sphinx
* Items for next TSC meeting agenda:
- Loop back on OpenColorIO-Config repo
- Further discussion of documentation
- Status update on Repo move
+99
View File
@@ -0,0 +1,99 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
DATE
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* Bernard Lefebvre - Autodesk
* Carol Payne - Netflix
* Andrew Grimberg - Linux Foundation
Apologies:
NONE
# **OCIO TSC Meeting Notes**
* OpenColorIO repo move:
- Michael: Will we have admin access to the ASWF Azure and SonarCloud
accounts? So we can update private keys and trigger builds, etc.
- Andrew: You will have rights to SonarCloud. We're still working on
rights for Azure.
- Will need to go through helpdesk ticket for now for pipeline
updates.
- ASWF has a single Azure account with a pipeline per project, so
permissions are complicated. Want to have a single landing page
for projects to keep them discoverable.
- Larry: Everyone OK with me requestign the repo move after the meeting?
- All: Yes.
- Mark: Should we let the community know?
- Michael: Yes. I sent a notice last week to ocio-dev, and will
update the thread.
- Andrew: Purged the previous ASWF OCIO fork already.
* OpenColorIO-Configs:
- Sean: We might want to start from scratch with a new config repo, and
find better solution using CI and lists.aswf.io to store build artifacts.
- Doug: Many issues with aces config, particularly versioning.
- Nuke 12 just shipped with forked version.
- We need to add new spaces, but not sure if that will wait for 1.2,
or have revision of 1.1.
- How do people know which release they are using?
- Carl: We struggled to get 1.1 ready for nuke 12. Needs clearer
ownership.
- Sean: There's complexity with taking ownership of it. Also hard to
distribute non-ACES camera transforms.
- Michael: Need to resolve ACES config licensing first.
- Doug: Need a joint meeting with stakeholders.
- Carol: I'm in LA and can reach out to the Academy if needed.
- Sean: Should we raise this in an OCIO or ACES forum? How public?
- Public is OK, and we can offline discussion as needed.
- **TODO**: Sean will reach out to ACES for how to proceed.
* Docs discussion:
- Michael: Should we use RTD? Sphinx? Or soemthing else? Is the concern
with RTD just the style? Or something lower level?
- Andrew: Can use any style we want with RTD. We also have beta access to
API v3.
- Sean: Any reason for ASWF not providing similar standalone service?
- Andrew: RTD is easy to use, works with GH tags automatically, will
warn if you're reading an old version.
- RTD can bring people back to source. LF can also create a top-level
site, so ASWF projects can be interlinked via Sphinx.
- Sean: Any examples for reference?
- Andrew: LF Release Engineering, OpenDaylight, etc.
- Larry: OIIO converted to RTD, from a 450 pg book.
- Michael: Does RTD support custom designed landing page?
- Andrew: RTD is limited to rst.
- Michael: Could have a custom site linked to RTD, like colour-science.
The OCIO website and logo could use refresh in general.
- Sean: gh-pages can continue to host website and link to RST.
- John: Can kick ideas to LF creative services to create logo if needed.
- Sean: Would like to have good user story, with flexibility to demonstrate
working with DCCs, etc.
- **TODO**: Sean will continue investigating website and RTD docs.
GPU CI:
- Doug: Anything to discuss with Andrew regarding GPU CI support?
- Andrew: TAC voted to decomission jenkins, so budget is available for GPUs.
- ASWF can now bring up instances in Azure and attach to our pool.
- Need to know how to configure static instances, no dynamic launching.
- Michael: Sean Looper (AWS) offered free GPU instances. Can we use those.
- Andrew: Yes, that would work too.
- Michael: Let's make this our focus following the repo move and continue
discussion.
* Items for next TSC meeting agenda:
- GPU CI direction. Invite Andrew and Sean Looper to TSC meeting?
+42
View File
@@ -0,0 +1,42 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
October 7, 2019
Host: Doug Walker
Rotating Secretary: Mark Boorer
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [ ] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Michael Min - Netflix
* [X] Carol Payne - Netflix
* [X] Bernard Lefebvre - Autodesk
Apologies:
Michael Dolan
# **OCIO TSC Meeting Notes**
* Question for John re: DCO sign-off process
Doug - What happens if the email that people are signing-off with is not the email of their employer (eg @autodesk.com).
Lary - The CLA manager can log on and list all the emails that are associated with their employees.
Only email addresses OK'd by the CLA manager (or domain, github user, etc) will be approved.
DCO doesn't tell us /why/ a certain pull request was approved. So potentially a new feature request.
John will confirm with the team as to how the DCO sign off will behave when a user has not completed the CLA process correctly, or is a new user.
* No updates on documentation refresh
* Hacktober fest tag work done by Patrick, looking for other volunteers to improve visibility
* No meeting next week (14/10/2019) due to thanksgiving in Canada
+38
View File
@@ -0,0 +1,38 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
October 21, 2019
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* GPU CI Enablement
- Michael logged a ticket with LF to take advantage of AWS GPU instances offered by Sean Looper.
- Michael Johnson from Apple is also investigating getting us GPU CI support for MacOS.
* 1.1.2 Release
- As discussed earlier, there are several small fixes that could be rolled into a 1.1.2 release.
- Discussed what the time frame might be for this in order to best help client apps.
- Nuke 12 has already shipped with 1.1.1.
- We are still thinking of doing a 1.1.2 later in the year, but are not targeting a specific date yet.
* Active Display/View Error Handling
- Doug/Patrick: We are looking to fix some long-standing issues with active displays/views.
- Is anyone opposed to throwing an exception if a supplied active display/view doesn't exist?
- The logic around default display/view is a bit confusing (e.g. alphabetical vs. config order).
- The group agreed that there are issues that should be cleaned up.
+40
View File
@@ -0,0 +1,40 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
October 28, 2019
Host: Michael Dolan
Rotating Secretary: Patrick Hodoul
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Carol Payne - Netflix
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Repo. admin. rights
- To document the policy concerning repository rights vs. roles.
* Branch protected
- Agreement to only protect `main`, `RB-**` and `gh-pages`.
* Stalled pull requests
- Agreement to not have any automatic removal of stalled pull requests.
- Agreement to check from time to time the pull request validity (i.e. contact the owner).
* Yaml concerns
- Proposal to move to a recent version.
- Michael remembers some issue(s) around newer Yaml versions.
- Comment on security concerns using very old library version.
- Larry: At some point, need to implement security checks on third-party libraries
such as Yaml, eXpat etc.
+85
View File
@@ -0,0 +1,85 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
November 04, 2019
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Yaml 0.6.2 support
- Patrick investigated and implemented latest yaml-cpp version. Functioning
properly on all platforms, and no boost dependency.
- Investigated floating point precision issue. Was able to increase
precision to 15 digits.
- Display order problem is not resolved, since it's a limitation of
std::map used by yaml-cpp.
- Kevin: If numerical ids are used instead of names, that would preserve
order.
- **TODO**: Patrick will investigate numerical ids.
- Could OLDYAML support be definitively removed?
- All agree, yes. Remove support for old yaml-cpp version.
* PR #875, active_views filtering and ordering
- PR submitted by Patrick, and has been approved for merge.
- Displays and views are now filtered and ordered similarly, but there's
still no validation that an active display or view is actually defined.
- Patrick: View behavior was modified to exactly match display behavior.
- Doug: Needs second pass at some point to improve error handling, but
nervous to change long standing behavior.
- If an active display doesnt exist, should we throw exception? It
currently doesn't.
- Patrick: active_views applies to all displays, though views can
differ between displays.
- Michael: Could we add checks to Config validation? That would warn
users when an error can be detected, but not change functionality.
- Doug: Also must consider active display and view environment
variables, which wouldn't always be validated.
* color_picking role usage
- Michael: Intended for a color picker view transform, a picking space
(i.e. assumed screen buffer color space), or both?
- Mark: Both. It's application specific behavior, but most DCCs dont put
view transform on color palette.
- Doug: Why not apply view transform to palette?
- Mark: Could be issues with a client LUT clamping colors, and many 3D
LTUs aren't cleanly reversable.
- All agree that picking colors for textures is different. View transform
can make less sense in this case, especially where users don't want RGB
values greater than 1.
- Doug: What to do when you have a rendering space that differs from
viewing space?
- Mark: Could understand having color picker with choice of scene and
display space.
- Kevin: Wondering if we have the right set of roles these days. Different
apps have different needs. Could it be unified around what an application
is trying to do?
- Doug: More specific roles would be good.
- **TODO**: Improve documentation around standard roles and how they are
intended to be used.
- Patrick: Question about macOS CI with LFRE
- Highlights our lack of control of our build machines
- It would be good to know what we are compiling on, especially if we
someday distribute build artifact binaries. Need to know machine,
compiler, etc.
- Michael: Put in an LFRE helpdesk ticket for insight around this. Might
be possible to move away from Microsoft hosted agents at some point,
particularly with discussions happening with Wave.
* Items for next TSC meeting agenda:
- Holiday next week for Vancouver.
+61
View File
@@ -0,0 +1,61 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
November 18, 2019
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Sean Cooper (_TSC_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [x] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [x] Doug Walker (_TSC Chief Architect_) - Autodesk
* [x] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Problems with the CI queue
- Patrick: The CI system has been having problems with jobs not running properly.
We need a manual way to restart the CI builds/checks.
- Michael: We lost the feature when the repo moved from Imageworks over to LF.
* Admin access
- Michael: There is a discussion going on at the TAC member level about admin
access to the GitHub repo. Other projects also want more access. Need to
balance this against LFRE policies. Stay tuned ...
* GPU CI
- Doug: This was discussed at last week's TAC CI working group. It was identified
as a goal to have this working for OCIO by year's end. JF Panisset proposed a
list of suitable hardware instances on Azure, AWS, Google. AZP does not support
dynamic instancing yet but it was agreed to move forward anyway.
- Michael: I updated our ticket with LFRE to ask them to move forward with the
AWS option. Hopefully dynamic instancing will be available in a few months.
- Michael: I'm working with John Mertic to try and get access for more people to
be able to see our OCIO LFRE tickets.
* PR #884 Optimization
- Doug: This is a big piece of work from the Autodesk team to upgrade the transform
chain optimization process, building on the foundation that was in OCIO and
adding a lot of new capabilities and unit tests. The starting point for doing
your review should be OpOptimizers.cpp. We will go into more detail at the
OCIO v2 working group meeting on Wednesday.
* ACES Implementation TAC
- Sean: The first ACES Implementation TAC meeting is tomorrow. Sean and Kevin are
on the TAC and Doug is chairing the CLF Implementation VWG. Everyone is welcome
to attend via GoToMeeting, details are on ACESCentral.
- Michael: Perhaps it would be useful to bring up the topic of how to transition
the OCIO-Configs repo.
* Misc. Items
- Patrick: Is anyone else having problems with git pull not returning the latest commit?
- Kevin: I just tried it and seem to be getting the latest commit.
- Doug: Please join us for the OCIO v2 working group meeting on Wednesday.
+53
View File
@@ -0,0 +1,53 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Nov 25, 2019
Host: Michael Dolan
Rotating Secretary: Mark Boorer
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Mei Chu - Sony Pictures Imageworks
Apologies:
* Sean Cooper
* Larry Gritz
# **OCIO TSC Meeting Notes**
* License for OpenColorIO-Configs
- Annoying that official ACES config is in someone's personal fork, rather than the official repo
* Mission statement in repo
- Michael has made a pull request as a starting point
* Automated GPU unit tests
- There is an implementation on the ASWF lists, shouldn't be too hard to implement.
- How are these funded? Free trial?
* v2 Working group meeting minutes
- Should these be added to the OCIO repo? Yes!
* Use of environment variables in roles
- should we be able to assign roles to environment variables?
* Colorspace aliases?
- Is equality group the only way to define these?
- Could YAML references work?
- Might be nice to have an OCIO API way to define an alias
- Can use roles :S
* get_colorspace_from_filename
- Doug will post some issues to get feedback on how application authors should respond to
strict_parsing or errors finding colourspaces
+98
View File
@@ -0,0 +1,98 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
December 9, 2019
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Foundry
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
Apologies:
Kevin Wheatley
Larry Gritz
# **OCIO TSC Meeting Notes**
* TSC membership changes
- Carl: Peter Crossley will be the new Foundry TSC representative
starting next week.
* OCIO-Configs AMPAS license update
- Michael wrote ACES chairs and staff. Annie responded that they will
discuss and get back to us.
- Patrick: What is the plan if we can’t resolve the licenses?
- Michael: The code can stay on Imageworks GH for now.
- Michael: When OCIO v2 is complete, a new ACES config will be needed to
make use of the new features.
- Doug: The existing ACES config will still be valid and supported as
well.
- Sean: The new config will need a Python re-write. Someone should
clearly contribute that work under AMPAS/ACES for a fresh start.
- Will need note indicating which config should be used to avoid
confusion.
- Doug: Need general example code for developers in repo showing how devs
would take advantage of new features, with configs for users and config
authors.
- Patrick: Commandline apps provide good code examples. Will need to
be correctly upgraded to OCIO v2 to demonstrate new API.
- Sean: Should also demonstrate how to implement color management in
applications. Need high-level guidelines on proper OCIO usage.
* Docs update
- Sean: Working on cleaning up docs, with the goal of parity between Python
and C++, without having to rewrite docstrings and examples.
- Michael: Larry did the same for OIIO last year, consolidating all docs to
one RTD setup. It would be worth seeing what he did.
* GPU CI update
- Michael: Waiting on AZP setup from LFRE. JF Panisset has working
implementation in his OCIO fork and personal AZP acocunt. He is talking
offline with Micrsosoft TAC rep about when dynamic instances might be
supported.
- Patrick: What JF did works well. Just CI pipeline configuration needed
for the most part.
- **TODO**: Michael to follow up with LFRE on state us AZP/AWS setup.
* Mission Statement
- Michael: Take a look when you have a chance. TAC is asking projects to
create these statements to help communicate project goals.
- Doug is it a vision statement or mission statement? Mission statement is
more tactical.
- Michael: Tactical sounds right. It should outline our goals and
commitment to advancing and maintaining a healthy project and continuing
to serve the industry.
- Doug: Most of the things currently outlined are being met now.
- Michael: Yes, that’s great. The mission statement will help keep that
focus long term.
* Holiday schedule
- No meeting Dec 23 or 30; resume in January. We will meet on the 16th for
anyone who is available.
- Michael: Also I wanted to mention that February marks the end of our first
TSC leadership term, if anybody has an interest in serving in a leadership
role.
* Python bindings update
- Sean: What’s the status of the bindings?
- Michael: I’ve bound all the transforms; working on the config currently.
- Patrick/Doug: Anything you need help with in the library?
- Michael: We will need to make the Transform destructor public, and decide
if it makes sense to unify array arguments to API. I already changed the
destructor, and we can address the array arguments later if needed.
- Still need to write lots of unit tests, but can share the WIP code if
there's interest, for review or collaboration.
- Patrick: You could push it in a partially completed state to avoid one
massive PR if needed.
- WIP link: https://github.com/michdolan/OpenColorIO/tree/ocio_pybind/src/bindings/python
+39
View File
@@ -0,0 +1,39 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
December 16, 2019
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [x] Carl Rand (_TSC_) - Foundry
* [x] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [x] Bernard Lefebvre - Autodesk
* [x] Mei Chu - Imageworks
Apologies: Mark Boorer, Larry Gritz, Kevin Wheatley
# **OCIO TSC Meeting Notes**
* GPU CI
- Michael: For now, let's get a permanent instance running with help from LF.
Need to get billing/credit side sorted with AWS also.
* Spark conference in Vancouver
- Michael: Matthias and Mario have agreed to run an OCIO BoF at this conference in
February. We should all discuss/plan details.
- Perhaps invite them to attend a TSC meeting.
- Audience questions may be interesting to share, will it be recorded? Join remotely?
* Misc. Items
- Carl: Joining Weta but would like to stay involved in OCIO.
- Need to follow up on Foundry representation.
+69
View File
@@ -0,0 +1,69 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
January 6, 2020
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Sony Pictures Imageworks
* [x] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [x] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Foundry
* [x] Doug Walker (_TSC Chief Architect_) - Autodesk
* [x] Kevin Wheatley (_TSC_) - Framestore
* [x] Bernard Lefebvre - Autodesk
* [x] Dennis Adams - Sony
* [x] Michael Min - Netflix
# **OCIO TSC Meeting Notes**
* PR #904 File Rules
- Michael: Wondering if it would help to use sub-classes for the rule types.
- Bernard: We considered it but it is simple enough right now not to need that.
- Michael: Are rules required for v2 configs?
- Bernard/Doug: No, the new rules are optional.
- Michael: Strict parsing (ability to have app ask for color space when a rule is not
found) is important, how will that work?
- Bernard: The existing v1 API for that continues to work and we added a helper
function to detect if the default rule was the one that matched.
- Michael: Good documentation will be key.
* GPU CI
- Michael: John what is the status on our GPU CI ticket with LF?
https://jira.linuxfoundation.org/servicedesk/customer/portal/2/IT-17952
- John: Andy ran into some issues with Azure, he hopes to address them in the next week.
- Doug: JF did a lot of work and prototyped a solution in his sandbox, we would like
help from LF setting up something similar using Azure and an AWS instance.
- Michael: We don't have permission to tinker with the Azure settings (also want to be
careful to use cloud resources efficiently) so we are waiting on LF.
* Spark conference in Vancouver
- Michael: Should start pulling a presentation together for this. ACTION: Send link
to a draft GoogleDoc.
- Doug: I will add a slide for OCIO v2 feature progress.
* V2 update
- Larry: Any update on OCIO v2 progress?
- Doug: We feel we are still on track for the roadmap we shared last SIGGRAPH, namely
that we plan to be feature-complete at the coming SIGGRAPH.
* CUDA
- Larry: As GPU rendering becomes more widespread I expect it will be important to be
able to have an OCIO CUDA rendering path. Is that on anyone's radar?
- Patrick: Agree that it is important at some point but it is not in the v2 plan.
Would be great to get some help from other ASWF members on projects like that.
- John: Suggest adding issues on GitHub for these projects.
* Google Summer of Code
- Larry: I'm trying to get ASWF into GSoC this year. Please start thinking about
projects that an undergrad could take on as a summer project.
* Misc. Items
- Doug: Academy Common LUT Format implementation VWG first meeting is Friday,
January 10, 1-2pm Los Angeles time. https://global.gotomeeting.com/join/241798885
+60
View File
@@ -0,0 +1,60 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
January 13, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Carol Payne - Netflix
* [X] Dennis Adams - Sony
Apologies:
Larry Gritz
# **OCIO TSC Meeting Notes**
* ASWF Plenary Meeting topics
- Michael: Meeting on Jan 30th in LA. We have been invited to give bigger
update due to OCIO v2 release coming later in the year.
- Doug: We presented 4 slides last year. There are more projects this
year, which could mean less time to present.
- Michael: Since OCIO v2 has been widely anticipated, it is a notable event
for the foundation this year. We could recap some of what was presented at
SIGGRAPH.
- Doug: People may not care about features much, since there won't be a lot
of color management people. We could talk about logistics of the v2 rollout,
testing, and deployment, etc.
- Michael: There could be interest in ACES features since it's two Academy
projects converging; and the recent performance improvements.
- Doug: We can use the bar graph progress slide for a quick summary, and show
roadmap.
- Michael: We don't have to cover every point, but could highlight it.
- **TODO**: Michael will put a prospective outline in Slack for discussion.
- **TODO**: Doug will share slides from last year.
* Spark BOF updates
- This BOF will be 30 minutes and have less technical audience. We can trim
back the presentation to focus it.
- **TODO** Sean to work with Mario on topics to present. Maybe Mark can
similarly work with Matthias.
- Doug: There's nothing about an intro to OCIO in deck. Need to add that.
- Sean: Can use readme from website and GH as a start.
- Michael: Might be good slides for Mario and Matthias to put together, since
they are presenting.
- Patrick: Would be good to have OCIO intro document in general, since it's
something that doesn't currently exist.
- Carol: Some docs being made at Netflix about OCIO which could be shared.
- **TODO**: Carol will try to share some of the OCIO docs she makes. Thanks!
+43
View File
@@ -0,0 +1,43 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Jan 20, 2020
Host: Michael Dolan
Rotating Secretary: Mark Boorer
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Weta
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Mario Rokicki - DNEG
# **OCIO TSC Meeting Notes**
* String utilities (PR #909)
- also have src/apps/apputils
* python bindings (pybind)
- what are the default values?
* Mission Statement (PR #890)
- Just waiting for CLA stuff from EPIC
* PR #898
- Content merged via another commit. Going to close but will investigate CLA issues
* Spark BOF
- Mostly students, so will treat more as intro to OCIO / color management
* New Nuke behaviour
- Now OCIO colour management is the default, lots more colourspaces in menus
- Hopefully aleiviated by future hiding colourspaces feature
- No Foundry rep as of yet (now that Carl is at Weta). Carl will reach out to Foundry
+62
View File
@@ -0,0 +1,62 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Jan. 27, 2020
Host: Michael Dolan
Secretary: Patrick Hodoul
TSC members:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Weta
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
Attendees:
* [X] Bernard Lefebvre - Autodesk
* [X] Mei Chu - Sony Pictures Imageworks
Apologies:
* Larry Gritz
* Mark Boorer
# **OCIO TSC Meeting Notes**
* ASWF Planetary Meeting
- Michael: Doug & me are working on the OCIO slides.
- John: Would like to have them today if possible.
- Audience is mostly people investing in ASWF i.e. more business folks than devs.
- The content:
1. High-level presentation of OCIO.
2. What was done during the last 12 months.
2. What is planned for the next 12 months.
- Michael: Doug & me will do the presentation.
* Still old license notices
- Patrick: We noticed some source files are not updated with the new copyright notice.
- Michael: In some src/apps files the license remains unchanged on purpose.
* Pending PRs
- Michael: Will perform reviews.
* Election
- Michael: Wait a full week before contacting John with the agreement.
- John: Need to codify general rules for renewal and add them to the governance document.
- Michael: **TODO** I will have a look.
* Foundry Representative(s)
- Carl: Foundry thinks about having 2 representatives.
- Michael: How to handle it?
- John: It could be done via one official Foundry representative and one personal registration
(i.e. TSC meetings are open to anyone) or by extending TSC to add more members.
- Doug: Highlights the constraint to have 'active' TSC members to avoid potential quorum blockage.
- John: How to best represent the community in the TSC membership?
- Michael: **TODO** Will answer to Foundry.
+75
View File
@@ -0,0 +1,75 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
February 03, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Carol Payne - Netflix
* [X] Mei Chu - Sony Pictures Imageworks
# **OCIO TSC Meeting Notes**
* ASWF Plenary Meeting recap
- Michael and Doug gave brief (~5 minute) update to ASWF governing board,
TAC, and stakeholders on Jan 30th.
- Overview of the project, the last year, and the coming year of development.
- Interesting discussion around how ASWF can support USD.
* ASWF GSoC discussion
- Polled Slack for project ideas for ASWF's application to Google Summer of
Code, and submitted PR to:
`https://github.com/AcademySoftwareFoundation/tac/blob/main/gsoc/README.md`_
- In summary, four projects initially proposed:
- Add Metal, Vulkan, or CUDA language support to GPU renderer
- Restore Java bindings
- Add OCIO support to FFmpeg or another FOSS project
- Develop GUI for interactive OCIO config authoring and visualization
- The initial projects and mentors are for the application, but can be ammended
anytime. Larry is submitting application on Wednesday.
- Larry: Mentorship involves guiding students, checking in, grading their
contributions, etc.
- If we're admitted to GSoC, students will submit proposals for projects,
which could be something we've proposed, or something else.
- It's good to set a minimum threshhold of requirements for who to accept.
For example, having students submit a trivial PR. Sorting through
applications can take too long otherwise.
- Also good opportunity to find rough edges around building the library,
having students submit fixes or issues for issues they encounter.
* Python bindings
- Michael: Resumed work on pybind11 bindings. Got everything up to date with
main.
- Mei Chu (Imageworks) is interested in helping with this work, potentially
designing unit tests to start.
- Mei: Looking forward to getting more involved in OCIO
- Patrick: Is any work needed to support binding work? RGB array class for example?
- Michael: For now I am planning to wrap everything as-is, but we can change
that later if it makes sense.
- The only issue in the API is the private destructor, which I'm making
public.
- Mark: Not opposed to making the destructor public, but we might also want
to consider changing how the API managaes memory. It currently only
supports shared_ptr. Most libraries don't impose this design like OCIO does.
- Patrick: Memory management is especially critical on Windows with dynamic
libraries. We could consider other approaches.
- Mark: ColorSpace objects shouldn't always need to be managed by shared_ptr,
for example. OCIO can control how to manage memory internally, but the API
could allow users to decide how to manage objects they create.
- The previous Python bindings were complicated by this too. Had to tie
the lifecycle of Python objects to the config to prevent deletion.
- Michael: With the current pybind11 approach, changing memory management
later wouldn't require a lot of reworking in the binding code.
+50
View File
@@ -0,0 +1,50 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
February 10, 2020
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Mei Chu - Sony Pictures Imageworks
# **OCIO TSC Meeting Notes**
* ACES Config
- Michael will follow up with Sean about pinging the Academy again about our email.
- Doug: Do we need to keep the non-OCIO LUTs (they are huge)?
- Mark: Think we should keep them.
- Mark: Artifacts should not go in the repo. Volunteered to look into a solution.
* Python bindings
- Michael: Making progress on the bindings. Pybind will copy arguments, is it an issue?
- Mark: Think it's ok for now.
- Doug: LutTransform getters/setters may be slow, but probably ok for now.
- Bernard: Would like to move from double* to RGB object/struct for arguments.
- Michael: Sounds good, perhaps leverage Imath types.
- Patrick: Is it header only? Michael: No.
- Patrick: We want to avoid copies on the apply call.
- Michael: Using numpy, like OIIO. It avoids a copy.
- Michael: There are some list-related things we might want to drop, is it ok?
- Mark: Remove them. There are other breaking changes, constants/enums.
Should investigate Python generators.
- Mei: Need someone to help with unit tests for Python?
- Michael, Doug: YES!
- Michael: There are so many PRs coming in, it's tough to keep the Python in sync.
- Patrick, Bernard, Doug: Sorry! ;-)
- Patrick, Doug: Please merge what you have and then we will update the Python with our PRs.
- We will stick with double* API for now and switch to structs after the merge.
- Michael: OK to merge without unit tests, as a first pass?
- Group: Yes, those could be added in a separate PR.
+54
View File
@@ -0,0 +1,54 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
February 24, 2020
Host: Michael Dolan
Rotating Secretary: Patrick Hodoul
TSC members:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
Attendees:
* [X] Mei Chu - Sony Pictures Imageworks
* [X] Bernard Lefebvre - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
# **OCIO TSC Meeting Notes**
* Google Summer of Code (GSoC)
- ASWF accepted.
- New faces already appear.
- Larry: Reiterate the need to request a pull request from students.
- Michael: Will post on ocio-dev to increase visibility.
* Hollywood Professional Association (HPA):
- Link is https://hpaonline.com/hpa-tech-retreat-2020-main-program-lineup-announced/
- Doug: Audience mostly composed of managers & CTO's.
- Doug: Made a presentation about CLF during the ACES session.
- Doug: Made a presentation about OCIO during the open source session chaired by David Morin
who talked about the ASWF.
- Discussion diverged to the topic of moving the OCIO Configs repo.
- Doug: Need to setup a meeting with ACES.
- Michael: Agreed.
* SPARK FX Conference (Vancouver)
- Program http://sparkfx.ca/festivals/information.php?SPARKFX2020-C
- 'DIFFERENT STROKES & STRATEGIES FOR COLOUR' session:
- Link is http://sparkfx.ca/festivals/information.php?SPARKFX2020-C#20200216-C33
- Larry: Good presentation.
* OCIOv2 Working Group:
- Doug: Planned this thursday.
* Python Bindings:
- Doug: Thanks Mei & Michael to work on this topic.
- All: Agreed.
+57
View File
@@ -0,0 +1,57 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
March 2, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Carol Payne - Netflix
# **OCIO TSC Meeting Notes**
* Python binding update
- Currently working on ImageDesc classes, which interface with NumPy and
any type with buffer protocol interface.
- Encountered issue with multiple PackedImageDesc objects initialized with
different NumPy arrays overwriting each other's memory when their dtype
and shape matches. Could be a hashing issue on Python side. Copying array
on C++ side fixes it, but will continue to investigate.
- **TODO**: Michael to share link to source in branch for input.
* Autodesk PRs ready for review
- Doug: Discussed work at last week's v2 working group meeting. If there's
any questions, or more explanation needed, please let us know.
* ocio-user question
- Patrick: A new user had question in ocio-user about how to get started. If
someone has cycles, a response would be appreciated, even if just to point
toward existing docs.
- [ocio-user thread](https://lists.aswf.io/g/ocio-user/topic/getting_started_with_ocio/71538664?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,71538664)
* GitHub activity:
- Patrick: Responded to a new compilation issue #940
* GSoC:
- There continues to be GSoC activity. Need to make sure that prospective
participants demonstrate the ability to troubleshoot and communicate
problems they encounter while building, contributing, etc., rather than
just wanting a quick solution.
- Michael: As far as interested students submitting a PR, do they need to
do that by the application timeframe, which is the later half of March?
- Larry: No, as long as they demonstrate the ability to contribute before
applications are reviewed by us, that is fine.
- Michael: OCIO, OpenCue, and aswf-docker have all had students express
interest for GSoC, per last TAC meeting.
- Larry: OpenEXR has had activity now too.
+76
View File
@@ -0,0 +1,76 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
March 9, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Mei Chu - Sony Pictures Imageworks
* [X] Carol Payne - Netflix
* [X] Robin Rowe
Apologies:
* Kevin Wheatley
# **OCIO TSC Meeting Notes**
* Documentation
- Need to determine future doc goals and implementation.
- Doug: Autodesk team has looked at docs, finds reST and Sphinx to be
cumbersome to edit, particularly when trying to predict how embedded
header docs will render.
- Many header changes have been needed to get docs to generate cleanly.
- Patrick: The doc build process is fragile, and not intuitive to setup
on Windows, because of Sphinx' dependence on Python.
- Doug: The PDF generation is problematic.
- Larry: OIIO dropped PDF "book" after moving to RTD. RTD itself can
generate a PDF. It isn't as pretty, but works well enough, and the
RTD online docs are most useful.
- OIIO uses breathe to connect C++ doxygen docs to Sphinx, which works
well. Doxygen has made some improvements, and is worth considering.
It may be compatible with reST now. Overall the ease of doc generation
outweighs any inconvenience.
- Doug: We should have some action steps to guide contributors. Rashil
stood up RTD quickly and could continue the work.
- Patrick: We should set some guidelines based on our discussion to make
the work more concrete.
- Michael: Decoupling the doc build from the library build would be good
first steps, and an opportunity to improve the system.
- **TODO**: Michael will discuss options with Rashil to see if he has
interest in furthering his work.
- Doug: All of the docs need a bit of overhaul. For general docs, it
would be great to crowd source within the community. Perhaps a wiki?
- Carol: Wiki is a great idea. There is a lot of knowledge in the
community to contribute. Talking to ACES about similar work and would
be happy to help investigate options.
- **TODO**: Carol will report back on Wiki investigation.
- Patrick: Thomas has a Wiki for colour-science. We could ask about his
approach.
- Doug: Is there any opinions about whether continuing to put docs in the
header files is the right approach?
- Patrick: The downside is that the headers get a bit bloated, which could
make it harder to read.
- Michael: I like the docs in the header. It's a great overview of the
interface, and iterates with the code. I wouldn't mind seeing more docs
in OpenColorTypes.h, since some of the enum docs can be hard to find
in the source.
* GSoC
- Patrick: Students are actively investigating potential projects. Now is
the time to help them and answer questions.
- They must propose projects in the later half of March, with two weeks to
submit. We then have about a month to review applicants. Any guidance we
can give should be a priority.
+48
View File
@@ -0,0 +1,48 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
March 16, 2020
Host: Michael Dolan
Rotating Secretary: Mark Boorer
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [ ] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Mei Chu - Sony Pictures Imageworks
* [X] Carol Payne - Netflix
* [X] Mitch Prater - Laika
# **OCIO TSC Meeting Notes**
* Pull requests that need review.
- Anyone with experience with UI/UX there is a pull request for the DCC helper library
- GSOC applicant feedback
- Proposed display referrence space feedback PR #957
* Python bindings are pretty much done, just need to find a good time to rebase on top of interface changes
* GSOC
- Lots of applicants, they need feedback, but they should also be doing some of the investigation work themselves
* Supported architectures?
- OpenColorMath has a JIT that is hand tuned for x64.
- Do we have a minimum requirement for platform architecture? x64? ARM?
- The USE_SSE flag could help, as it already imposes a requirement for SSE2
* Documentation
- What are we looking to do to improve?
- Introduction of a OCIO Wiki. There are some solutions out there, eg MediaWiki / DokuWiki, that could be added to the OCIO website.
- The built in github tools also add a user friendly layer (which translate wiki edits to pull requests).
- Docs that are part of the repo (vs a detatched wiki) can also be versioned with the code, so users never see outdated or incorrect documentation.
- Linux Foundation? ocio_dev and ocio_user have wiki's as well (but require registration).
- We should try to consolidate all of these wikis too
+80
View File
@@ -0,0 +1,80 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
March 23, 2020
Host: Doug Walker
Rotating Secretary: Doug Walker
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [ ] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Mei Chu - Sony Pictures Imageworks
* [X] Bernard Lefebvre - Autodesk
* [X] Michael Min - Netflix
* [X] Carol Payne - Netflix
* [X] Rashil Gandhi - student
Apologies: Michael Dolan
# **OCIO TSC Meeting Notes**
* Google Summer of Code Proposal about Ffmpeg
- Doug: Michael, Patrick, and I are working with Rashil Gandhi on his GSoC proposal
which is to add OCIO support to Ffmpeg. Do people think that is enough work
for a 3 month, 40 hour/week summer project?
- Mark, Kevin: Probably. Adding it as a video filter should be very do-able although
trying to add it to the core may be a big task. Also, keep in mind it is C, not C++,
and the dev process is via patches to the email forum rather than GitHub PRs.
Also, their community expects strict adherence to their communication style.
It may take awhile to get the code approved, especially if it is to the core lib.
They have their own fork of OpenEXR to allow access from straight C.
- Larry: There is some inherent uncertainty in the amount of work but it should not
prevent moving forward with a proposal, we can suggest other tasks if it turns
out to go faster than expected.
- Rashil: (Via chat) For some reason my microphone isn't working.
- Rashil: I can probably work on making the versioned documentation too, if the FFmpeg
project is too small :)
- Larry: We should reach out to the ffmpeg community to line up someone to advise.
- Doug: Is there another OSS project that people would suggest Rashil work on that
would be even better than Ffmpeg?
- Group: Ffmpeg is widely used at our studios today and we still think it would be
a great project.
- Carol: What other tools in Ffmpeg are needed, could EXR images be scaled and cropped?
- Larry: We should solicit input from those at our studios that work with Ffmpeg to
get input on the workflow and any gotchas. (Mei, Mark, and Kevin all raised their
hands as being active users.)
- Doug: The GSoC proposal needs to have a proposed schedule broken down into milestones
and we need to give pass/fail marks at the end of each milestone. How should we
approach this given the uncertainty in how much time it will take.
- Larry: We can use our best judgement. As long as the student is making good progress
we are able to pass them even if it is not exactly what the milestone proposed.
- Mark: The core library does not support float pixel types. Also it is very limited
in what types of EXR images may be read (e.g. looking for a specific channel layout,
no multi-part support).
- Kevin: A quick scan of the EXR codec shows it only really outputs 16 bit RGB, RGBA, YCbCr.

https://github.com/FFmpeg/FFmpeg/blob/main/libavcodec/exr.c#L1691

- Mark: Is that integer 16 bit?

- Kevin: Yes, integers.
- Mark: One approach would be to make video filters for OCIO ColorSpaceTransform and
OCIO DisplayTransform, similar to the tools in Nuke, etc.
* Documentation
- Doug: Any updates/thoughts from anyone on efforts to improve the documentation?
- Carol: I will try to find time to look into wiki options some more.
- Doug: Should I enable GitHub Wikis on our OCIO site to enable experimentation?
- Group: Yes.
* GSoC Mentoring
- Larry: If you are interested in being a GSoC mentor, make sure you sign up.
- Doug: I may have missed the email. Note: I found it and signed up. Thanks Larry!
- Patrick: I'm already signed up.
- Doug/Group: Thank you Rashil for joining the meeting today!
+68
View File
@@ -0,0 +1,68 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
March 30, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Carol Payne - Netflix
* [X] Mei Chu - Sony Pictures Imageworks
# **OCIO TSC Meeting Notes**
* Python bindings
- PR #976 ready for review. The API has changed from previous bindings, so
any feedback is appreciated.
- Michael: Wondering about best approach for Python docs. Use previous
mechanism or embed docs in pybind11 bindings?
- Patrick: The Python API differs from C++ enough that having separate
documentation will be important to address differences. Keeping it in the
code seems like a good solution.
- **TODO**: Michael will add docs to binding code in a future PR.
* GSoC update:
- Tomorrow is the proposal deadline. There are quite a few proposals to review.
How many projects should we expect to accept?
- Larry: It depends on the applications. We will pair applications with mentors
and submit them to Google in a ranked order. Google will then tell us which we
get. Since ASWF is applying together, the project leaders will need to discuss
between all applications and decide together. In the past I have usually gotten
all the applicants requested; 3-4.
- Doug: There is a propsal to update the Java bindings which could use a review
from someone who knows Java.
- Larry: We can also enlist someone from outside the project to help. That person
doesn't need to be the mentor.
- Michael: Someone from OpenCue may be able to assist with guidance for Java CI.
* Documentation / wiki:
- Doug: I enabled the GH wiki feature last week. Any thoughts on adding some
project docs via the wiki?
- John: It depends what you are documenting (internal or external processes,
policy, etc.), and also on who is maintaing it. More and more projects are
using GH for everything, all in markdown. If the topic is how to use OCIO;
that's different from documenting how the TSC works.
- Doug: We want a way for end users who are maintaining configs to share their
experience without having ot make a PR. Tips, tricks, etc.
- John: A GH wiki is version controllable, but may require higher-level
permissions changes. Just consider the level of curating that will be needed
to keep a wiki from getting unwieldy. We can also talk about other tools
which sit on top of GH to make editing rich text simpler.
- Carol: What does ASWF use for a wiki, if anything?
- John: We don't have a wiki currently; just a designed website and GH repo
with lots of process documentation. We see a lot more projects moving away
from wikis since they can become hard to curate and maintain over time,
and technical docs are easier to derive from code. It's important to look at
what the process and tools are for maintaining the chosen solution.
+72
View File
@@ -0,0 +1,72 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
April 6, 2020
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Mei Chu - Sony Pictures Imageworks
* [X] Carol Payne - Netflix
* [X] Mitch Prater - Laika
# **OCIO TSC Meeting Notes**
* Google Summer of Code
- Larry: Need to discuss the OCIO proposals and rank them. Proposals from all the ASWF
projects will get merged into an overall list that we will use once we find out from
Google how many slots we will get.
* Moving CI to GitHub Actions
- Michael: At the ASWF CI meeting last week there was a good discussion on getting the
GPU CI going. JF and Andy are going to help with that. For various reasons, we first
need to move our CI from Azure to GH Actions. I volunteered to do that over the coming
weeks. Do we want to make any platform/compiler changes to our matrix while doing that?
- Patrick: Let's start by just moving the current configuration over.
- Patrick: As Python support is important for OCIOv2, let first complete/merge the Python
Bindings PR if agreement so others could jump to add unit tests, documentations, etc.
- Michael: There was also a question at the meeting about whether Sonar Cloud is valuable.
- Patrick: It did find bugs, so it has value, but there is also a lot of noise.
* Python bindings
- Michael: The PR on GitHub now has full coverage of the API. Needs help with documentation
and unit tests. I will be working with Mei on the latter. Please provide feedback on the PR.
Thanks for the comments so far from Patrick and others, it has been helpful.
- Doug: I still need to review. Let's try to merge at the end of the week.
* Contributing to OCIO v2
- Michael: The target for feature complete is approaching (SIGGRAPH), what areas would
be most helpful for people to help with?
- Doug: The Python bindings were a huge help! Documentation would be the next item on
our list, and updating the website. Getting a few volunteers to help write documentation
would help ensure that it is understandable outside the people who wrote the code and
would also allow us to share detailed knowledge about what's in v2 with a few more people.
* Documentation Infrastructure
- Michael: Sean, you were looking at this awhile back, is it something you could help with?
- Sean: Yes, I could contribute.
- Michael: Also, Carol has been looking at this more recently.
- Carol: Yes, I started looking at the Wiki on GitHub. It is very simple to edit but we
may want to put some access control in place.
- Kevin: Yes, there is a way to do that.
- Mitch: I've used the GitHub Wiki. One drawback is that it is separate from the code
so a workaround is needed to have separate content for different versions.
- The group discussed and there was some agreement that it might be nicer to have all
the documentation together in a single site.
- ACTION ITEM: Carol and Sean will work on ideas for upgrading the documentation system.
* No meeting next week
- No meeting next week (April 13) since it is a holiday in some areas. Also, we really
need a break to stay home and watch more Netflix! ;)
+108
View File
@@ -0,0 +1,108 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
April 20, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Larry Gritz (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Carol Payne - Netflix
* [X] Mei Chu - Sony Pictures Imageworks
* [X] Shakeel Muhammad
# **OCIO TSC Meeting Notes**
* PRs for review
- Michael: There are two Autodesk PRs waiting for review.
- Doug: One is related to op finalization (#986). We looked at how ops
are finalized prior to evaluation, including optimization steps,
converting inverse LUTs into forward LUTs, etc. There was some
unnecessary cloning of ops.
- Patrick: We discovered cloning and slow downs in optimization and
finalization and fixed them. Lots of changes, but only fixes. Some ops
can have a processing cost at finalization, and we tried to avoid that.
There are no high level changes; only internal processing improvements.
- Doug: For example, if you need a CPU and GPU processor, this reduces the
necessary work to support that.
- Patrick: Very important for integrating OCIO into DCCs, to limit
performance impact.
- Doug: The PR feels big since it impacts all ops, but the changes are
similar for each.
- Doug: The other PR refactors GPU usage in apps (#985). We wanted to allow
CPU and GPU evaluation in apps and utilities without copying/pasting a
lot of code, so this PR improves reuse between tools.
- Patrick: It also improves commandline tools to offer good usage examples
for the library, which is important for DCC integration. It's part of
ongoing improvements in this area.
- Bernard: It helps avoid copying and pasting code.
- Michael: PR #991 is ready with GH Actions support. GH Actions is fairly
similar to AZP, but doesn't have all the same capability. It doesn't offer
template capability yet for example. GH Actions does work in OCIO forks
though, which expands usage quite a bit. To use in your fork, you'll have
to temporarily add your feature branch to the included push branch list.
- Michael: PR #890, which adds our missions statement to README.md is out of
draft now and ready for further review.
* Documentation updates
- Sean: I've looked at static site generators, but don't think they serve our
needs well. I recommend continuing forward with Sphinx. It's widely used and
works well.
- I noticed there are no docstrings in the Python bindings yet. An interesting
solution to consider is what was done for Matsuba, another project from the
pybind11 author. It rips docstrings from cpp headers and injects them in the
bindings, so documentation exists in only one place. It's a good source of
inspiration, but could be good to have dosctrings in bindings still, for
dicoverability.
- Our doc needs are varried; there's the website, docstring extraction, etc.
Nothing out of the box works with multiple languages. Overall, our docs don't
fit anymore, and need work. I will work with Carol on a plan, and to come up
with user stories.
- Much later down the road, it would be nice to collate collective studio
experience for reference. It's nice to see what studios are doing, and what
systems they have built around it. Case studies would be great, including from
other industries like Netflix.
- Carol: I agree, and will work with Sean on this.
- Sean: I will make GH issues to break down tasks further.
* String locale handling
- Doug: PR #984 is about fixing string case handling for Turkish locale. This
raises bigger case sensitivty issues. File extensions should be case
insensitive for example.
- The proposal is to convert case as if it were english case, so that locale wouldnt
matter. Two questions we need to answer. Do we want case sensitivety to depend on
locale? Secondly, what areas of the library should use case-insensitive comparison?
- We do case insensitive compares in places that might be unncessary. Color space
names, role names, etc. Anywhere Lower() function is used.
- Mark: Roles should be case insensitive. Traditionally color space names too. File
names should be dependent on filesystem and OS behavior. it's a tough question
though. Unicode can complicate matters.
- Doug: Do people use non-english chars in configs?
- Mark: Not in my experience, but they could.
- Doug: The bug the PR is fixing is related to the .spi1d extension, due to the
Turkish local using "I" instead of "i".
- Patrick: There are no round trip ways to do this. Extensions are only US letters, and
we know what extensions we support.
- Mark: Filenames should never need a conversion. We dont want to abstract away from
filesystem behavior. Use whatever it supports. Only FileTransform and CDLTransform take
file names, and shouldn't depend on text lookup.
- Doug: When looking for color space name in filepath, it gets complicated.
- Mark. Can we remove the extension from a filename before a color space check? Unless
there's a file extension specific color space name.
- Doug: The PR is proposing comparisons ignore locale, and instead have
them behave as if always english. Not a bad thing to remove locale, as it removes a
variable of complexity, but it needs discussion to agree on a solution.
- Michael: Let's continue that dsicssuion offline in the PR for now, since there is a
good conversation happening there.
- Doug: We are happy to discuss it further later if anyone wants as well.
+36
View File
@@ -0,0 +1,36 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
April 27, 2020
Host: Michael Dolan
Rotating Secretary: Patrick Hodoul
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Larry Gritz - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Carol Payne - Netflix
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
# **OCIO TSC Meeting Notes**
* Build System:
- Michael: Works on the CI build using GitHub Actions.
Will submit a PR with the AWSF 2020 docker.
Rework the worflow to have one build for the library and one for the static anlysis,
latest builds, etc.
* Various topics:
- Carol: Waiting feedback on the Wide Gamut proposal from the community including OCIO.
- Doug: PR is coming to organize all the CLF test files from OCIO to share with others.
- Doug: ACES webinar this week explaining the new realese of ACES 1.2.
+131
View File
@@ -0,0 +1,131 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
May 4, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Sean Cooper (_TSC_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Joseph Goldstone - ARRI
* [X] Troy Sobotka
# **OCIO TSC Meeting Notes**
* GPU CI update
- GH Actions is now in place, and LF release engineering is working on
setting up needed AWS infrastructure to provision GPU instances. Once
this is completed (within ~1-2 weeks) we will work with JF to implement
into CI. A CI working group goal is for OCIO to have GPU CI up and running
by the May CI working group meeting in a month.
* OpenColorIO-configs update
- There was a joint ACES-OCIO meeting last Friday to discuss the way
forward for the ACES OCIO config. We will be starting a new ASWF repo to
house a new config, and further discuss the design within that repo's
issues.
- Doug: Rod Bogart has some action items around licensing of existing code
and HP's python scripts. TBD how to move forward with these.
- Joseph: Did anyone from Canon come to this group? The current IDTs dont
match Canon's white paper. It contains a note saying the formula has been
revised.
- Doug: That's more on the ACES side to get that updated. It should be
mentioned to Alex and Scott. We're just going to follow what is in their
repo.
- Joseph: I will reach out to them via email.
- Sean: The tricky part will be what to do with old stuff. Also the
particulars of the config. But path forward is clear. It would be
worthwhile to investigate a chair to oversee config maintenance and to
have a clear owner - whoever has the time and detail.
- Mark: That person could also own the numbers in the config, which
sometimes are debated.
- Doug: Thomas Mansencal and Michael Parsons are the people that are
currently tasked by the Academy as the maintainers of the config, and
Thomas has done a great job on the ACES 1.2 config. My impression is
that ACES would like OCIO to take a bigger role in the management of the
config, similar to a product partner, but hopefully the same people will
stay involved.
- Sean: The owner can ensure the config is up to date, and handle opinions
about community configs.
* Docs
- Sean: I've been exploring the docs and have a rough working copy. Able to
populate docstrings from C++ headers automatically. pybind11 provides
tooling to extract doxygen style comments from headers and exposes a
macro to pull them into python bindings at compilation time. Seems
designed to document python bindings only - no comments about C++ at all.
Will be Interesting to see if both Python and C++ can be documented from
the same source.
- Ideally the documentation will just live in the headers, but will need
work to be explicit API docs, instead of lots of explanatory text. This
will be needed sooner than the main OCIO v2 release. After the call with
ACES it was clear there should be a sense of urgency in getting
documentation going.
- Once general docstrings are in place, we can discuss how to structure
docs and website. The current structure is not logical. The bulk of the
work will having to describe things beyond API docstrings.
- Doug: The sooner we have a template the better. The AD team can then help
fill it in places. A template within the month would be very helpful.
* Logos
- LF creative services is helping redesign an OpenEXR logo. For OCIO
branding should we do the same, or reach out to the OCIO community for
ideas?
- Carol: Using LF would bring consistency between ASWF projects. Related
projects with different designers tend to look ad-hoc. Not bad, but
something to consider.
- Sean: Would be nice to get the O*IO project branding aligned.
- Doug: If anyone knows designer to work on it, we could get some ideas to
give to LF as a starting point.
- Sean: I can ask Mario if he has ideas, since he proposed some previously.
- Patrick: It's a good opportunity to update the logo at the same time as
the library.
- Carol: There could also be packaging and tweaks to work for different
uses.
- Doug: LF can design different flavors of logo like they did previously
with OCIO typography.
* Python unit tests
- Doug: Python unit tests are needed soon. It would be great to get a PR
to set guidelines and establish the implementation. This could just be
for a small portion of the library, to be followed by other PRs.
- Mei: I made some changes to two Python test modules, which Michael
reviewed in his fork. Can keep working on it to get a good template we
can use across project.
- Patrick: Don't try to write them all; it's more so we can see next steps.
When CI moved to GH Actions, the bindings are compiling but not running.
Unit tests are needed to make sure it is working.
- Doug: We also need some new good first issues for the project. There
aren't many good first issues there now. Python unit tests could be
included.
* Built-in transforms
- Doug: More built-in transforms will be needed, and could be contributed
by the community once the current PR #1006 is merged.
- Mark: I was hoping to have OpenColorMath in before going too far with
those.
- Doug: It depends on when that would go in. When we get to doing v2
configs, we need examples of how to make ACES output transforms. This can
be an area for community contributions.
- Mark: There will still be work to do once library is feature complete.
I will take a deeper look then to help refine before a final release
later in the year.
* Important items for community contribution over the next few months:
- GPU CI
- OpenColorIO-Configs
- Documentation / branding
- Python unit tests
- Built-in transforms
+70
View File
@@ -0,0 +1,70 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
May 11, 2020
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [x] Michael Dolan (_TSC Chair_) - Epic Games
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [x] Carol Payne (_TSC_) - Netflix
* [ ] Carl Rand (_TSC_) - Weta Digital
* [x] Doug Walker (_TSC Chief Architect_) - Autodesk
* [x] Kevin Wheatley (_TSC_) - Framestore
* Joseph Goldstone - ARRI
* Bernard Lefebvre - Autodesk
Apologies:
Sean Cooper
# **OCIO TSC Meeting Notes**
* Videos for OCIO
- Michael: Emily Olin (ASWF PR director) is hoping to help us develop some videos explaining
and demonstrating OCIO, and is looking for studios who can contribute recent images, videos,
breakdowns etc. that could be used within that. If any of you have some content you could
clear, let me know and I can put Emily in contact with you.
- Michael: I was able to get a few things cleared when I was at Sony, but it would be great to
get some new content in addition to that.
- Mark: I think anything from our YouTube videos should be available.
- Carol: We have been working with some international studios and may be able to get something.
- Michael: It's a nice opportunity for a studio to show public support for OCIO.
- Doug: We're thinking of maybe having two videos: one is an overview introducing what OCIO is,
and a second that is specifically about the new features in OCIO v2.
- Michael/Doug: It would be nice to have some images from a recognizable movie that are in
different color spaces to help with the explanations.
* OCIO Configs Repo
- Michael: If anyone has any objections to me getting the ball rolling with getting an
OpenColorIO-Config-ACES repo set up under ASWF GH org, please let me know. We can rename it
later, but I would like to start some momentum on that effort. We can hold off on any other
config repos for now, but the ACES one seems pertinent to get going.
- Michael: We would like to have a v2 example config in place by SIGGRAPH and need to start now
to avoid a last minute rush.
- The TSC expressed support for that plan.
- There was some discussion about whether this would be useful for OCIO unit tests since the
existing tests build "toy configs" on the fly rather than real configs. However the group
felt it would be difficult to leverage this for several reasons including the fact that it
is in a separate repo and also changes to it might break tests. Also, we are trying to
minimize the number of external files the unit tests require.
- Micheal: On the topic of unit tests, it might be cool to use Github Actions CI to do some
testing where images are processed and compared to reference images.
* Documentation
- Doug: We are just over two months from feature complete, we need to start updating the
documentation as soon as possible. It sounds like we have a lot of agreement about wanting
to refresh the landing page, restructure the documentation, etc. but if we don't get that
in place soon we may be stuck having to just update what is already there.
- Carol: Sean has been working on a solution for the docstrings and we have had some
discussion on other aspects. I will try to block out some time to work on a list of items
that will need to be addressed.
- Carol: There are a number of tasks involved in making the refreshed landing page: a nice
design, making it mobile friendly, doing the SEO work, etc. Could the Linux Foundation help?
- Michael: Yes, we should reach out to Emily about that.
+119
View File
@@ -0,0 +1,119 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
May 18, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Joseph Goldstone - ARRI
* [X] Troy Sobotka
Apologies:
* Patrick Hodoul
* Mei Chu
# **OCIO TSC Meeting Notes**
* Documentation
- [Public working document, by Carol and Sean](https://docs.google.com/document/d/17IQR2tRYxqGXkExOLvP9S_dMkOkOID-NIIAGXGfyxNk/edit?usp=sharing)
- Carol: Document is a first draft. Went through existing documentation
to outline what's there, and thoughts around it. The rest of the doc has
examples and info on static site generators, themes, etc. Sean added a
proposed plan of attack for getting the work started.
- Doug: Good focus for the discussion. Thanks for putting it together!
- Carol: Putting it all down is good for establishing priorities. Some
items can happen concurrently, but some first steps are needed.
- Sean: First two points to decide on are the look and a static site
generator.
- Carol: If there was a time to change things, it is now. We could go a
different direction if needed.
- Michael: Many of us have expressed an openness to Sphinx alternatives if
something else makes more sense.
- Sean: Trying to find the best solution. Three options seem to be: Write
everything by hand, use an auto-generation tool, or be stuck in some
middle ground of building your own tooling.
- Carol: Looked at [Jekyll](https://jekyllrb.com/); has best integration
with GH pages, which would make it easy to use. I've never used
[Staticman](https://staticman.net/), but that looks like a good
integration which takes a static site and can add forms, tables, etc.,
which trigger auto-rebuild or generation of issues, PRs, etc., which is
nice. Might be other tools, but these looked cool, to keep functionality
on website, but with GH handled changes.
- Sean: My initial thinking is that most of the world knows Sphinx, so it
could be picked up by anyone. The more obscure you get, the harder it is
for others to pick it up. Could have one build for static site, and
another for API docs. One option is to use a
[VuePress](https://vuepress.vuejs.org/) website, and then RTD could use
the VuePress theme to house API docs.
- Carol: I'm going to try and build some stuff locally to test.
- Michael: We could reach out on Slack and in ocio mail lists for community
input.
- Carol: I can reach out. The bulk of work will be rewriting the user guide.
- Sean: I added points to end of doc around documentation and its
organization. Asked the question, "who is the end consumer?", and called
out 4 groups: artists, studio config maintainers, studio TDs
(troubleshooting OCIO integrations), and OCIO integrators. Who is the
target, and who do we focus docs on? Maybe all?
- Carol: A lot of it can hopefully be to work with DCC vendors to help them
update their docs as well, and to understand coming changes. Then we can
point our docs to theirs.
- Michael: The [Compatible Software](https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/main/docs/CompatibleSoftware.rst)
page of the OCIO website was updated recently and contains many
up-to-date documentation links.
- Doug: Also may want to add OCIO developers to the list of consumers, to
orient them to the code base.
- Joseph: that would be great. Also a 6th group: people submitting
transforms to a config. Camera manufacturers, etc. What are procedures
for contribution? How to provide test cases?
- Carol: Contributors is a block in there, and different contributor types.
- Sean: We should also work on documentation for configs we provide. That
was something provided previously for the SPI configs: user case studies,
etc. Those docs should live in config repos, and the main docs could
point to the config websites.
- Carol: Ideally they use the same process as the site
- Doug: Config docs would be simpler, with no API generation.
- Michael: At the next TSC meeting we can reconvene to discuss further, with
community input received this week.
- Sean made #docs channel in Slack, and will add all TSC members as Slack
admins.
- **TODO**: Carol will get documentation conversation started by posting
document in #docs channel as ocio-dev (possibly ocio-user too).
* [OpenColorIO-Config-ACES](https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES)
- Michael: This repo has been created and the committer group is being
setup, which will include current active OCIO committers, plus Thomas
Mansencal and Michael Parsons. Sean, are you ok with the multiple repo
approach? I know you've expressed other approaches too.
- Sean: Multiple repos are ok. The use case that convinced me was ability
to version up and generate artifacts independently for the configs.
- General agreement that the ACES config is the best place to start, and
other configs can be explored/discussed later.
- Michael: I added one issue to the new repo to discuss formation of a
config working group, which can determine next steps, and decide on a
chair.
- **TODO**: Michael to make initial PR with LICENSE, etc.
* PR #1011
- Doug: CLF-specific PR up and ready for review, with changes from the CLF
ACES working group. Would like to get it merged by tomorrow for the next
working group meeting.
- Michael: I will review today.
- No voiced objections to merging it.
* Items for next TSC meeting agenda:
- Next week is a holiday in US and UK. Group can still meet to discuss
documentation if there is interest, otherwise we can skip and keep
the conversation going in the new #docs Slack channel.
+159
View File
@@ -0,0 +1,159 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
June 1, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Troy Sobotka
* [X] Joseph Goldstone - ARRI
# **OCIO TSC Meeting Notes**
* OpenColorIO-Config-ACES first steps
- Michael: Thinking of setting up a meeting to discuss a starting point. Do
we feel that a working group would be good for oversight?
- Sean: Could use oversight of technical maintenance, and of what goes into
the config; architecture vs implementation. Need to decide who owns the
decision making. OCIO or ACES?
- Michael: In previous discussion Academy preferred OCIO ownership, but
they were happy to guide.
- Sean: Need to discuss topics like: should the config have 300 color
spaces or 20?
- Doug: It's an Interesting issue. There are cameras in there that perhaps
should not be there. A group can discuss what the config should be.
General VFX config? Or implementation of ACES?
- Joseph: Should known broken transforms be weeded out or fixed? Can
someone at Canon confirm the transform is right? Could be a discussion
with ACES.
- Carol: Would be useful to have someone from ACES involved.
- Doug: From the previous conversation, we would become a product partner,
and ACES is involved through that. Partners will meet at events to
discuss how things are going. Somewhat hands off so far, and they
generally want external organizations to manage it. There's no active
certification process to test IDTs, etc. Up to product partners to own
their implementations.
- Michael: Does the ACES logo program have a validation process?
- Doug: There is a test kit, with a list of categories for levels of
certification; for grading software vs. a camera, for example. The test
kit had CTL and CLF files, etc. It may not be completed, due to ACESclip
being incomplete?
- Michael: For validation it would be great to have CI with verification of
config against ACES test images. I would be interested in contributing
this if there's need.
- Doug: There are some issues with some ACES reference images that don't
match CTL. I support the need to have a group meet and oversee these
configs.
- Carol: Perhaps we can have an ACES Central partnership; a dedicated place
to talk and participate? ACES sometimes get blamed for problems with
implementations. We need to be partners.
- Michael: They did express the desire to partner with OCIO. ACES just
wouldn't own the code.
- Sean: Should we tease apart the concept of an ACES config? It's really
more of a workhorse config for the industry currently. Studios grab it
and use it. Different configs have different needs. Just an ACES config
would be smaller and more straightforward. We should get a sampling of
users; pull them into the conversation. It's not just about ACES and
OCIO, but about helping the community with color management.
- Troy: The current config has some scripting implement already.
- **TODO**: Michael will work on getting a meeting schedule with interested
parties.
* Keeping track of OCIO v2 TODOs
- Michael: Proposal to use GitHub Projects for _some_ task management:
- [GitHub Projects](https://github.com/AcademySoftwareFoundation/OpenColorIO/projects)
- Doug: OpenEXR has a discussion on that too, for the Imath work. People
have been supportive for using it.
- Carol: Agree this would be a good place to track and split up work.
- Doug: Documentation is the highest priority. Would like to have something
up and running at OCIO v2 launch time. That was going to be at SIGGRAPH,
but we still need to decide on a date. It could also be at DigiPro. This
is coming up quickly. I feel an urgency for getting something in place
where people can contribute to docs.
- **TODO**: Michael to explore setting up GH Projects to help keep track of
initiatives and priority.
* Documentation status update
- Sean: Community feedback was fairly quiet. Started slack channel for
further discussion.
- Doug: Ben replied to the post with good ideas.
- Carol: Some replies from people interested in following along and others
with some ideas. Not a ton of response. I will go back and continue
research, and meet with Sean offline to establish a proposed plan for
implementation.
- Sean: Agree. My intent is to get PR in this week with a hosted GH page to
look at something and talk specifics. Can currently compile docstrings
from C++ headers and use with Python docstrings. I've been reformatting
C++ headers and making them doxygen compatible. Once the implementation is
worked out it will become a conversation about structure and what to fill
in.
- Sean: General question: Since Python and C++ docstring largely use the
same text, should we use abstract API docs? These could pull out
specifics about implementations, and can be manually written where needed.
- Michael: I have seen other API docs that will use tabs for specific
language implementation. The C++ docs also do this for different C++
standards.
- Doug: Sean's doxyfy prototype had tabs for languages.
- Sean: It looks funny in VuePress, but could be fixed with CSS. My vision
is to have a generic description with language notes. I will try to do a
demo at the next meeting.
- Doug: We could set up different time for a focused discussion on docs if
needed too.
- Sean: Might be more people with thoughts, like Ben.
- **TODO**: Sean will get mechanical part of docs working and can arrange
additional meeting from there.
- Michael: Others can help once structure is in place.
- Sean: Doxygen generates headers with string literals. Not sure if we
should be committing auto-generating headers to the repo, or let them be
generated as part of the build process. It would need to be rebuilt
every time.
- Mark B: Better to do this in the build system. The Existing repo has the
same concepts for generated code.
- Sean: It needs to be there for python bindings to be built.
- Mark B: CMake can have target dependencies to make sure build order is
correct.
* Foundry SDK usage in CI?
- John: We had a discussion around Foundry SDKs and CI build processes a
while back. Is this still something needed? I'm working with legal to
make an agreement with companies to allow SDK use in the build stack.
This topic was restarting to help with some needs on OTIO.
- Mark B: There was a discussion on who would maintain the OCIO Nuke
nodes, but that conversation stopped. OCIO v2 scratches a lot of their
itches, so they chose to wait and see.
- Mark T: Foundry would like to take ownership of the Nuke nodes and open
source them.
- Mark B: The nodes are already open source. New versions could be
contributed there.
- Mark T: True. We want to have more involvement with development of the
nodes. Nuke would be a requirement for the build process. Pete and I
will discuss how to proceed.
- John: The topic with legal is for terms around SDKs for open source use,
so that ASWF projects could leverage these. Both of these projects are
good example use cases to develop that.
- Michael: If nodes came back into repo, CI would be needed, so that would
be useful.
- Doug: CI currently doesn't build any plugins. Possible that core changes
could break plugins without us knowing.
- Mark T: We tried building the Nuke nodes against OCIO v2 recently and
weren't able to.
- Michael: There have been quite a few API changes.
- Mark T: We are not against contributing the nodes to the main project for
hosting.
- John: I will follow up on discussions with Foundry. We are going through
SDK terms and conditions.
+122
View File
@@ -0,0 +1,122 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
Jube 8, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
# **OCIO TSC Meeting Notes**
* Move OCIO Slack to LF organization to ease sign-up?
- Michael: Emily and John reached out about the possibility of moving our
Slack channels to the ASWF Slack workspace. I didn't think we would want
to merge with their workspace since we have many active channels, but
John proposed that if we moved our existing workspace to the ASWF
organization, LF could setup self-sign-up, to make the space more
publicly accessible. Thoughts on that?
- TSC agrees that sounds good.
- Sean: Do they have paid access? Would be good to not have message limits,
since we are losing discussion history now.
- Carol: Can the existing discussion be migrated?
- **TODO**: Michael will follow up with LF for more details of their Slack
account.
* OCIO docs discussion
- Carol: We are going to meet to discuss structure and writing of docs.
Maybe discuss in v2 working group?
- Doug: Time can be made available, but maybe a doc-focused meeting could
be held sooner.
- [Sean's straw-man docs for demo](https://seancooper.xyz/OpenColorIO-Docs/index.html)
- Sean: Best example of work is the API section, under Baker. Small but
complete example. Has generic class description at top, and API docs
below. Method signatures needs some work, but C++ and Python are grouped
together in tabs. In general, the goal is to have a page per class, and a
tab per language in each API section. Language tabs are ganged together
to avoid confusion while browsing docs.
- Docstrings are pulled from C++ headers, and from Python bindings via
autodoc.
- Doxygen is used to parse C++ headers. This is good for flexibility
without maintaining our own parsing code. Doxygen and Breathe convert
docs to Sphinx.
- It's a bit awkward if someone wants to modify a docstring. They would
need to modify the header, which means more traffic on the public
headers. Could get messy if we're not careful. It's a downside, but
in general we can create the outline and from there just update it
when the code changes. If you add additional methods or classes, they
also need to be addded to the reST doc structure.
- Currently cant' be super language specific in docs.
- Mark: Does it include text blocks which are stored somewhere else?
- Carol: The text part at the top might be nice to separate. If you are
changing API docs you are changing code. Maybe it would be safer to
separate descriptive sections. There may be times where we need to make
examples and reference something. Would be good to have control over that
text outside of header.
- Sean: It's just like that right now because of the current header
structure. We can decide what's in the header vs. what's in the reST.
Sphinx is nice because you can directly reference classes (with links),
which is hard to do with markdown. Still some quirks with the VuePress
theme that's being worked out. Some clean up needed. Remaining work is to
continue working on fleshing out API. Need to decide how to interface
with docs. How do people want to build?
- Michael: Needing to build the lib to build the docs could be a blocker
for something like RTD.
- Sean: Yeah, build time could be issue, since there is a timeout. Can
deploy Sphinx in RTD. We still need to add a version picker. Also need to
consider compiling code embedded in docs in CI to make sure it is still
valid. The old code base had examples that no longer worked. Also not
sure how to handle localization yet. Someone offered some language
translation if needed.
- Doug: How does this work fit with other things in documentation;
site-generators, etc. Does this proposal replace that?
- Sean: We haven't decided yet if Sphinx should just generate API docs and
something else build the website. Currently it's all through Sphinx.
Could go either way. We could have all the expository stuff on the
website, and API docs in RTD. It's flexible so we could do both. The
Doxyfy static site generator is user friendly, so could be used for the
website. Perhaps host API on RTD and host Doxyfy page on GH pages; two
deployments linked together.
- Carol: Worth seeing how much complexity is needed. A nice homepage and
separation of API docs all within one framework would be nice. Does
separating it make generation more complicated?
- Sean: Updating the headers requires recompiling python bindings.
- Mark B: There will be a lot of churn up front, but it should stabilize.
We could take the pain of rebuilding often up front, and it should get
better. It's not going to impact contributors long term.
- Sean: Complicated to find balance of being nice for contributors and nice
for documentation. The current design favors developers a bit more. So
far the work has mainly involved a slight change in header comment
formatting. There's still a lot of work to do for OCIO v2 docs, and
deciding what to cover and talk about. In theory much of the docs will
involve writing plain text.
- Carol: We'll set up a time to look over everything. It would be good to
discuss what makes contribution easier too.
- Sean: We can form a TODO list, so that interested contributors can pick
things to work on.
- Michael (post-TSC meeting note): This could implemented by adding issues
for each item to the documentation GH Project, which could be assigned
and tracked.
- **TODO**: Sean and Carol to plan a meeting to discuss structure and next
steps.
* ACES Config
- Michael: Working on scheduling a meeting to discuss next steps, possibly
this Friday, but it is flexible if that conflicts with another meeting.
* Items for next TSC meeting agenda:
- Carol: cineSync OCIO integration
+86
View File
@@ -0,0 +1,86 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
June 22, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Troy Sobotka
# **OCIO TSC Meeting Notes**
* GPU CI investigations:
- Infrastructure is in place for GPU CI on AWS. Credentials are for
organization-wide use so all projects can benefit.
- **TODO**: Michael will work with LF releng and JF Panisset on
implementation starting this week.
* SIGGRAPH BoF:
- 30 minutes this year and virtual. With summer vacations coming up we
should have a plan in place.
- Doug: We may want to schedule a longer event to go into more detail,
could be after SIGGRAPH. Not sure if people will want to sit through full
week of online meetings. Could do 30 minute overview, and longer
"intro to v2" session after SIGGRAPH.
- Mark: Could use SIGGRAPH time to do presentation, but spin up Zoom
meeting to chat about it afterwords for an hour or two.
- Carol: Emily mentioned possibly doing Open Source Day as a separate thing
from SIGGRAPH.
- Doug: BoFs are separate from SIGGRAPH and free to all. Don't know exact
date yet, but thought it was positioned relative to the original SIGGRAPH
date.
- **TODO**: Double check with Emily whether ASWF Open Source Day will be
part of SIGGRAPH or separate, and if date is known.
- Michael: We had discussed with Emily the idea of creating some OCIO
videos. Perhaps this could intersect?
- Doug: Those videos may have been more for promotional purposes than
education. 5 minute videos. Educational video will need to be longer.
- Kevin: Is the scarce resource our time or that of people joining? People
can watch videos when they want, so the BoF room time could be used for
discussion. Usually the BoF is half presentation and half discussion.
- Michael: If we go that route, we'll need to make sure we communicate
to the community where to find the video ahead of time.
- Kevin: Could do offline presentation a week in advance, which would
result in less schedule conflicts.
- **TODO**: Determine BoF/in-depth presentation plan once more information
on Open Source Day is available.
* Pull requests:
- Patrick: Some old PRs. Are any blockers? Bernard's review is important,
but there have been open CMake and Python PRs for a while.
- Michael: I can now address feedback on CMake PR, but can't merge until
Sean has CCLA in system. This raises the point that with many initiatives
ramping up and more contributors, getting CCLAs signed will be important.
If you haven't started the process yet, it can take some time, so
recommend starting soon.
- Doug: In EasyCLA instructions, says CLA manager at company should approve
all projects, which simplifies the process for companies already
contributing to another ASWF project. The CLA manager can add a company
email domain so that anyone with a company email address can be approved.
- Mei: For Python unit test PRs, I am responding to PR comments. Working on
completing tests for transforms first.
- Michael: Feel free to open GH issues for unit tests that have not been
completed. Others can then help and we can track the overall initiative.
* New work on EGL support (#1039):
- Doug: New contributor doing work on EGL. Anyone have experience?
- Patrick: Window-system agnostic graphics APIs. On paper it's a good way
to improve GPU unit tests.
- Doug: JF proposed this originally as way to avoid Nvidia GRID licenses
for GPU tests.
- Patrick: It's mostly for headless machines. WIll require a lot of testing
but huge benefit to project.
+90
View File
@@ -0,0 +1,90 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
June 29, 2020
Host: Michael Dolan
Rotating Secretary: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Troy Sobotka
Apologies:
NONE
# **OCIO TSC Meeting Notes**
* Open source day, DigiPro, SIGGRAPH plans:
- Michael: Plans not final yet for Open Source Day, but between these
events, how do we want to announce and present the OCIO v2 release.
- Both DigiPro and OSD are 25 minute presentations.
- Patrick: These are not enough time for all of v2.
- Doug: Main thing at SIGGRAPH is to get the word out, get it on people's
radar. SIGGRAPH will be a busy time with many zoom meetings over those
weeks. We'll probably want to do something longer after.
- Patrick: Would the audience be the same as with the v2 working group?
- Doug: Would be bigger group. We do want to have a presentation more for
developers that want to upgrade their app to use v2.
- Patrick: How do we make sure we have these people? How do we get more
people who are less active in other discussions.
- Carol: If we have a presentation at SIGGRAPH, part of that could be to
bring up when questions can be discussed at a later, less formal, event.
- Michael: Could we do the longer meeting as a Bof? To also leverage the
SIGGRAPH schedule?
- Sean: Will be good to have something on the schedule. Get the initial
discussion, updates, etc. to the general audience, and invite them to
something specific afterwords. May be able to put out word at the VFX
Reference Platform discussion.
- Carol: Can the DigiPro talk be done twice? Once at OSD, once at DigiPro?
- Doug: OSD might require more practical project related topics to cover.
We have a lot of material to cover. Could talk at OSD about case study
of OCIO joining ASWF.
- Patrick: ASWF will provide a forum, but we can decide how to use that
time and what content to cover.
- DigiPro to focus more on technical part of paper; OSD to focus more on
admin aspects of project, and as an invite to longer BoF session; BoF
to provide longer update and discussion forum. The BoF could also be
replaced by a later independent event if needed.
* Summer vacations:
- Patrick out second half of July.
- Michael out next week.
* OpenColorIO-Config-ACES meeting tomorrow:
- Continue discussion on initial work to design and build the config. 4pm
EST, 1pm PST.
* Pending PRs:
- Close to feature complete. Please have a look to keep reviews moving.
- Sean: PRs with multiple contributors are getting complicated. Not now,
but we may want to explore using shared feature branches in main repo for
collaboration. Topic for future discussion.
- Patrick: Student actively working on headless rendering support. Making
great progress, but currently encountering CI failures. Headed in the
right direction.
- Mark: Making progress on OpenColorMath. Currently working on the JIT
evaluator.
* Slack #helpdesk channel:
- Sean: Added a new #helpdesk channel to Slack to help with general
questions. With self-signup being active that will be a good place to
manage those discussions.
* V2 Working Group Discussion:
- Kevin: Looks like last v2 update got cut short based on slides. Anything
more to discuss?
- Doug: Will set up another meeting in near future. More to discuss around
caching and context variables.
+56
View File
@@ -0,0 +1,56 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
July 06, 2020
Host: Doug Walker
Rotating Secretary: Patrick Hodoul
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [ ] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Joseph Goldstone - ARRI
* [X] Troy Sobotka
Apologies:
Michael Dolan
# **OCIO TSC Meeting Notes**
* Recap. of the last documentation meeting
- Doug summurized the discussions (check the meeting minutes for details):
- Graham Fuller from Autodesk to advise on the documentation effort.
- Discussion around the table of content.
- No consensus on the overall documentation structure.
* The documentation structure starts a new discussion:
- Sean: Put the documentation in a separate git repo or in a dedicated branch?
- Joseph: Propose a 'cook book' style of documentation.
For example, How to modify the config (Yaml) to do X?
- Troy: Propose that it helps the transition to Python with step by step examples from trivial
to more complex ones.
- Mei: Propose that it contains use cases from Python to config (Yaml) changes.
* Config sanity check:
- Troy: Way to improve the sanityCheck() for whitespace issues?
- Mark: It relies on the Yaml library.
- Patrick: Recent pull requests greatly improve the sanity checks.
- Doug: Best would be to create an issue documenting the problematic cases.
- Mei: Find a way to enforce syntax?
- Mark & Patrick: No way as the Yaml library is permissive by design.
* During the discussion Mei asked about how to 'debug' a color transformation:
- Patrick: Think about command line tool e.g. ociowrite to output an exact ctf representation
of the color transformation.
+107
View File
@@ -0,0 +1,107 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
July 13, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Troy Sobotka
# **OCIO TSC Meeting Notes**
* CLA, DCO, sign-off, challenge for first contribution and new contributors.
- New system often has problems for new contributors. People forget to
sign-off, sign CLA etc. Can be tough to resolve related issues in PRs.
- Michael: Could improve CONTRIBUTING.md to further clarify process.
- Troy: CLA was painless. Sign-off was confusing.
- Mark: It is confusing. Just need the sign-off line. DCO plugin will try
to help, but not always clear or effective solution.
- Sean: DCO sign-off can mess up commits for PRs with multiple
contributors.
- Patrick: Sometimes these issues require redoing a PR.
- Troy: This is especially important for documentation work. A road block
for small fixes like typos.
- Sean: Agree. It becomes noise that takes time and effort to solve.
- **TODO**: Michael will reach out to LF about improving usability of DCO
plugin. Perhaps a method for signing off commits within a PR?
- **TODO**: Look into git mechanism to require sign-off when committing
from local machine; method for solving issue before a PR is opened.
* ociodisplay improvements or other ideas for contributors to work on?
- Patrick: Student eager to contribute. Looking for defects to solve. Any
ideas for improvement? GSoC projects could be "revisited" to become GH
issues (smaller size).
- Michael: Does ociodisplay support dynamic properties?
- Patrick: Yes. ociodisplay is in good shape with recent updates, but could
be improved further. Would be great to get feedback from production use
cases.
* GPU CI update:
- Michael: Need to follow up with LF releng on getting AWS CodeBuild
project created. Current DRAFT PR is in-theory read to go, but we'll see
once the infrastructure is in place.
- **TODO** Michael will follow up with LF releng on next steps.
- Patrick: Keep us in loop. The work on headless rendering can be completed
once GPU CI is in place.
* SIGGRAPH/OSD/DigiPro update:
- Michael: Not much new to report, but there is quite a bit of discussion
happening around the topic. Will likely be a major point at the next TAC
meeting. Events are coming up quickly.
- **TODO**: Waiting to hear details on DigiPro talk recording for Doug.
* Working group meetings:
- Doug: ACES impl TAC meeting tomorrow, which conflicts with ACES config
meeting. Several of us need to be there.
- Michael: We can cancel. Thomas submitted PR with config discovery work
which needs review in the meantime.
- There are also conflicts for the documentation working group meeting this
week. Can cancel that too.
- **TODO**: Michael will cancel this week's working group meetings.
- **TODO**: Sean lost write access to OCIO GH account. Michael will reach out
to LF about getting that restored.
* Documentation update:
- Sean: Looking at RTD more. Can't build OCIO through RTD currently, which is
problematic. Need to do local build to generate Python API RST. Sphinx will
render RST from autodoc signatures. RTD picks that up and renders HTML.
Need to add this process to CMake target.
- Michael: PR needed to update docs?
- Sean: Yes, but only needed when public API changes. The built RST needs to
be added to the main repo, under docs/. Has normal RST and API RST subdir,
which only contains autodoc content initially, but is built into RST.
- Mark: Bad to have build artifacts contributed to repo.
- Sean: Need to see what Larry is doing in OIIO docs. Another option could be
to upload generated HTML from CI to RTD.
- Mark: Why is build needed to get RST?
- Sean: Because of building python bindings, which depend on the OCIO lib,
and doxygen too.
- Michael: pybind11 provides signatures and types etc.
- Mark: Could make a basic stub version of OCIO lib just for pybind; fast cpp
build to trick the system, but would have to maintain the moc lib build.
Could even auto-create it.
- Patrick: Too many steps. Need to be careful not to make development
overcomplicated.
- Sean: Has PR on standby with doxygen header reformatting. Waiting on CMake
updates to complete. Also created style guide for how to maintain new
header formatting.
- Doug: The doxygen merge is needed soon to avoid further work.
- **TODO**: Investigate if RTD can support build step for generating docs.
- **TODO**: Sean to retry PR to Michael's CMake branch on the new clean
branch.
* Notes:
- Patrick is on vacation for the last two weeks of July.
+110
View File
@@ -0,0 +1,110 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
July 20, 2020
Host: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Troy Sobotka
* [X] Joseph Goldstone - ARRI
* [X] Chin-Ying Li
* [X] Simran Brucherseifer
Apologies:
* Mark Boorer
* Patrick Hodoul
# **OCIO TSC Meeting Notes**
* OSD planning:
- Wed-Thurs, August 19-20 (55 minute session).
- Michael: We talked previously about having discussion for users and
integrators. Should we try to use this session for that?
- Doug: Last year's OSD wasn't much discussion. Large room, large group.
Didn't feel like BoFs from previous years. Not sure the virtual format
will allow.
- Michael: Good point. OSD may end up being a webinar format, where there
are limited speakers, but chat based Q&A throughout. If we focus more on
a presentation format, how much overlap with DigiPro presentation?
- Doug: Depends on whether DigiPro has a pay-wall. If it's free we can
encourage people to watch that presentation. The paper will be available
either way, but if DigiPro is not free, overlap may be needed. We can
prepare 55 min of material, pause for questions, and dynamically adjust
content based on volume of discussion.
- **TODO**: Michael will follow up with Emily on virtual DigiPro attendance
policies.
* CLA (Apache, umbrella CLA):
- Michael: There was discussion at the TAC meeting around switching to the
Apache CLA (from the current LF CLA) which is preferred by some
contributors. OpenCue already has this CLA (and OCIO used it previously),
and if all projects agreed to switch we could potentially have an ASWF
umbrella CLA to allow contributions to all ASWF projects from a single
CLA. I expressed that now was probably not a good time for OCIO to switch
due to v2 "crunch time", but that we would discuss the change following
this push. Any objections to making this change later in the year when
time allows?
- No objections raised.
* CMake PR; is it ready?
- Michael: It's ready, but Sean has an additional Python-related fix which
we have been discussing the best way to merge. DCO issus created some
branch conflicts earlier so I resubmitted from a clean branch. Sean could
follow with a supplemental PR if we merge it now.
- Sean: Patrick and I encountered issues with this change discovering
Python 3 on our systems (macOS and Linux respectively). The proposed fix
resolved these problems for both.
- Michael: CI is passing, but that may be due to using explicit Python
paths in the CMake commands. Sounds like the current method os not
finding python-dev headers.
- **TODO**: Merge the CMake changes as-is since CI is passing, and Sean
will submit fix in a followup PR since the change is small.
* Website design/logo refresh:
- Doug: Month out from feature complete. Need the update docs before
inviting people in to v2. Pushing up to the wire. We need to focus on
docs in the coming weeks. Looking at Simran's toolchain data flow
diagram, this provides good overview of documentation approach. Is it
correct?
- Sean: Yes, just need to add a node for generating RST from
pybind11 code.
- Doug: Can we define concrete projects so contributors can work on this?
In the next two weeks we either need to get this working or stay with
existing system.
- Sean: Docstring header PR is in. Need another PR for pybind11 docstring
header, and another for reorganization of doc structure. The RTD page
points to official OCIO repo, so we're live now, but API docs and new
style is missing. Any changes to main are getting pushed to RTD now.
Not as much holding back docs as it seems.
- Simran: An event hook in GH communicates to RTD when to update the site.
- Michael: Can we open GH issues for logical chunks of work?
- Sean: Remaining infrastructure work is to finish Python docs extraction.
The CMake workflow needs work, which uses another pybind11 component
that doesn't install with pybind11 by default, so will be need to be
pulled at runtime.
- **TODO**: Sean will create PR with his current Python extraction work.
Chin-Ying Li willing to assist with this work to help finish doc
infrastructure.
- Doug: There are two parts of docs: infrastructure and writing content.
Separate tasks. Infrastructure should be in place to see what final
product is going to look like. For content objective, Carol has been
writing table of contents/outline. Lots of discussion on that. AD team
can help write docs.
- Sean: Would be good to get GH issues and volunteers for writing certain
sections of docs.
- **TODO**: Break remaining work into GH issues to help with contribution.
- **TODO**: Michael will reach out to LF creative services about help with
frontend work. Can collaborate with community on re-branding effort.
+68
View File
@@ -0,0 +1,68 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
July 27, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Troy Sobotka
* [X] Joseph Goldstone - ARRI
* [X] Chin-Ying Li
* [X] Simran Brucherseifer
# **OCIO TSC Meeting Notes**
* "Sanity check" function uses non-inclusive language:
- Simran: Brought up in ASWF diversity Slack channel. This function uses
non-inclusive language related to mental health:
[https://www.selfdefined.app/definitions/sanity-check/](https://www.selfdefined.app/definitions/sanity-check/)
- Mark: Would be an API breaking change. No problem changing it though.
- Kevin: "validity" check also not ideal.
- Michael: What about just "validate"? Now is the time to change it since
the API has already changed for v2.
- Carol: Should we do a sweep for other terms too?
- Simran: Yes. Only checked this one term so far, but can check others.
- Kevin: Can you do a word scan?
- Mark: Can open issue per term to discuss.
- **TODO**: Simran will submit PR with suggested changes to promote
inclusive language.
* Status updates:
- [Comment in this document's TOC for sections of documentation you would like to contribute to](https://docs.google.com/document/d/1AdCWgo_g7SHoVCakGTizs8j6AljSVfx1u6RKnyxIC2A/edit)
- Michael: For open source days, suggest reusing DigiPro content and just
expanding for the audience.
- TSC agrees on reusing content where possible.
* Apple silicon build and CI:
- Joseph: Any discussion about support for Apple silicon?
- Michael: This was discussed at the last CI working group. It's on the
radar and Apple has a representative in the group who is knowledgeable
on the subject. Ongoing discussion will continue.
- Doug: We will need to check OCIO's SSE code.
* Logo discussion:
- Logo type all caps or upper/lower mixed case? Discussion in #branding Slack
channel on this topic. Other ASWF projects use mixed case.
- Carol: Like the all caps. Individual projects can have unique logos.
- Doug: Adding spaces helped readability a lot. I see Emily's point for
consistency, but there is already some difference in ASWF logos.
- Patrick: Good to have consistency across ASWF, but should not be mandatory.
Should do what's right for the project. Best to see what's appropriate for
OCIO first.
* Items for next TSC meeting agenda:
- Discussion around whether additional static libs should be shipped for
libutils.
+75
View File
@@ -0,0 +1,75 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
August 3, 2020
Host: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Troy Sobotka
* [X] Chin-Ying Li
Apologies:
* Mark Boorer
* Mei Chu
# **OCIO TSC Meeting Notes**
* Outstanding work to hit feature complete date:
- Doug: Bare-bones website running by Aug 12th (DigiPro talk), for marketing
and building interest. Will be traffic following DigiPro.
- Michael: Any areas of docs unaccounted for?
- Doug: Grahame and I working on key pieces. Creating starting point, with
documented high level features. Other part is landing page - Carol
working on that.
- Carol: Looking at Hugo for landing page. Seems simple enough to set up.
Hugo is better setup out of box. Easier to get started. Better support
community. Static site for gh-pages. Talking design ideas with Mario, but
will get something up for now.
- Michael: Will have PR in by end of week with documentation sections
committed to.
- Sean: Anyone able to get docs built?
- Doug: Requires Python 3 so a bit problematic. Requirement for Sphinx 2, a
theme dependency, which is Python 3 only.
- Any other open infrastructure tasks?
- Sean: Still working on API doc build. Current PR is for extracting
docstrings from python binding, blocked by a clang dependency.
- Michael: Only potential issue is Windows. Clang is common on Linux, and
default on macOS. What do you need to complete API work?
- Sean: Getting workflow down for extracting RST files from Python bindings.
Only way to do it is locally generating RST files with breathe and autodoc.
Need to find a way to do this at runtime - RTD limitation. Might be way
for RTD build server to use Docker container with pre-built OCIO libs
locally available. Sphinx plugin can rebuild expanded RTS, as a fallback
solution.
- Michael: Anything Autodesk team needs to hit date?
- Doug: May need help with local doc build, but will reach out. Will then
try to get RST files written.
- Sean: There is a requirements file that pip can be pointed to to install
dependencies.
* OSD preparations:
- Michael: Any interest in talking documentation process at OSD?
- Carol: Could talk angle of community involvement with docs.
- Michael: Can also have brief intro to docs to get interest.
- Doug: Good to have more participation in the BoF.
- Carol: Sean and I can talk and have slides about process and introducing
docs. If there's no Q&A, good to introduce landing point for exploring
docs. More important if there's no discussion.
* OCIO v2 WG meeting
- Doug: Will this Thursday work? Will send email. Number of PRs going to
land soon. Want to give explanation and guidance about the work. Will
discuss the work remaining to be feature complete.
- TSC agrees this day will work.
+82
View File
@@ -0,0 +1,82 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
August 10, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Joseph Goldstone - ARRI
Apologies:
* Mei Chu
# **OCIO TSC Meeting Notes**
* Admin updates:
- Michael: Will get Open Source Days slide deck ready early this week and
share for input. Also going to send message to ocio-dev and ocio-user
announcing upcoming events. Let me know if you have anything to add to
either of these.
- Michael: Some open questions in ocio-user if anyone has cycles to give
guidance. I can mention these in Slack too.
* PR: follow-up on existing PRs:
- Patrick: Several open PRs. Any work needed before DigiPro? Is the Python
docstring PR critical (#1074)?
- Sean: Needed to complete API docs, but not ready by DigiPro. Can use
static build for now.
- Patrick: Any comments on Simran's PR (#1081)? All agree on sanity check
and other language changes?
- Kevin: Just wondering if the term change is correct. It's an API change,
so should use caution. We don't want to have to change it again later.
- TSC agrees the change is ok. Will merge.
- Patrick: SPI1D and SPI3D PR can wait.
* Documentation questions:
- Carol working on CCLA to be able to merge homepage page PR (#1091). Will
need to update gh-pages with another PR following that.
- Michael: Can make PR against gh-pages. Pull local, update and test in
browser, and then open PR for live site update on merge.
- John: Take a look at Netlify, for live preview of site in PR. Can do Hugo
build and provides link to a preview page of the site. OpenCue uses this.
- **TODO**: Consider integrate Netlify at a later date.
- Doug: API docs. Can we have drop in baked version for now? Since gh-page
update will remove them.
- Sean: Python package for reST build mangles API doc style. May have to
reformat by hand for now. Trying to take the Sphinx autodoc features and
recompile into full RST files. This affects C++ and python API docs. Will
try to have PR in tonight.
- Doug: Working on doc content. Will be making PR tonight to reorganize docs,
imposing new TOC structure on top of existing work, which will condense
sub-chapters. Added a lot of new documentation. New feature structure is
there and out-of-date/incorrect content is removed. If anyone has time to
review that PR tomorrow, we'll try to get it merged by EOD Tuesday, to have
the new site and docs live.
- **TODO**: Need to add work-in-progress note to RTD homepage. Also planning to
remove the quick start from doc landing page, since we now have a dedicated
quick start section.
- Doug: Docs talk a lot about the Nuke plugins. Since Nuke now has native
integration, these references are not as helpful. Remove?
- Mark T: Talking to Nuke team about how to push out new Nuke plugins, and where
to put them. Recommend leaving Nuke nodes out of docs for now since it will be
misleading. Having conversations about OCIO v2 with team now.
- Doug: I'm adding a lot of info about upgrading to v2, so worth looking at for
products that use OCIO.
- Doug: Noticed that TOC navigation isn't always updated properly. Some sections
look wrong when clicked.
- Sean: Sphinx doesn't update every page when you update docs. May need to rebuild
to prevent old pages showing up. Can use make clean, or sphinx-build -a to
update all files.
+121
View File
@@ -0,0 +1,121 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
August 17, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Joseph Goldstone - ARRI
Apologies:
Mei Chu
# **OCIO TSC Meeting Notes**
* OSD Slides & talk:
- OSD Slide deck is ready for updates. OCIO talk is first thing on
Wednesday. We will likely have Q&A time at end since the event is
55 minutes.
* Documentation TODOs:
- Carol: Will submit PR before Wednesday to fix some homepage bugs.
- Doug: Thomas dove into docs and gave good feedback on Slack. One focus
should be Python example code, which is missing. Will look at writing
some examples. Should look at how to integrate python and YAML into
documentation via discussed tabs, etc.
- Michael: How should we identify doc sections is need of work?
- Carol: Time to move outstanding issues from Google doc to GH issues.
- Doug: Some issues are referenced in the Documentation GH project. We
should triage those on Friday.
* libutils discussion:
- Michael: Continuation of discussion from two weeks ago about whether
libutils should be distributed alongside libOpenColorIO.
- Mark B: Don't want optional features because OCIO gets embedded in DCCs.
Should be consistent everywhere. Previously was an issue with optional
Boost shared pointers, so DSO couldn't be swapped. Don't feel we should
be shipping anything other than the main lib. If other libs are needed,
needs to be a compelling reason for them to exists. Calling them utils
doesn't hit that bar for why they should ship. If they are examples, make
them available as code only.
- Michael: We could separate out the libutils cmake, making it available
for users to build on their own. Still needs to be included in OCIO CI
though.
- Mark B: Once we dist OCIO, a cmake stub lists all exported targets, and
those are what were expecting others to import. Could make them pruned
off from tree as a separate project, not built by default. Can still
build those and run as part of CI. Can have docs on how to get started
with example programs and how to install them, linking against deployed
OCIO.
- Kevin: Would it still be a library? Could they still get used as such? Is
it something that should be a static lib that you can optionally link
against.
- Patrick: That's how they are now, and are currently statically linked by
apps.
- Mark B: Can compile them, just don't install them in the install
location. Lib folder should only contain core OCIO.
- Patrick: In OIIO, there is a shared lib for utils. Could be like that.
- Mark B: Not a good practice, and that is a shared library.
- Patrick: Could it be an option to make it a dynamic lib released as
utils?
- Mark B: Small amount of users will use these. Don't need the extra
library to do anything. Most people will encounter OCIO through a package
manager or as an end user, and just want to run OCIO. Won't need all the
extra bits. From our lib side, it's about shrinking the amount of stuff
that we're supporting. Good to keep it small. Most libs don't come with
utils.
- Patrick: Valid point, but fear people will rewrite these pieces. They
will help ease transition to v2.
- Mark B: If that stuff is good, should have a space in libOpenColorIO.so,
part of namespace with utils.
- Michael: Like OIIO::ImageBufAlgo.
- Patrick: Want to limit dependencies. libutils depends on OIIO and other
libs, which is why it was decided to make it external. Want to avoid
people rewriting these pieces.
- Mark B: Think it's good to provide, but shared lib probably not right way
to do it. Provide code and allow implementors to decide how they want to
implement and what dependencies to use. We've made it easy to get started.
- Patrick: If we don't distribute, package managers will not have these
pieces.
- Mark B: Most people downloading lib wont need this.
- Doug: There are different categories. Some things could be separate, but
apputils probably needs to move into the core library.
- **TODO**: Patrick will investigate alternative options and report back
when there's time.
* PR #1104:
- Patrick: Fix for cmake detection via CMake user registry, could use review
by someone else. Special case, but should be merged soon.
* Python optional parameters:
- Patrick: Thomas discovered some Python interface that should have default
parameters, which were previously optional parameters are now mandatory
(issue #1105). C++ has no optional parameters per OCIO design, but this
rule is not necessarily appropriate for Python. How should we handle this
in Python? Also highlights being backwards compatible for C++ vs Python.
We should decide if we are backwards compatible and consistent with v1
Python API.
- Mark: Perhaps both can change if the APi is bad.
- Patrick: Think we need to be consistent where possible.
- Mark T: Hit the same issue while testing at Foundry. Differences in
default parameters of API were problematic.
- Michael: There have also been some issues where null pointers in the C++
API don't interface well with None in Python and cause a crash. pybind11
provides a solution for this which we've been fixing whenever a case is
found.
- Doug: We also made improvements in C++ to not crash in these cases.
- TSC agrees that optionals args in the Python API (contrary to the c++ API)
is good and to move ahead with suggested fix.
+136
View File
@@ -0,0 +1,136 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
August 31, 2020
Host: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Daniele Siragusano - FilmLight
* [X] Joseph Goldstone - ARRI
* [X] Anandhaiyappan M
Apologies:
* Mark Titchener
# **OCIO TSC Meeting Notes**
* Issue #1124 discussion and resolution
- London holiday today so we don't have quorum. We can discuss solutions to
present at the next TSC meeting where all members can provide additional
input and decide on a resolution together.
- Any additional thoughts to share for the issue discussion?
- Doug: Transparency and communication was actually something we felt we
had been doing a good job on, so it was discouraging to hear that we
still have more work to do on that front. The distributed nature of open
source development does make it difficult for people to track, especially
if they cannot attend all of the live discussions. If we can make
additional improvements in this area, I think they would be appreciated.
- Carol: It goes both ways. Some things we've been aware of like struggling
to get PRs reviewed. There will hopefully be some good on that end,
improving feedback and contributions.
- Patrick: We can improve things, but should not do so by adding more
process to what we're doing. Managing a project at Autodesk is a full
time job. I don't think we have the resources to do that in the
community.
- Doug: Carol made that point too. Not sure if there's a precedent for
non-developers who want to participate in open source. Is that a thing?
Could we get people to contribute in that role?
- Carol: Will be sitting down with some Netflix PMs to get some initial
thoughts on it. Also could bring it up at the next TAC meeting. Would fit
nicely in with the ASWF.
- Doug: Could even be a paid position.
- Carol: There's room to expand what people think of with open source.
Cool and exciting opportunities.
- Doug: Good opportunity for someone who wants to be a developer but start
in an admin role to get involved with the process. The project doesn't
necessarily intersect with that group. Most involvement is from
developers.
- Mei: Is there an example of OSS project of this scale with road map?
- Michael: ASWF does have budget if need was presented across projects.
- Patrick: Already have two OCIO projects (documentation and Python unit
tests) that could be a starting point for exploration.
- Carol: This is something I can tie back into the D&I working group too.
- Patrick: Good point. Doesn't need to know a lot about OCIO. Good
opportunity for someone with interest.
- Michael: I think it would help if new design work was presented in a GH
issue earlier in development. I know most new features are already there,
but going forward we could have a two week proposal period at start of
development.
- Patrick: True, but being pragmatic, only one or two people are looking at
the issues we open now, and only one at PRs. No question for improvement,
but that's why we have had the v2 working group.
- Doug: What I've been trying to do is create issues in advance of PRs.
This case was different because we are all so busy with conferences and
docs. Usually the issue does go up well in advance, but it's rare that we
get much feedback.
- Michael: It's important to note too that the decision to have a two-week
rule was important for keeping development on track. Earlier in the
project PRs would sometimes sit for months and block further work. The
investment of three full time engineers from Autodesk is a generous one
and it's important to not take that for granted, and to utilize the
time as much as possible to keep an interest in the investment. The
resolution was no comments following the two week period implied
acceptance.
- Carol: If I don't have an issue I don't comment, since that is the
process.
- Michael: To improve, we can document the current process in one place,
as it is, and make adjustments that the TSC agrees will improve
transparency. That way it's documented and clear.
- Doug: Agree. PRs can be made on document to propose changes to the
process.
- Patrick: Can extend the meeting to speak about features too. Talk more
about technical discussion. Could be a way to improve process wih no
cost. Speak about features, etc.
- Doug: Agree it's a good idea. Initially having two meetings was good,
but now they can be combined.
- Michael: As mentioned too we can adjust the time to work for the NZ time
zone, but we should discuss with our London members first too, since it
would put the meeting later in their evening.
- Patrick: Also have meeting notes which can get feedback on. Minutes can
be way to document points. Also, when we wait two weeks, we put a warning
before merge. The warning does not mean we will merge no matter what.
Just a final warning about the merge if there are no objections. Worth
explaining that. It's just a notification. Could better explain process.
- Doug: Yes that could go in the document. I agree.
- Michael: And let me say that all of the work you have done Doug, Patrick,
and Bernard is highly appreciated by the community and industry. You have
all done excellent work with huge impact.
- Doug: And thanks also to all the community who invested so much time
along with many other responsibilities.
- Patrick: Yes, thank you all for all the effort on part time involvement.
- Doug: Thoughts on this issue John? On Trello board or feature roadmap
discussion, etc? We don't have a full time project management. Are there
LF projects with scrum master/project manager contributors. Not
developing code; just making sure the interface between developers and
the community is solid.
- John: Yes, it varies. One project I'm involved in has a lot of project
managers because of stakeholder involvement. Some smaller scale projects
just don't have those resources available. For one project I work on I've
put together a kanban board tracking the work we're doing as a staff. We
tried to address that transparency by putting issues and actions in there
for the community to see. That's one example and the lift is pretty
light. GH has a serviceable kanban board ability. Good points. Good to be
as transparent as you can, but not to kill yourselves in process. Good to
consider trying to make sure you're very public about pointing where key
things to check are. Documentation, etc. Make those assets as
discoverable as possible. Pretend you're starting from zero. What
challenges would you face while getting started in the project. On a
cadence, put together a blog post of what's being worked on, and where
we're headed. A way to chronologically say whats going on, without taking
a ton of time. Helpful communication.
* Items for next TSC meeting agenda:
- Discuss proposed resolution and make decision.
+126
View File
@@ -0,0 +1,126 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
September 14, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Alessandra Tomassi - Industrial Light & Magic
* [X] Matthias Scharfenberg - Industrial Light & Magic
* [X] J Schulte - Industrial Light & Magic
# **OCIO TSC Meeting Notes**
* Zoom
- Mark B: Some people having trouble logging into Zoom. Is this meeting
open to the public?
- Michael: Yes it's open to all. I do believe a free Zoom account is
needed to login to some Zoom meetings now. Zoom has been making changes
to improve security. Later in the month joining a meeting will require
either a passcode (not to be confused with password) or meetings will
require a waiting room with a host to let attendees in. We will try to
embed the passcode in the meeting URL. If anyone has an issue joining,
have them reach out to me and I'll help troubleshoot.
* PROCESS.md (PR #1140):
- Michael: New PROCESS.md document outlines new feature development process
for project in response to issue #1124. Please have a look and provide
feedback. I attempted to document the current process with expanded
detail around design review.
- Also created a "Roadmap" GH project to track feature proposals. Open
for discussion.
* New TSC meeting time and duration:
- Michael: Continuing previous discussion on merging OCIO v2 working group
with the TSC, extending the TSC meeting to 1 hour, and pushing the time
back to make accessible for NZ attendees. This makes for a later time for
London, but makes the time work for all time zones. Propose same time
slot used for other ASWF meetings (8am NZST/4pm EST/1pm PDT/9pm BST).
- Mark B: Would prefer earlier if possible, but can work.
- Mark T, Kevin: Time works ok.
- J: Can we rotate meeting between different time slots. Every other
meeting early and late. Some other meetings do this and works.
- Carol: D&I working group does that. Might be an issue for getting quorum
though.
- J: Monday also intersects with many holidays.
- Kevin: And other days of week don't work well because of other ASWF
meetings, etc.
- Carol: Can push meetings on holidays whe needed.
- Michael: We will try to reduce cadence once v2 is released, to either
bi-weekly or monthly, as needed.
- Kevin, Mark T: Later is fine if we're meeting less frequently.
- Doug: Carl Rand, who is a TSC member can't make it due to time. Thomas
is an active contributor and testing v2 features also. Should consider
something that works for them too. As I wrote in issue #1124, we (AD)
second the proposal to merge the working group and TSC.
- Mark B: Could be longer than an hour. Sometimes v2 working group
discussions run over.
- Carol: Discussions may calm down after release.
- Kevin: Hope so. With the new cadence and longer time, should amount to
similar amount of time. Wont be as many controversial features to
discuss.
- Doug: Hour should be good. Let's start with that.
- Carol: In terms of transparency, agenda is king. People should have
visibility into topics for a meeting ahead of time, which will help
inform who want to join the discussion.
- Michael: Yes, agree. I have not been the best with getting the agenda
out early. My intent going forward is to link the ongoing Google doc we
use for agenda items each week in the calender event for visibility,
with a note about adding agenda items ahead of time.
* GH main branch:
- Michael: Wider discussion happening in GH and ASWF right now about
default branch names. GH is moving to "main", and OpenEXR is considering
"dev". We should decide our course of action. GitHub recommends waiting
a bit before making the move since they will introduce tooling to ease
the transition.
- Doug: Prefer to wait till we branch for v2. Would be an ideal time to do
it.
- Mark B: Disagree with OpenEXR workflow. Prefer "main" over "dev". People
should land in a stable branch, which "dev" does not imply.
- J: Agree.
- Mark B: A bit different with CI keeping the branch stable, but good to
land on first stable branch ideally.
- Carol: All for changing the name in due course, but recommend staying
with what GH is supporting, so we can utilize their tooling and avoid
creating more work for ourselves.
- Michael: Ok, so we'll plan on switching to "main" when branching for OCIO
v2 release.
* Help Wanted issue label:
- Doug: Want to create a label for issues needing help, but that aren't
good first issues. Have list of tasks planning to add that are good for
people who have some time to contribute but aren't new to the project.
Thomas uses a "Help Wanted" label, and other projects use it also.
- Michael: Sounds like a good choice.
- TSC agrees.
* GH Issue subjects vs labels:
- Kevin: Noticed in some cases that subjects will have notes like "\[RFC\]".
Like labels but not. Need some cleanup with labels, with some new ones like
"RFC", etc.
- Carol: Yes. Looking for ways to track stuff for documentation work. I've
been using checklists and the project board, etc.
- Michael: Need new committer level that isn't "Write" but allows adding
labels to issue and general admin work.
- Patrick: I'm doing follow to add labels on issues. Don't want to add
labels to all defects, since it's not always clear and we don't want too
many, but new labels like "RFC" should be added. Will improve understanding
of project to clean up.
- Doug: Labels can add issues to GH project automatically, which might be
worth looking into.
- J: Can get busted in my experience.
+174
View File
@@ -0,0 +1,174 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
September 21, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [X] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Thomas Mansencal - Weta Digital
* [X] Simran Spiller
Apologies:
* Mark Titchener
# **OCIO TSC Meeting Notes**
* Some pending pull requests (1130, 1133 and 1134):
- Patrick: Three PRs needing review, ready to merge
- 1130: Cache processing - also topics related to context variables.
- 1133: Improved grading ops - no feature changes, just fixing some
issues.
- 1134: Not new, but some changes to VFX ref platform (CY2021). Updated
Makefile to adhere to that. Not a feature.
* Some ‘small’ pull requests (1146 and 1551) which help contributors testing
using the Windows platform:
- Patrick: Important for Windows platform, to be merged ASAP
- Removing MFC dependency.
- Improvement for Python 3.8 support, small change (From Simran).
- Michael: 1140: PROCESS.md proposal needs additional reviewers.
* Building on Windows requires the build/config type to be specified up to
three times, how to default to CMAKE_BUILD_TYPE? (issue #1153):
- Mark: CMake build type not respected on windows. Different way to
describe targets. On Linux generates Makefiles, but on Windows
generates MSVC project, where debug, release etc. is decided. Huge pain
in Windows. Have to keep the same flags for all dependencies. If you
build one thing with different flags, and one package is wrong, the whole
thing will fail. If we give pre-built binaries, they are stuck with the
build modes we provide. Other projects have turned own project into meta
builder that first builds dependencies, and then builds package.
- Michael: OCIO_INSTALL_EXT_PACKAGES does something similar, but not in one
single solution.
- Mark: Only works if they are all in one MSVC project, Needs meta project.
Usually not worth it. Either users are on their own, or we provide
instructions on how to build.
- Michael: Can documenting the process for now.
- Patrick: Not a fix, but workaround. Ninja could also work.
- Mark: Same linking issue regardless of generator. MSVC linker used with
Ninja or VSProject. All will have the same problems. How Windows builds
dynamic libraries and sets optimization flags.
- Patrick: Perhaps something is missing in OCIO project.
- Mark: Because we statically link all these dependencies. Hard to enforce
passing the same flags though. Especially if sub-projects have own cmake
projects, since one can break the entire chain. Have to massage each.
yaml-cpp is the first offender for breaking the linkage.
- Patrick: Already have a problem with one dependency not using
CMAKE_BUILD_TYPE.
- Mark: On Windows doesn't matter at all. XCode generator has similar
problem on macOS.
- Patrick: Document on Windows for now, and add something missing if we
find better solution later. New VS 2019 also introducing problems by
itself.
- Thomas: Should follow VFX platform, mandates VS version now. If you want
to be compliant on Windows, use 2017.
- Michael: CI VMs use 2019, no option to use other version without a
container. hopefully can find solution in CI working group.
- Simran: There is in fact an option with GHA: the windows-2016 virtual
environment has VS 2017. But it's some 2017 version that GitHub updates
every now and then, no control over the exact compiler version (but will
always be 2017).
* TSC opinions on C++/Python API Docs Generation (Issue #1148):
- Sean: Just RTD was problematic. Everything else working well. All
features listed in issue work well locally, but RTD can't do what we
need. Other projects have made hacks with skeleton python bindings, but
unless you automate it, it drifts.
- Doug: One thing discussing in documenting wg - we want to know who our
customer is. Feedback is that biggest customer of web based API docs is
python developers since C++ devs will often just go to the headers and
dev env. If Python user is target, and since there are some significant
differences, question came up as to whether we should target python
specifically. IS C++ docs needed? Question to raise, not suggesting one
or the other.
- Carl: As C++ dev, we generally just look at header since html docs are
usually pretty lacking.
- Mark: Useful for showing someone relevant part of docs, link to html.
- Carl: As long as it's well documented. In v1 was primarily looking at
python docs. Would prefer html, but at end of day, well documented header
is most accurate. Local host of docs may not be up to date. API
differences, etc.
- Thomas: Other example is if you look at Qt. There is no python docs, but
python developer uses C++ docs to work on python. May not even need python
docs. Possibility to use C++ docs.
- Mark: Easier now that they are similar, but were different before. We'll
have similar problems with more pythonic API.
- Carol: All of us are going do what we're comfortable with, but for new
users a well documented python API will be very helpful.
- Sean: This is why I proposed using matching C++ and Python, which still
allows for overriding python docstrings where they differ. Just RTD
getting in the way.
- Mark: Still no appetite to offline doc build and upload to branch?
- Sean: Could put website on RTD and docs on GH branches, but lose API
versioning. If we only do python docs, could be something different.
Either have to make scripts to generate skeleton code, or someone working
fulltime on skelton code.
- Mark: Is RTD appetite for us not wanting us to host ourselves? Could be
our instance of RTD.
- Thomas: Might be worth looking at what matplotlib does. Building docs
themselves and supporting versions. NumPy and SciPy too.
- Sean: If we do something custom there are many possibilities.
- Doug: RTD is very responsive. Updates quickly.
- Michael: Can we push docs to RTD?
- Thomas: Was not possible when I looked, but may now. Can pay for hosting.
Might be possible.
- Michael: Could use Sean's work, but just rework deployment.
- Sean: Agree.
- Mark: RTD business account could solve it.
- Sean: Not sure if we can build all of OCIO. Would have to do dependencies.
- John: Might be a good Andy question on RTD. Most projects using free
tier, but if it's something projects want, can investigate. Some services
have non-profit discounts.
- Carl: OIIO is on RTD; should check with Larry.
- Thomas: Basic price $50/month. Advanced $100/month.
- Michael: Any objection to Sean's approach with new deployment method?
- Doug: Any current example of Python API override? Transitioning from
previous system, so unless you see the output, it's hard to make final
call. We've been discussing doxygen limitations. Either not converting
header files properly, or some underlying problems.
- Patrick: API documentation quite broken now since mix of doxygen and
previous approach. In C++ API, greatly increases size of headers. Would
be good to have commitment if we stick to doxygen or stick to previous
format since we have to mix right now. Not pleasant currently. Decision
of syntax.
- Sean: Shouldn't need to mix rst and doxygen. Right now docs cmake target
not generating API docs at all, since those features break RTD. From user
standpoint should be handled on backend.
- Doug: Other point is how verbose we want to be if we convert to doxygen.
Old docs were pretty minimal, for functions not needing explanation.
Adding obvious comments will bloat the headers. Is that a change we want
to make?
- Sean: Need to see what autodoc and breathe do. May do something default.
- Mark: Can docs be separated from header?
- Sean: Probably possible, current solution based on what breathe supports
on sphinx side. Not sure.
- Patrick: Can a test be shared for analysis?
- Sean: Will do some cleanup and push something.
* Foundry SDK usage in CI environment:
- Josh: Foundry asked about OCIO needing Foundry license for CI. Was that
requested?
- Not that anyone is aware of. May be useful in future depending on how
Foundry distribute plugins.
* Ongoing priorities for stabilization period:
- Doug: Two components. Were looking to get feedback from implementors. Had
some feedback with a logged issue. One main goal at SIGGRAPH was to raise
awareness. Hopefully that message went out and starting to be looked at.
Hopefully comments start trickling in are assigned to dev roadmaps.
- As people do have time to contribute, we'd like help with some
issues. Will be posted to GH as help-wanted label issues. High
priority items we need help with.
+222
View File
@@ -0,0 +1,222 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
September 28, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Nigel Hadley - Foundry
* [X] Simran Spiller
Apologies:
* Kevin Wheatley
* Mark Titchener
# **OCIO TSC Meeting Notes**
* TAC update on GSoC. Focus for next year:
- Michael: Good feedback on results. Likely that ASWF will participate
again next year and are hopful that all projects can get a project.
Should start thinking about where to focus. CUDA, Metal renderer impl
seems like a good place to try again on.
- Doug: Good to have volunteer for each project. Is Hacktoberfest
happening again this year?
- Michael: Good question. I believe that was based on a tag search.
* Issue #1117 -- Help Wanted:
- Doug: Added new label help-wanted. Others use this too. Can start adding
this to high priority issues. This issue is to create OFX bindings for
OCIO v2. High priority since it would increase test coverage with so many
supporting apps. Could get more practitioners and developers to download
and test those.
- Michael: OFX is supported by Nuke; Curious if it would create conflict
with existing OCIO v1 binary in that env.
* Open PRs:
- 1147 (optimization):
- Doug: Updates config default version and optimization improvements.
When create new config, it is now v2 by default instead of v1. Other
thing in PR enhances optimization flags. Now ability to control types
of optimization. Two new flags: one simplifies ops down to component
parts; CDL without power becomes just matrix if possible, etc.
Benefit is that can be combined with another matrix op. Another flag
controls whether SSE log and power are used. Does much faster version
of these functions but not 32-bit exact - 16-bit half precision.
Useful to turn it on and off, and off for unit tests since we’re
comparing with higher precision results.
- Bernard: Fast log is not used for baking.
- Mark: Why is SSE path not as precise? Because of writing own exponent
functions etc?
- Patrick: Yes, wrote own implementation. Benefit in performance is so
important that both approaches are supported.
- Doug: Uses fewer iterations than needed for full float 32-bit results.
- Mark: Had similar challenge getting this working in CTL expression
code. Finding concise method of operations challenging. Since we
already have concept of optimizations sounds fine. Is this default?
- Doug: Yes, both are turned on by default, in OPTIMIZATION_VERY_GOOD.
- Patrick: optimization is based on bits, so can disable any of the
items. Fine control of optimization.
- 1157 (file transform interpolation):
- Doug: Prompted by issue (1121) from Remi. File transform will now use
DEFAULT interpolation as default, instead of UNKNOWN, which prevents
exceptions being thrown in various places. Also cleaned up some file
transform interpolation. If you specify an interpolation that can't
be used for file, will log warning. For CLF, where interpolation can
be specified in file, if an op doesn't specify interpolation, it will
try to use the FileTransform interpolation specified. Will ignore
file transform if specified in file. Also addresses issue with
caching. If multiple transforms used specify different
interpolations, that will now work.
- Bernard: Also added a function to get the type of a transform (CDL,
Matrix, etc.).
- Mark: Any reason to default interpolation to DEFAULT instead of BEST?
Should we change it to BEST?
- Bernard: For 1D doesn't matter, but for 3D, difference between
tetrahedral and trilinear.
- Mark: Should change to BEST to get tetrahedral.
- Bernard: If we want to use BEST all the time, change DEFAULT to BEST.
- Doug: Tetrahedral slower than trilinear, and GPUs do trilinear by
default. CPU and GPU will match better and get faster behavior.
Defaults usually land on faster. You can request tetrahedral in
transform.
- Mark: Why use trilinear if tetrahedral is available? Now that
tetrahedral is available on GPU.
- Doug: Still uncommon for other apps to use tetrahedral on GPU.
Usually use trilinear.
- Mark: But we're bringing fantastic tetrahedral to the table.
- Doug: Trilinear would behave like other apps.
- Mark: Did old code default to DEFAULT or BEST?
- Doug: Used to be INTERP_UNKNOWN and would throw in evaluation.
- Mark: FileTransform would work out of the box. I’ve never seen it
throw, and usually just give filepath.
- Doug: Would get through YAML ok, but throw on processor.
- Bernard: v1 initialized with UNKNOWN, perhaps YAML changes it?
- Patrick: We will validate if v1 throws if it is UNKNOWN.
- Michael: Same as Mark, never had to set it explicitly, maybe defaults
in YAML parse?
- Mark: Think it defaults based on file type, 1D LUT, 3D LUT, CDL, etc.
- Doug: Will comment on this issue to see what happens in v1 to explain
why behavior was what it was.
- Michael: Should we switch DEFAULT behavior?
- Mark: Seems odd to have DEFAULT and BEST, should just use BEST.
- Bernard: Same as defaulting to faster exponent in SSL because faster.
- Mark: In studio would pick tetrahedral every time.
- Michael: Agree with Mark on quality. 3D LUTs are touchy so will take
any precision improvement we can get.
- Doug: Agree tetrahedral is best. Just a question of whether we want
to make it default since its not usually the default.
- Michael: Have we done extensive benchmarking?
- Doug: On CPU tetrahedral is faster. On GPU it's a texture lookup.
Benchmarking on GPU is involved. Not opposed to tetrahedral default.
Do as separate PR. Want to get other eyes on it.
- **TODO**: Mark will open issue about changing default interpolation
of 3D LUTs to tetrahedral (or BEST).
- 1140 (process):
- Michael: Doug and I have been working on revisions to this document.
Good to get more eyes on it if you have time.
* Open Source Project Management Discussion:
- Carol: Talking on and off in doc meeting about ASWF/open source. At what
point does project get big enough to need project management. PMs help
keep organized and on track. There’s a balance between process that
creates more work and that that creates less work. Talking to PMs at
Netflix. Seeing things that could be useful for us without creating nag
structure putting more on our plates. Any thoughts about talking to
people about this? Would it be beneficial for our projects? Looking at
OCIO, but could be wider across ASWF.
- Doug: Think its an interesting idea. Surprised this isn't already a
thing. Forging new ground, but worth exploring.
- Mark: I don't think it would be good. Never heard a OSS project at scale
doing this. Think it would add democracy to already democratic process.
Should ask LF.
- Carol: Have seen on this TSC that a few people spend a lot of time on
project management, but as we move toward releasing v2, the constancy of
our time may not be as full time long term. If we had process in place
that was not dependent on Patrick tagging issues and following up on PRs.
Interesting to here from patrick if that would be helpful.
- Doug: Comment on Mark’s point about asking LF. We did ask and there isn't
a model to copy at this point. A lot in response to Thomas' issue about
transparency and a roadmap, etc. That was the why.
- Carol: Yes, how can we make this easier. What is missing from what we do
internally at company. Obvious thing is project management. Not that
anyone hasn't done their job well. Realize project management can be boon
if done well.
- Mark: Many OSS projects led by small group of developers rather than
committee. In case of OCIO, may not align with everyone's goals from
project. Some reason people don't know final goal is when features don't
align with what we were expecting. OCIO’s goals are wider now. More
needs to fill and goals to solve.
- Carol: All of that makes the case for project management.
- Mark: Think less bureaucracy is better. We haven't failed in mission to
achieve goals. Can see why when someone sees lots of PRs that don't
necessarily follow their world view, they would ask for clarification.
- Doug: When Thomas wrote the issue, it wasn't opposed to specific feature,
just that it was being worked on without an issue having been created to
communicate it. If project manager had attended that working group
meeting, might have avoided the surprise. Project manager isn't there to
set roadmap, just to communicate what is being worked on and what is the
status. More of a communication type role.
- Carol: Agree. Hard to picture what it would look like. Wanted to get
others take on it. Ok if the conclusion is that it's not helpful. Have
worked with great PMs that have helped achieve goals, which is cool.
- Mark: Someone not knowing where an idea came from, ok to mention to that
person when it was decided. If they weren't at meeting.
- Carol: Not saying anything is lacking, just looking for help and
improvement on what is already great.
- Doug: Is part of agile development. If AD devs were doing work at AD,
would have agile workflow and team with scrum master. That's a
significant part of someone's job. Takes a lot of time. For OSS projects
it is just developers. No QA, doc, scrum person. Why is that? Because
it's developers showing up to work on these things, but when projects get
big enough, these roles might be more helpful.
- Mark: It's different for AD devs since it is full time. For others it's
people scratching their own itch and contributing it back. Other projects
don't know goals, just hear that something new has been added. Don’t
think its necessary. Can be a mess of bureaucracy and fail. If not broken
don't fix it.
- Patrick: Two aspects to consider. Example of grading. We forgot to create
issue early and someone outside of development could have commented that
we forgot it. Also helpful to know where we stand. Are we close to v2, is
documentation close, are Python bindings close? We don't have that. Not a
problem, but information isn't somewhere for people checking in on project.
- Mark: OSS projects - first thing to do is ask.
- Carol: Is that the best way to do it? If it could be done without
bureaucracy, could it be an improvement? Could be en experiment. See
opportunity. Once project grows it becomes a product, which OCIO has. A
lot in industry depends on consistency, and project status is a positive.
- Michael: Curious what a PM opinion would be. No commitment, but just to
get opinion.
- Carol: Would probably want to be a fly on the wall for a while.
- Michael: Even in consulting role would be helpful.
- Carol: Yes, keeping accountable. Don't want to add more process.
- Patrick: With projects and labels in GH we can do some project
management. Took time to put labels to help see trends and see what
remains to be done. We don't have what is missing, only what is done.
Thinking about the missing part; we could find something with low
overhead to have first version of project management.
- Carol: Agree. What would we need to take what we have and make system
around it. Just needs a little work.
- Michael: Added feature development project which could be home to some of
this.
- Mei: Can get Thomas' input next week, to see what he is more concerned
with. Would be nice to talk to him about it. Can put on agenda.
* Meeting time change for NZ daylight savings:
- Carl: Daylight savings, now is 9-10 am in NZ. Thomas and I may not be
able to make it. Could move meeting.
- All: Ok with moving back an hour.
- **TODO**: Carl will reach out of Thomas to verify time and Michael will
move meeting back one hour and update invites if helpful.
+130
View File
@@ -0,0 +1,130 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
October 5, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [ ] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Thomas Mansencal - Weta Digital
* [X] Aymee Yeh - Netflix
* [X] J Schulte - Industrial Light & Magic
* [X] Matthias Scharfenberg - Industrial Light & Magic
Apologies
* Doug Walker
# **OCIO TSC Meeting Notes**
* Review pending PRs:
- #1160 - C++ API docs:
- Initial work and structure of C++ API docs. Feedback on organization
of content welcome. Can look at RST or build locally. Also includes
some general CMake changes and removal of auto-install of
documentation-specific dependencies.
- Patrick: Noticed this morning on tsc-private topic related to
copyright of images found with license scan. Needs a look.
- #1159 - Improve CMake files:
- Patrick: Not C++. Faced issues with CMake on Windows and tried to
fix.
- #1157 - FileTransform interpolation:
- Patrick: Last meeting discussed v1 not throwing if interpolation was
missing. Bernard checked and it is throwing for FileTransform
(i.e. LUTs) as expected.
- #1156 - Meeting minutes:
- Patrick: Needs another approval.
* Introducing Aymee Yeh:
- Carol: Introducing Aymee to OCIO project. PM from Netflix who is
interested in learning more about project management in open source.
- Aymee: Work with Carol at Netflix on project management. Here to listen
to see where I can help.
- Carol: Provided some resources from GH repo.
- Michael: Please let us know if you have any questions. OCIO Slack
workspace is a good place to discuss, and any ideas an input are very
appreciated.
* Issue #1162 - PROCESS.md feedback:
- Thomas: In a good place. Would be great to have more people giving
feedback. Explicit approval better than silent assent.
- Carol: Also think it looks good, but will have another look.
- Patrick: To highlight, there's a trend in OSS that saying nothing means
its fine, but sometimes better to have explicit approval in a comment to
an issue or PR. Some feedback to know where you stand.
- Michael: "LGTM" is a good response if you're in agreement.
- Patrick: If you take time to read it, take a time to comment.
- Thomas: On GH, approval is a click away also.
- Mark B: Only comment is with big changes throughout development. Since
PRs were dependent on each other, decided to wait till work was more
complete to review. Have some concerns that there's not enough time to
vet work while pushing towards release date.
- Patrick: Good concern, and why we have 4 month stabilization period to
test and dig into what we did. Up to you to tell us. We did our best to
explain and add tests, which are also a way to explain the features.
Please tell us if something is unclear or a concern.
- J: Understood. Sometimes huge wave of commits takes a lot of time to
review. Good buffer to look and rethink it.
- Michael: Good to take time to review PRs if you can since it's easier to
adjust work in progress than completed work. Probably too late to change
architectural decisions.
- Patrick: Best to start with unit tests and public API to get sense of
features and changes. Can also start with Python. Start with something
you are familiar with.
- Thomas: Whenever not finding something in Python code, looking at C++
unit tests and that is very helpful.
- Mark B: Lots of stuff from previous TSC meetings and working group
meetings where it's hard to track outcome of discussions. Not sure
whether those changes were addressed or gone over. Need to check up on a
lot of stuff and follow through. No issue with architectural stuff so
much. Two or three things to follow up on though. Worried our concerns
will be lost because of imposed deadline. Would be a shame if features
go out if solutions doesn't match spirit of previous library version.
- Mark T: What things are you concerned about?
- Mark B: ICC display transforms. Live grading controls and how those
interact. Environment resolution. Bit-depth - how it's expressed in graph
and config.
- Patrick: Suggestion - build a list and next TSC meeting would like to
discuss these points. We can address questions over several meetings.
Even if we did some WG sessions and created defects for all the features,
we could still explain again what we all agreed to do and follow up on
any concerns.
- All: Agree this is a good idea.
- Mark: T: Others can look at areas of concerns too.
- Patrick: Yes, we are waiting and eager to have more eyes on what we did.
- Michael: Lots of little pieces have come together, so understood that
it's easier to review larger features now that they are complete.
- J: Continuity of involvement has been challenge, with big waves of work.
- **TODO**: Mark B and others to provide list of features for review with
AD team during future TSC meetings. Similar discussion to v2 working
group.
* ACES Gamut Mapping Quick Update - for FYI:
- Carol: Matthias and I co-chairing gamut mapping wg. We put out a status
update and will share a link. We're getting close to moving on to
implementation of the algorithm as long as user testing goes well.
There's a test impl on GH:
https://community.acescentral.com/t/aces-gamut-mapping-vwg-status-update/3259
which can be tested in Nuke, Baselight, Python, etc. Hoping to get into
OCIO v2 as builtin transform. Imagining OCIO big use case for this
operator in lots of VFX spaces. More complicated than a 3D LUT.
- Matthias: Main reason for this implementation is precision, in particular
for inverting the transform. Is possible to implement in OCIO v1 with
shaper space potentially, but precision is compromised and made
non-invertible. Much more desirable to be evaluated as builtin transform.
Not super complicated on processing side, shouldn't slow things down.
- Carol: May be asking for input in best way to implement, probably
starting early next year. Getting user testing done in the next month.
Finalizing architecture deliverable to Academy, which is CTL by end of
year.
+76
View File
@@ -0,0 +1,76 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
October 12, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [ ] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [ ] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Aymee Yeh - Netflix
Apologies:
* Patrick Hodoul
* Doug Walker
* Mei Chu
# **OCIO TSC Meeting Notes**
* PRs ready for review:
- #1157: FileTransform interpolation - to be merged tomorrow without
objections.
- #1159: CMake updated - to be merged tomorrow without objections.
- #1163: BuildOps functions refactoring - new PR from Bernard
simplifying some op build code.
- #1164: app docs - Documentation contribution from Zach Lewis.
* Issue #161 feedback:
- Michael: Continuing discussion around PROCESS.md and any revision
that might be needed. Larry raised good points around
implementing a feature freeze to prevent holiday and near-release
merges without review.
- Mark T: Agree. Would provide a good to have safety net.
- Kevin: Two issues, feature freeze before major release, and then freeze
where people will be away, to prevent magic PR approval over holidays.
Both make sense. Don't want these merges to happen by accident.
- Carol: Can 2-week window be extended after OCIO v2 release? Lengthen to
3 or 4 weeks. With release nearing completion this could be less of an
issue. Will add comment to issue.
- Michael: Agree.
- Kevin: After v2 there will be fewer things to review, so the current rule
may be ok.
- Carol: You would expect more people to comment, and less PRs to go
through without comment. Ideal is no PR without feedback.
- Michael: Bigger features need more review, i.e. expressions. Smaller work
like bug fixes could go through quicker potentially.
- Mark: I agree as well. The way it is now is mostly because there are 3 AD
employees, who could approve and merge otherwise. Time period is chance
to give us time to step in. Will change when AD contributions change.
- Michael: We can revisit the rules following release if needed.
* RTD credentials and account:
- Michael: Does anyone here have credentials to get into the OCIO RTD
account? I'm working on API docs and will need to do some tests.
- Carol, Mark: Sean has credentials.
* Topics for AD feedback:
- Michael: Last week discussed raising concerns for discussion with AD team
on v2 features. Everyone will be back in the TSC meeting next week.
Please post discussion points somewhere for discussion.
- Mark: Going through API over last week trying to implement ACES builtin
transforms. Have Google doc with current questions and will add to next
week's agenda. Also noted in tests that the v2 build is very smooth now.
- Michael: Are you using the external dependencies, or linking to local
dependencies.
- Mark: Using the external libs, statically linked. Namespace handling is
working well.
+121
View File
@@ -0,0 +1,121 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
October 19, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] J Schulte - Industrial Light & Magic
# **OCIO TSC Meeting Notes**
* ASWF usage/feedback survey questions for OCIO:
- Michael: ASWF will be sending out a survey on project usage/feedback and
asking that we provide OCIO specific questions we want industry input on.
Any specific questions you would like feedback on?
- Mark B: Feature usage. How many users create configs from scratch vs. use
distributed configs. How many use and rely on context variables and look
transforms? How many use look transform expression language?
- Carol: What software do you most use OCIO in?
- Mark B: Any areas of color management we aren't helping with? Do you
build OCIO or rely on package manager. Do you need to replace builtin
OCIO shipping with DCC?
- Michael: OCIO v2 transition concerns?
- J: Any requirement for specialized documentation? UX/UI convention
document, etc? Any more levels of docs that help people get on board.
- Mark B: Are you aware of documentation efforts and new website?
* New PRs:
- #1172: Improve the FileRules behavior for some limited cases:
- Patrick: Fixes inconsistencies with file rules after using and
documenting them. Small change.
- Doug: How to handle case where string is empty - no rule. An edge
case.
- #1171: Change the ICC monitor profile reader:
- Patrick: Bug discovered by Rémi. Fixed.
- Doug: Going to create issue for cleanup - removing unknown direction
enum. Will clean up a lot of code and be better for error handling.
Errors will show up at parse time instead of evaluation time.
- Patrick: Pasted PRs in Slack awaiting feedback.
* General discussion:
- Doug: Anyone watching VIEW conference? Like FMX, European VFX conference
in Italy. Free this year. Rob Bredow did a session and gave shout out to
ASWF and OCIO. Encouraged people that ASWF is a great way to get
involved. Encouraging to see support for the project.
- Patrick: New contributor with work to look at. PR #1169.
- Michael: Since October is almost over, what is the timeline for
stabilization period? Are we targeting end of year or looking to push
into new year?
- Doug: Good topic for future TSC meeting. A number of projects have been
accepted into VFX ref platform 2021, with releases at end of year or
early next year. OpenEXR 3, OpenVDB 8. Talked with Larry about how he
releases OIIO (RC releases, etc.). Think it's a decision for TSC, about
when release will be. Will certainly need 2.0.1 next year for bug fixes.
Hoped to get a lot of testing this fall, opportunity to fix bugs for
release. If we could extend into next year will help with stability. VFX
ref platform starts in calendar year.
- Michael: Any work on integration at Foundry?
- Mark T: A bit, but waiting for engineering team to free up off another
project. Will start investigating Nuke integration in coming weeks.
Hopefully can make good progress.
- Michael: Is Autodesk working on implementation? Deciding what to do in
terms of UI/UX will be a discussion point, since not much has been done
yet with related new features.
- Doug: We are looking at it, but requires more documentation. UI one of
biggest ways to take advantage of new features.
- Mark B: For studio to upgrade, the last app to use v1 has to disappear.
Probably a long lead time.
- Doug: Is it possible to have two configs side by side? v1 and v2?
- Mark: Depends how complex. Not ideal.
- Michael: I have been answering questions for an SPI engineer looking at
v2 integration. He might be a good source of feedback.
- Mei: Yes, we have a developer looking into it. Installed and playing
around with it. Will have more feedback soon.
- Carol: At Netflix people very excited about new ACES config and config
generation tools. Most conversations around that. When those tools are
ready to pick up, will be time that dev work would happen.
- Michael: Reminder that the next config working group meeting is tomorrow.
Now alternating weeks with the documentation working group to free up
schedules a bit.
- Patrick: Related to UI - have a look at the code. Have apphelpers static
lib to help. C++ only. Demonstrates how to filter color spaces, how to
present them, color picker, etc. See if it fits your needs.
- Mark T: From Zoom chat: Any work on OFX reference yet?
- Doug: Someone was going to get started but hasn't panned out. Updated
issue and someone else expressed interest. Student so may need some help.
Anyone want to collaborate? Would be welcome.
- Michael: OFX plugins will be a big job, and are a good opportunity for a
UX first pass if anyone has strong opinions on that.
- J: OFX example could be really valuable for UX/UI, making sure a tool
embodies all of that, as reference. Having something usable beyond docs
would be good to evangelize the work.
- Michael: Agree. Good opportunity to help steer the UX work.
- Doug: Told interested contributor first pass could be simple and second
pass can refine UI. Break work into milestones. First PR might be bones,
and then several could collaborate on how UI should work.
- Mark T, J: Interested in helping with that. Could help test and feedback
designs.
- **TODO**: Michael will open an issue to discuss. Can help DCCs be
consistent.
- J: Hopefully enough stuff for new developers. Standards, etc.
- Doug: Alluding to this with documentation. UI mockups could find way into
docs and tutorial. How to build UI for OCIO v2.
- Carol: Would be great. The more visual the better.
* Items for next TSC meeting agenda:
- **TODO**: Mark B organizing OCIO v2 feature discussion points. Will add
to agenda next week.
+82
View File
@@ -0,0 +1,82 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
October 26, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [ ] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Matthias Scharfenberg - Industrial Light & Magic
# **OCIO TSC Meeting Notes**
* Survey questions
- Patrick: At the TAC meeting last week there was discussion around ASWF
survey and project questions. Categorization and multiple choice are
the main areas to improve.
- Michael: Yes, will need to pare down question somewhat and make multiple
choice where possible to reduce time commitment to fill out. I can work
on converting them to multiple choice, but please comment if you think
any could be reduced or removed. We can ask any other questions we have
within the OCIO community.
* API documentation status update:
- Michael: Finalizing Python API doc setup. Python module which walks
Doxygen XML and generates header matching pybind11_mkdoc. Working on
updating DOC references in binding source, which is time consuming. Will
open PR once that's done. Will need to revisit bindings to add
Python-specific documentation in a later PR.
- Patrick: For Doxygen extraction: any limitations to doxygen features
that can be used? Want to update docs as we're adding stuff.
- Michael: The XML conversion module will fail if it hits an unhandled
element, which will help keep it up to date to support any Doxygen
features we need. Code is fairly simple to update, so can be done as
needed.
- Michael: I have not dug into RTD side of docs yet as I don't have access.
- Sean: I tried to add you but didn't find your RTD account. I can try
again.
- **TODO**: Michael will create RTD account so Sean can add it.
* PR/issue discussion:
- Patrick: Nothing complex right now.
- Doug: Mostly bug fixes or minor improvements.
- Patrick: Opened issue about vcpkg (#1179). Good to put attention on it.
vcpkg is broken for v1. Should update to work for v2. If someone has
knowledge, should be simple to fix. Could also fix v1 if there's time.
All the needed info is linked in the issue.
* OCIO v2 discussion:
- Mark: Going through v2 updates and making notes. Going to write it up
and share for next week. Some little style things. Some fundamental
things for discussion.
- Michael: Anything to report from current AD efforts?
- Doug: Next week will give an update and share some slides. We're busy
working on v2 stuff. Not feature related, but one feature mentioned in
last v2 working group meeting will have PR. This work is documented in
a GH issue already.
- Carol: Larry gave OCIO a very nice shout out in ASWF slack - general
channel. Have a look when you can.
* Python minimum version:
- Mark B: Is there a minimum supported Python version in the new bindings?
Ran into an odd Python 3.6/3.7 issue, but think is was environment
related. Some of Python's threading API must have changed between these
versions.
- Michael: OCIO Python bindings support down to 2.7, but docs require 3.
It's only our sphinx theme that limits docs to 3, which is unfortunate.
I ran into a Python env issue as well recently. I was building OCIO on
Linux subsystem for Windows, but didn't have python-dev installed (only
python). The CMake find module grabbed libs from my Windows Python
install from the Linux side, which failed.
+206
View File
@@ -0,0 +1,206 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
November 2, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [X] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Matthias Scharfenberg - Industrial Light & Magic
* [X] J Schulte - Industrial Light & Magic
Apologies:
Carol Payne
# **OCIO TSC Meeting Notes**
* ILM’s v2 questions
- Doc: https://docs.google.com/document/d/11obAVucrsJ3e5HMuR40GD8fLUGAwwfbWD_jU5xId07Y
- Mark B: Feedback on:
- Dynamic and grading Transforms:
- What these are trying to represent as building blocks in OCIO.
Who is the target user? Useful for color sub-tasks, but not
necessarily a core goal of OCIO.
- See conversation below...
- LogCameraTransform:
- Parameters on transform don't coincide nicely with camera
whitepapers or reference transforms. We understand the
translation but a bit of a closed box to those authoring
configs. Future of this transform - will additional curve
characteristics be needed?
- GetEnvVariables:
- New get/set env vars. Do they need to be in OCIO API?
- etc.
* Dynamic and grading Transform discussion:
- Mark B: For wider world, why are our attributes for transforms different
from other implementations? Might impose worldview on grading which
doesn't reflect industry.
- Doug: A lot of discussion about this. Motivation explained in GH issue.
Not intended to change what OCIO is used for. OCIO already has ASC CDL
and Lut3D transforms, which are used for looks typically. Felt there was
a gap between those extremes. Felt need for other transforms to fit
between those and have advantages of both. Wasn't to change OCIO or its
usage. One thing at meeting that raised a lot of discussion was not about
transform themselves, but the dynamic parameters that were part of them.
To modify transforms with dynamic parameters. Main reason for this is to
make OCIO more usable in GPU scenarios. Without this, every change needs
re-compile of shader, which was a major blocker for some GPU application
usage.
- Mark B: Main place we differ is nobody is authoring looks in OCIO. Being
done in other apps. OCIO responsible for using them only. Grading
transforms don't have file equivalent, that someone might want to
implement. Not on same parallel in our view. CDLTransform could fall into
this too, since FileTransform can handle a CDL. Custom shader code can
be glued into shader.
- Kevin: We would love to have done dynamic adjustments in single step.
We're trying to do this in our playback/review tool. Much cleaner than
jumping back and forth. Would be nice to be able to plug something in.
Would also be nice if there was an agreed upon spec of what these
grading controls meant. Do like being able to do real time adjustment of
transforms, since we do that.
- Mark B: DCC authors could need this, but not config authors. Don't see a
config file equivalent to some of these knobs. Would love all of this as
a DCC author, since it simplifies implementation, but not a lot of that
problem in OCIO. Makes OCIO more complex and more uncertain of use case.
- Kevin: Had not made strict limitation on where boundary should lie.
Without grading transforms, dynamic parameters allow you to do thing
like control where an exposure change is happening. Mostly temporary
adjustments. Some of the grading transforms allow me to do things where
I have previously had to bake LUT, so idea of parameterized methods is
useful. I'm in the middle somewhere. Think grading transform naming is
wrong and misleading.
- Mark B: Current impl with DisplayTransform controlling where pieces are
dynamic had idea of limiting (gamma, exposure) adjustments. Maybe we need
more display transforms which ensure the knobs are in the proper place.
Do like building block transforms to replace need for LUTs.
- Kevin: Yes, low level ops to support this. Isn't it up to config author
to choose where to express the dynamic parameters? The way these two
features come together is what creates a risky area.
- Doug: Yes, there is a specific tag to make things dynamic.
- Mark B: New building blocks could be confusing. Grading transforms don't
have file to back them up.
- Doug: CTF format could be used.
- Kevin: Concern with these transforms is they are not standardized. Not a
big deal having additional transformations.
- J: BLG is a black box, but fills a need in industry. CDL doesn't do that.
We like fixed pipeline, and limited input to what can be changed. CDL has
been building block for this. Who makes and communicates these decisions?
How do we know what the right version for a parameter number is? Does
that fit into OCIO core concepts?
- Mark B: Would expect to being given CTF rather than a grading transforms
with dynamic parameters set.
- Doug: Wouldn't be handed config with dynamic parameters and expect them
to edit it. Understand the concerns, but don't see how grading transforms
are different from CDL in that regard.
- Mark B: The workflows it introduces are a big shift in the tool. If
someone adjusts in their config and send the config without those
numbers, there's an extra bit to account for.
- Kevin: If I got a config file with parameters that would be helpful. At
moment we get CDLs and stuff that should match, but they don't sometimes.
- J: The variability of these controls is something to help facilitate
re-baking LUTs. There's value in this, but our concern is this will
create dynamic version of this OCIO experience that is not intended. Can
forsee a future that used builtin grading tool that uses these transforms
and export that to handoff to studios, but would be a nightmare.
- Mark B: Or combining grading transforms in row. What will that mean?
- Kevin: Nothing stopping onset grading from baking out CLF/CTF files, so
not that different.
- J: Not sure if fix for these problems should exist in OCIO. Concern from
supervising standpoint that we'll have multiple versions of a color
pipeline, since it's no longer static. If Foundry opens up these tools to
artists for example, that would have big effect. Not what OCIO
foundationally supported.
- Doug: Distinction want to emphasize is that Nuke right now allows editing
CDL, but there is no way to insert that back into a config and write out
a new one. Would be same thing with grading transforms. Someone could use
this and save it, but would they be allowed to edit a config?
- J: Don't want people affecting the state of color. Shouldn't allow means
to affect that change, since that's not something we would do in our
workflow. Some industries may need this though.
- Mark B: Concern is that they can be put in config. Perhaps some parts of
OCIO are for DCC tools and others for rigid color pipelines. Not sure how
you can merge those things.
- Doug: What's the concern about transforms vs non?
- MArk: Transforms can be put in configs, whereas tools are for display.
- Doug: Use case was for these to be put in configs, with advantages over
CDL.
- Michael: The use cases I have seen are for supes to create CDLs for looks
in a review session, which can then be passed off and used in shots or in
the config. The implementation is specific to a custom tool, but not
something that would be exposed in DCCs. Not needing to rebuild shader
interactively a big gain for this workflow.
- Doug: Not a requirement for DCCs to make these editable. Don't see that
happening. Not likely DCC is going to browse a config, edit it, and write
it back out.
- Mark B: Not concerned about writing back out; more concerned about artist
changing stuff in display pipeline.
- Doug: Would be surprised if DCC allowed you to edit looks.
- Mark B: If you're a DCC author, there's a different track, but that
problem is unrelated to config author and those maintaining transform
hierarchy.
- Sean: your thought is then that OCIO should only take image to certain
point? If review tool did want dynamic parameters, it handles it on its
own and then hands off to OCIO. Seems like more room for error. Nice to
handle it in OCIO where transform is consistent. I see both sides points,
but final control of pixels is a bit exaggerated. Every DCC has exposure
and gamma slider. No concern that when I tweak those I am tweaking the
config. Imagining an OCIO display with two views, one with the canonical
look, and another called "editable". You would have tw switch between
them, allowing a supe to make creative decisions when needed, but would
require explicit switching between display chains. Don't see any
operation which would require editing the original config.
- Mark B: Not about editing the config; about expressing changes made when
editing.
- Sean: CDL-centric workflow for example. Would need to bake the changes
into a file (CTF) which could be referenced. Hard though since you can't
switch between dynamic and file transform. Like that this gives more
capability than what a CDL can, but am safe in knowledge that decisions
can be reproduced.
- Mark B: New file format can be designed by ACES to handle additional
changes. Just problem with live aspect.
- Sean: Natural extension of DisplayTransform. Causing more issues since
can be placed anywhere in config.
- Doug: The dynamic aspect is what seems to be most troubling. See that as
an implementation detail. There's nothing preventing an application from
editing parameters. The dynamic parameter is only there to allow doing it
interactively with GPU. Could bake out new transform continually. Whether
something can be edited is separate from whether developer uses these
tools.
- Mark B: A DCC author will implement it at some point.
- Doug: Most tools already have CDL transform.
- Mark B: But none allow you to edit it live.
- Doug: Dynamic feature there as a convenience. There because of exposure
contrast in viewing pipeline. That tag is there to say doing exposure at
front and gamma at back. Doesn't need to be there for grading parameters.
- Kevin: Can do dynamic functionality right now with search paths, etc. We
abuse that for CDL selection, an explicit choice.
- Doug: Thanks for the feedback. We have response for all of these. In
terms of written response, would you like answers in this doc, or in
separate doc?
- J: Separate doc is preferred.
- Michael: Will be good to share these topics and conversation with wider
community too, for additional input. We can continue this discussion
after we all have time to think through the concerns raised.
- **Update:** After the meeting, Doug provided a written response to the
ILM questions:
https://docs.google.com/document/d/1HeA9fJvrxAVoUQ3M1p8K3gAgd7cLkHUmChCoPfmyZvQ/edit?usp=sharing
* Items for next TSC meeting agenda:
- Overview of new PRs (1183, 1184, 1189)
- #1183 - Add operator << for FormatMetadata
- #1184 - Description in config files
- #1189 - Named color transforms
- CUDA support
+251
View File
@@ -0,0 +1,251 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
November 9, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] J Schulte - Industrial Light & Magic
* [X] Matthias Scharfenberg - Industrial Light & Magic
# **OCIO TSC Meeting Notes**
* Response to ILM questions:
- Doug: Wrote up answers for ILM, provided doc in last week's TSC notes.
Also created issue #1199 to facilitate discussion on topics.
* Overview of new PRs:
- #1183 - Add operator << for FormatMetadata:
- Doug: Making more convenient to access file format metadata from
python. Maps to `__repr__` in python.
- #1184 - Description in Config files
- Doug: Improved descriptions in config files. Cases where single or
multiline desc for color space, etc. Cleans up handling of those and
adds unit tests.
- #1189 - Named color transforms
- Doug: Issue #1101, discussed at August v2 wg meeting. Sharing slides
from wg meeting. How to integrate legacy transforms into OCIO.
Sometimes users just want to apply gamma or log-to-lin (with no
matrix). But want to specify them in OCIO config and access via OCIO
tools. Example: "Utility Curve/Shaper" color spaces in ACES config,
which are kind of broken (i.e. only a shaper if going to ACES2065-1).
- Add named transforms section to config. Authors can define these
transforms in that area. ACES config has these transforms,
represented as color spaces, but problematic if you're not
starting from the right color space. These curve/shaper color
spaces could then become named transforms instead.
- Apps could provide plug-in for accessing named transforms, or use
with ColorSpaceTransform or DisplayViewTransforms. They do not
show up in color space menus by default.
- In ColorSpaceTransform and DisplayViewTransform, accepted like
color spaces as arguments to these transforms. Would bypass the
"other half" of the conversion. e.g.
ColorSpaceTransform("Utility - Curve - sRGB", "ACEScg") -> apply
the named transform and consider the result as ACEScg.
- As mentioned in previous meeting, open to other proposals for
how to handle this, but nothing has been presented. Made very
clear that this is a hard requirement and want to do it within
OCIO rather than as separate tool. See issue and PR for more
info.
- Mark B: Not excited about it. Not part of config authoring process
so can't see how chain of operations ties together. Highlighted by
ACES config, which ref color space is ACES2065-1, but people want to
work in ACEScg, so problematic with the extra matrix and color shift.
What users have hard requirement?
- Doug: From users of thing like Maya and Flame, CG animation and
rendering, or finishing or compositing.
- J: More dangerous in those applications. Easier for UX, but breaks
fundamental rules of moving to color managed process.
- Doug: In big facility with color scientist, makes sense. A lot of
users don't have that. Proponent of the benefits of working proper
color managed way, but a lot of our users have not gotten to that
point yet. Looking in OCIO example configs repo, one is called
nuke-default, a Foundry config, made up of these sort of utility
transforms as well.
- J/Mark B: Legacy config, made to allow continuation of Nuke workflows
with OCIO. Just proof of concepts to get Nuke color management
outside of Nuke.
- Mark T: Just to replicate Nuke color management system.
- Doug: Not recommending this approach, just saying it's a reality that
a lot of people want to work this way. Because of legacy. Users 5-10
years behind state of art.
- Mark B: Talking about OCIO, not legacy workflows. Don't want to
enshrine these workflows, allow people to break the model.
- Carol: If not using the standard ACES config, using nuke-default, not
making own configs. If you're trying to get facilities caught up in a
non-disruptive way, this would be an ok way to do that since it's
saying what it is explicitly. Not getting unintended results. I Like
that.
- Mark B: Disagree. This is enabling people. Those that don't
understand color management are not are not going to be set right by
named transforms. Going to be enabled to work how they want and think
they have OCIO blessing. OCIO is an opinionated color management
library, not just a toolbox.
- J: Valid question, is there an appetite for something like this as a
guiding path? Love to get input on that. Everyone has valid point of
view, but as a whole, what is the missions statement here? Are we
willing to compromise OCIO principles, or are there decisions and
workflows we want the industry to move into?
- Doug: To clarify, think its clear users feel a need for this. It's in
the ACES config for a reason. Not that we're encouraging this, just
calling it what it is. Right now masquerading these as color spaces,
but they aren't. Reality that some want these and we should not call
them color spaces. If you're worried about encouraging this behavior,
I don't see that. See it as making it clearer to people how to do
color management. If you say we don't want you to use named
transforms, clear way to talk about the scenario. Don't want to frame
the question as: is this a good idea for color management? Most on
same page to not recommend it. If they are going to do it, and ACES
config has it, and should be called what they are.
- Mark B: Color spaces are a simplification to allow talking about
OCIO. Just a block in chain that joins images together.
- Carol: Should be explicit though, call this what it is, not a color
space.
- MArk B: Increasing complexity with little benefit.
- Matthias: Sort of agree with Carol. Agree having them in there as
first class citizen potentially perpetuating workflow and simplistic
interpretation of color management to avoid. Don't like to
compromise, but if have to have it, see benefit of it being explicit.
- Mark B: Who needs it other than the config author? If you're the
author you know where you need to_ref and from_ref. Current toolkit
not complex and solves all these problems without extra level.
- Carol: Another group pf people sit between authors and users. Those
that don't have someone to write config for them and need to
understand the config. This would aid those people and it's a big.
Not everyone can be a config author, requires skill not all have.
Need to support them.
- J: The question is what is OCIO, who does it serve? A lot of that
user experience is driven by applications that use OCIO. What do we
want to enable those workflows to be like in OCIO. If there's a need
for these, that's a thing. But does OCIO have an opinion about this?
Or do we sacrifice some of that to give users accessible use of OCIO?
- Matthias: Look at it from different point of view. Having transform
is one thing. Doug, any idea what would look like when presented to
end user, in say... Nuke. OCIOColorSpace node would not have this.
Doesn't fit there. Would it be a separate thing? Just an OCIO
transform or legacy transform?
- Doug: Will vary based on application and task. For example, if
importing something into proper color managed env. If using Maya and
ACEScg as rendering space. May want to bring something in and call
it ACEScg, but you're not sure what the original texture is. Don't
have info so going to apply inverse gamma curve and call it ACEScg.
Same workflow as textures where you do know color space. May have
other scenarios where want to apply transform itself like
FileTransform.
- Kevin: If I know how to read config, and just want to get transform,
this is a convenience. File transforms don't encapsulate all new
transforms, so harder to put this in file.
- Mark: Config author could do that.
- Kevin: Convenience for mocking up a config, but once done, not have
it. Could create separate Nuke node with obscure name for special
use, but not to be used by default.
- Matthias: Feels like amalgamation of old Nuke 1D input color space
for read node, and the new ability to use specific color space. Feels
like jamming those two workflows together. Could cause confusion down
the line, if you have color managed workflow.
- J: From user perspective, having one thing that does full transform,
or one that does just the 1D path, does this make it harder for
people? User may not know what the differences are. Are we making it
harder?
- Carol: Like the analogy of using this in place where would have used
FileTransform before. As simple as that.
- Mark B: Who uses raw file transforms though? If this is just a
shortcut to a 1D LUT.
- Kevin: If it was just 1D LUT, no point, but encapsulating other
transforms has more benefit. Have a lot of users who will try to
decipher how to get between two images. Would be handy for that. Once
you figure it out, put it into color space.
- Carol: For many users, try in Nuke to figure out what happened, get
to place of confidence of where they are at, and work on image.
- Doug: A lot of people on OCIO/ACES forums that don't understand how
OCIO config works, but in positron of having to use it to solve
problems. Think there are a lot of those people out there.
- Matthias: Maybe needs clear distinction that this is not a color
space, with no to and from ref, just forward or reverse with name.
- J: How do you solve this without offering up these workflows. At
least gives them something over nothing.
- Mark B: Just documentation, teaching how to use it. Adding named
transforms not going to improve that.
- Doug: Don't see how to solve this with documentation. Would need huge
number of color spaces, for this audience who aren't config authors.
If these are color spaces, would need every possible combination of
color space and non-linearity. Another workflow is unfortunately that
some apps allow a color transform where you specify independently a
matrix and a non-linearity. Can create a lot of trouble by mixing and
matching weird combinations. Sometimes people get things from these
other software. Nightmare to include every combination, but with
named transform, have way of undoing what had been done.
- Carol: Seems like added complication, but could look at it as
building block of step in direction of where we want to be. More
educated users knowing what they are doing in color managed scenario.
Until we get to that point, could view this as interim. Helps to
teach and educate. Like in ACES gamut mapping wg, all agree it's not
ideal, but we have to do what helps.
- Mark B: Having multiple named transforms to reconcile error from
another user. Are you anticipating a user assigning multiple named
transforms in Maya UI, or still picking single transforms from named
lists. If the later, still at mercy of config author, at which point
it's just a doc or training session to explain choices.
- Doug: Tried providing combinations in SynColor, many options, huge
list of matrix and log-to-lin combinations and nightmare to deal
with. Not desireable way of solving the problem.
- J: Does TSC have a point of view on what color space interaction and
user experience should be.
- Michael: Think that's an important topic for discussion. Created
issue #1174 for UX discussion where some of this could be determined.
- Kevin: What I really need is a Nuke node, op builder, to put ops in
a row.
- Michael: Suggested a GSoC project to create OCIO GUI last year for
exactly that reason. Would be awesome to have visual method for
authoring configs.
- Let's bookmark this conversation for next week. Gives us time to
think this through more and can follow up to make an agreement.
* CUDA support:
- Doug: Larry brought up topic about CUDA support, pressing issue for
OSL and a number of CG rednderers.
- Michael: We should follow up with Dennis about his OpenCL renderer. Could
perhaps influence other GPU compute implementations like Metal, Vulkan,
etc.
- Mark B: Think this need is dying, since we now have OpenGL compute
shader.
- Michael: CUDA requirement might be tied to OptiX. Could also explore
tools to emit to multiple APIs. Spir-V.
- Mark: Spir-V builder needs large dependency graph, needs LLVM. Not stable
dependencies.
- Patrick: Something to keep in mind. A lot of effort in current impl to
not have direct OpenGL dependency in core. Clear distinction between core
and shader language. Try to keep that. Advantage of OCIO.
- Michael: Could be like OIIO which has plugins depending on optional
dependencies. More ideal to only depend on runtime though.
- Mark B: Windows has HLSL, Mac has Metal. Don't want to support all that
stuff in the GPU impl. Emitting HLSL on Linux, etc. Could have call to
get native shader code.
* Misc:
- Michael: Please have a look at my question in PR #1197 about workarounds
to support Python API docs on RTD. somewhat controversial choices so
would like input. Also to TSC, please have a look at the ASWF survey
questions. Could use some input on multiple choice answers.
- Patrick: New API docs very helpful. Built branch locally and looks good.
- Mei: Pavel, engineer from SPI starting using OCIO v2. Provided feedback
that overall very happy. Performance is faster, and has not been any
issues. Happy with it. Can get more feedback if there's specific
questions for him.
* Items for next TSC meeting agenda:
- Continued discussion on named color transforms.
- Follow up on AD response to ILM feedback and questions.
+100
View File
@@ -0,0 +1,100 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
November 16, 2020
Host: Doug Walker
Rotating Secretary: Carol Payne
Attendees:
* [x] Mark Boorer (_TSC_) - Industrial Light & Magic
* [x] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [ ] Michael Dolan (_TSC Chair_) - Epic Games
* [x] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [x] Carol Payne (_TSC_) - Netflix
* [x] Mark Titchener (_TSC_) - Foundry
* [x] Carl Rand (_TSC_) - Weta Digital
* [x] Doug Walker (_TSC Chief Architect_) - Autodesk
* [x] Kevin Wheatley (_TSC_) - Framestore
* [x] Bernard Lefebvre - Autodesk
* [x] J Schulte - ILM
* [x] Matthias Scharfenberg - ILM
* [x] Larry Gritz - SPI
* [x] Aymee Kennett (Yeh) - Netflix
Apologies:
Michael Dolan
# **OCIO TSC Meeting Notes**
* Named Color Transforms - Continued discussion
- Doug: Patrick, Bernard and I have been discussing the feedback and how to respond. We have made it possible to turn off the NamedTransforms - similar to an environment variable. Config author/ dev would be able to control whether or not the feature is visible to the user. Bernard has pushed that commit to the PR so it should be available for viewing.
- Mark: on/off isn't a true solution - we don't want to fracture the community. The opposition was because we felt that NamedTransforms opposed the way we want OCIO to work.
- Doug: would be interested to hear alternate proposals.
- Mark: the solutions already exist - you just have to utilize your working space as your reference space.
- Doug: Not everyone is going to be solely using the working space of the config.
- Mark: You design your config based on your requirements for your work. Having different in and out colorspaces is not how it's defined to work.
- Doug: We can't expect everyone to have a separate config per working space. Even a difference between rendering space vs. compositing space. Thinking ahead to the studio config as well, it would be ideal if this workflow was easier to implement.
- Mark: But ACES is trying to be the single working space - and should be for the future.
- Carl: WETA works in a different compositing colorspace than rendering space, for example.
- Matthias: verifying that we're talking about NamedTransforms that are basically a transfer funtion or something similar? So you don't get the matrix transform that you would get by using the colorspace which goes through the reference space as well? It sounds like a "trapdoor" in the color management system.
- Kevin: I didn't see it quite that way. Instead of performing a 2-sided transformation, it's a 1 sided.
- Matthias: but isn't that not how OCIO is designed? That you need to go through the reference? This becomes like a "transfer function toolbox" for debugging, design, etc. Could be handy but don't see how it ties into the OCIO ecosystem itself.
- Kevin: Are we talking about something that a DCC needs access to? Or just a toolbox of options.
- Doug: So we wanted to clarify this by not calling it a colorspace - it's a NamedTransform. The ability to define a transform rather than a colorspace.
- Mark: will you see these in say, the list of options to load a texture in an application?
- Kevin: Are we just missing some UI/UX design features? Do we need an OCIOTransform op? Would that accomplish the same thing?
- Matthias: the concern is that this really offers a trapdoor - an exit from the color managed worflow - what happens when you don't know where you're coming from or where you're going?
- Mark: Still don't understand who the end user is here - seems to be config authors, but config authors already know how to do this correctly.
- Doug: we have received feedback that this feature is a requirement. From multiple users / DCC authors. Not everyone knows how to write a config
- J: but if we think to the future, and if we can help users move forward to a correct color management workflows, that a lot of these requests would be moot?
- Doug: a lot of users don't understand/want anything more than a 1d linear/log workflow - but still need to be able to connect into a color managed world.
- Mark: I don't think you can have it both ways.
- J: Is the concept of what we're trying to get out of this enabling workflows that go against the "correct" OCIO usage? Does this matter - or are we just providing ways to work to DCCs to use it as they will.
- Carol: Is there a middle ground? We want people to graduate to color management, and if this is a feature that's been requested, wouldn't we rather enable them to move forward into OCIO?
- Mei: what transforms are we talking about that couldn't be expressed via an OCIOFileTransform node in Nuke?
- J: Worried about introducing this potential for breakage in already complicated pipelines and worflows.
- Doug: tools already have this, what's the opposition to having it in OCIO?
- J: We try to operate solely in fully color managed workflows, and introducing this throws a wrench in those workflows that requires additional support and tracking and awareness. Should OCIO be setting the standard and authority of good practices, or is it solely middleware at this point?
- Doug: It's a complete color management solution. I feel that if it's going to be complete, it can't only be state of the art, as practiced by the best. We need to make it applicable and achievable to all. There's an expectation that workflows that have existed still exist and there is a broad user base we need to support. We need to be realistic.
- Carol: there's a huge group of people who have been working the way they are for years, who might not benefit at all from changing their workflows.
- Mark: the rest of the line in the documentation is - geared toward the motion picture industry for visual effects and animation.
- Doug: visual effects is a very big industry - learning the craft through youtube without guidance. A number of these features are indeed broadening the scope of the original OCIO features. I don't think that is uncommon as projects grow, their user base expands, and needs change. Michael and I tried to start this earlier in the year when we updated the mission statement. We feel we've been very clear in our participation in OCIO - which is to suit the needs of a wide range of visual effects and animation artists in every area. We used to have two color management systems - we are trying to have one system to meet all of the needs.
- J: Thank you, that's very clarifying.
- Doug: I don't know where this leaves us, we have a few more things to discuss.
- J: would love to think about this and regroup.
* RC1 or beta1 tag:
- Doug: we are fine with beta1 instead of rc1.
- Mark: Good with that.
* CUDA implementation followup.
- Doug: We talked about this last week, but missed the intent of Larry's original question - so he's here this week to help us understand his ask for OSL and other renderers.
- Larry: Traditionally OCIO functionality has been in 2 directions - using interactive graphics APIs to color correct a display. Makes sense for this to be OpenGL. But there's a 2nd interface callable from c++, which we use in OSL which do arbitrary transforms in shaders that we need at the time, as long as it's in the config. Trick here is renderers that take advantage of that are switching to CUDA based implementations - want to figure out how to continue to access this functionality in the new CUDA world? Or is this not something these libraries will continue to be able to use OCIO for? It's not uncomplicated - there has to be a directly accesible implementation for CUDA.
- Mark: So added functionality to the API to get a CUDA callable alternative would this solve the problem?
- Larry: CPU based c++ app launching CUDA kernels. Can the CPU app ask for the correct CUDA version to pass for the shader - think this would be fine. Just want something - get a handle to a CUDA callable transform.
- Mark: only thing we have now is the GLSL "get me a shader". Another API call where you pass in CUDA instead of whatever, that would work? Either texture source or byte code?
- Larry: either is fine.
- Mark: Textural source would be much easier.
- Doug: Issue with the GPU is how to get the texture onto the GPU.
- Patrick: Yeah it's a big blob of data - the texture that you have to get onto the GPU. The structure is there to be able to generate the CUDA code. There are two APIs - one that's openGL oriented, the other that just takes what it needs to do.
- Larry: CUDA has similar texture lookup to what you find in OpenGL.
- Patrick: Dynamic properties are another functionality to consider.
- Doug: Yes, how would you do uniforms?
- Larry: Not sure, will find out - but not critical right now.
- Mark: Imagine it's there, values you can tweak on your shaders.
- Larry: There are assumptions it makes - numbers you can't change without regenerating the shader. But it's not the primary concern right now.
- Mark: should be doable - just need someone to do it. There's not a lot to change, it's just annoying - go through every transform to add the CUDA implementation.
- Larry: good news is CUDA is basically C++ with decorators.
- Patrick: Another thing we have are helper functions - still C++ but soemthing to consider. It's a function in the shader.
- Mark: so the hooks in the shader where you're expecting user input?
- Patrick: No, at the intitial generation. A shader might use another method to call to perform a function - it's a subfunction.
- Mark: Ah, so it's like a standard library of things you can use in your GLSL.
- Patrick. Yes, so we're not repeating a bunch of code.
- Doug: to summarize, the current API would support CUDA, but it would be a fair amount of work to implement - we have an issue open for it now, looking for volunteers.
- Doug: thanks everyone, there's a configs meeting tomorrow, make sure you check the times!
+153
View File
@@ -0,0 +1,153 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
November 23, 2020
Host: Michael Dolan
Rotating Secretary: Doug Walker
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Deke Kincaid - Digital Domain
Apologies:
Mark Boorer
# **OCIO TSC Meeting Notes**
* ASWF Survey:
- Michael: Our part of the ASWF survey includes a question "Are there any
areas of color management that OCIO is NOT helping you with?". Is there a
way to make this multiple choice to fit with the rest of the survey?
- Carol: I would remove if it needs to be multiple choice. Don't want to
seed responses. Michael, Doug, Kevin: agree.
- Kevin: Also don't want to imply we are thinking about adding something
that we actually are not.
- Michael: Will try to keep it as an optional write-in.
* Documentation Update:
- Michael: Hoping to wrap up PR #1197 in a few days. Adding the part to
handle Python that we discussed previously. Basic issue is that RTD does not
allow us to use cmake and build. Implies Python needs to be pre-generated and
"frozen" into the repo. Also implies Doxygen needs to be run via Sphinx rather
than cmake.
- Michael: Not happy with how complicated the solution is but until RTD
supports cmake, will need some kind of solution like this. The process of
generating and updating the documentation will itself need careful
documentation.
- Doug: Thanks for working on this Michael!
* Review of Current and Upcoming PRs:
- Doug: We've pushed several PRs in the past week: #1208, #1214, #1215.
These are all either minor clean-ups or bug fixes. The most important is #1215
since it fixes a bug reading v1 configs that use "interpolation=unknown" in a
FileTransform. We view this as a critical bug fix and would like to merge it
before placing the beta1 tag. Does anyone object to us going ahead and merging
this one now?
- Michael, Mark, Carol, Kevin: Yes, merge #1215 immediately. (No one objected.)
- Doug: We will go ahead and merge it and then place the "beta1" tag
discussed at the previous TSC meeting.
- Doug: We have two more PRs that will land this week. First is related to
Issue #1155. In that issue I proposed cleaining up the CDLTransform API. We
have done that and moved the parsing and serialization code out of CDLTransform
and put it in the FileFormat modules, to be more like the other formats. We did
not go quite as far as I had proposed in Issue #1155 in that we did not remove
all the mentioned functions (although the name of one was changed to clarify
what it does). Also, we moved the write method from the Processor class to the
GroupTransform class.
- Michael: Why move the write method to the GroupTransform?
- Patrick: It allows for more flexibility, don't need to create a Processor
in order to write. No functionality is removed, one may always get a
GroupTransform from a Processor.
- Doug: Note that this was not in v1, so moving it will not break any
existing apps.
- Michael: Is there a case for also leaving it on Processor so that it's
more discoverable?
- Patrick: Metadata may be lost when a Processor is built, also some
spurious items may be added (Allocation, etc.). Having it on the GroupTransform
is a better design, allows one to write exactly what is intended. It's more
deterministic.
- Kevin: If the worry is about making it discoverable, that could be done
via documentation rather than leaving it in the Processor API.
- Michael: Yes, and it could also be confusing to have it in both places
giving somewhat different results.
- Doug: The other PR landing this week is a move of the AppHelpers modules
into the core. This is following up on the TSC's request to move it from a
separate library into the core. The goal is to avoid needing two OCIO libraries
(for Linux distros, etc.).
- Michael: What about the OIIO and OGL helpers? Patrick: Those remain as
separate. Really don't want to bring those third-party dependencies into the
core library. AppHelpers adds no third-party dependencies.
* OpenEXR 3.0
- Michael: Their v3 is on the way. Pulling from top of tree may break
downstreams. We pull from most recent tag, so not impacted yet but will be
soon. Currently we do some special stuff in our cmake since the only thing we
need is half.h. This could probably be improved based on their refactoring.
- Patrick: This dependency is not in our public API, but agree it will
require some updates. Could be a good first issue for someone.
- Doug: Michael, would you create an issue on GitHub so it has more
visibility? Michael: Yes, will do.
* Open Tasks Needed for OCIO v2
- Michael: Wanted to discuss some of the remaining items. Mei, where do we
stand with the Python unit tests?
- Mei: The Transforms is the area that needs the most work. Would also like
to centralize more.
- Michael: If you need help, reach out. Don't want you to feel like this is
all on your shoulders. Mei: Will do.
- Michael: On the documentation front, where are there holes? Is it all
documented in the GitHub Project?
- Carol: We don't have Issues created for everything. There are still some
items in my head, and Doug's too probably. We have been trying to onboard new
contributors. Have received some great assistance from Zach. We have some
tasks that would benefit from having a sample v2 config, but not blocked by that
yet.
- Doug: Another important task is making OpenFX plug-ins for v2. We have a
student who has volunteered to help with this but he is having trouble getting
the example plug-ins from the OpenFX SDK loaded. He's tried Natron but the
plug-ins are not loading. Not sure if it is a problem with what he's built or
in Natron. Once he gets the plug-ins loading in a host, Patrick and I could
help him with the OCIO part but is there anyone that could help us get him over
this first hurdle of getting some example plug-ins to load? The student has
posted in #dev on Slack asking for help.
- Michael: Mark, OpenFX was originally a Foundry initiative, right? Is
there someone on your team that could help?
- Mark: I will check. Also, once the plug-ins are ready to test, we could
help with that too.
* Items for next TSC meeting agenda:
- Doug: The Named Transform will soon be a blocker for us. Need to get to a
resolution on that. Also, would like to know if our reply to ILM's memo
addressed their other concerns.
- Michael: I have put Named Transform on the agenda for next meeting.
Carol: Could set a goal to resolve it.
- Patrick: The end of the year is rapidly approaching and in the roadmap
presentations we showed releasing a v2 library at year end. Need to make rapid
progress.
- Michael: We may need to settle for just having the release candidate done
by then. Would like to have more feedback before the final release.
- Doug: Agree. I'd also like to have a discussion around the categories feature.
The code was added a long time ago but we still need to have the discussion
around what are the recommended strings. (These are the strings that allow apps
to filter the list of color spaces based on the specific menus.)
- Deke: Sounds good, we're excited about that.
- Carol: Yes, I'll also put some thoughts on GitHub prior to the next live
discussion.
- Doug: I'll create an Issue for the category naming.
* Documentation Meeting Schedule
- The group decided to cancel the documentation working group meeting this
Friday due to the Thanksgiving holiday in the US.
+213
View File
@@ -0,0 +1,213 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
November 30, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [x] Bernard Lefebvre - Autodesk
* [x] Deke Kincaid - Digital Domain
* [x] Joseph Goldstone - ARRI
* [x] Matthias Scharfenberg - Industrial Light & Magic
* [x] Nick Shaw - Antler Post
* [x] J Schulte - Industrial Light & Magic
* [x] Alessandra Tomassi - Industrial Light & Magic
# **OCIO TSC Meeting Notes**
* Doug to recap goals of OCIO v2 and relation to OCIO mission:
- Some recent discussions about controversial topics. Thought it would be
useful to recap what we're doing with v2 from AD point of view - clarify
motivation for some of these new features. As written in origin proposal,
goal is to be able to use OCIO across apps more broadly, and to rely on
it entirely as our color management system (CMS). We would like to
standardize on OCIO across apps. Need OCIO to do a variety of color
management tasks. When thinking about how OCIO is used, there's color
space based transformations (OCIOColorSpaceNode, etc.) and other
operations which are more ignorant of color spaces (OCIOFileTransform,
etc.). In ideal world, only the former would exist, since it requires the
least knowledge from user. Reality is though there is need for people to
apply independent transforms, in apps where it's expected the user knows
a reasonable amount about color management (e.g. Flame - users know how
to load a LUT and apply it). Don't want two separate libs for applying
LUTs. For things like dynamic properties and NamedTransform, it's more
the latter case, using the same CMS to apply the independent transforms.
We aren't trying to change the existing config way of working - very
supportive of that workflow. Don't want to enable people with ability to
edit individual transforms in a config to edit look of a config.
- Mark B: Caught up with Doug offline to discuss. The way Doug describes it
now, it makes sense. Objections were based more around how these features
would map to configs. Some of the objectional features don't map to
configs, so we're ok with that.
- Deke: Really useful for tools like Nuke, where you have to jump over a
wall to implement things differently based on what workflow you are
doing. Would be nice if Foundry could have one code path instead of two
separate ways.
- Mark T: Agree. We would like that too and hope to standardize on OCIO in
Nuke and across products.
- Doug: Would be helpful to write whitepaper to try to establish best
practices. Sometimes we have people who are asked to implement color
management but are not color management experts, and implement without
being aware of best practices. Think having something that documents this
more extensively than current docs would be helpful. Hope TSC can focus
on this once v2 is out. Help people understand color management and
implement it correctly.
- Deke: Any support for deep merging of multiple configs?
- Doug: There is a way to convert between multiple configs in OCIO v2. USD
for example could reference one scene config, and import an asset using
another config. We added a processor command which can convert between a
known color space present in both configs. Looks for these two roles that
have been added which act as an interchange. Also added a version where
you can provide your own interchange (common color space used across
studio).
- Deke: No way to merge two configs though? To support vendors having
configs which inherit from each other.
- Doug: No.
- Mark B: Any use case where you're trying todo that?
- Deke: If vendors could have their own internal config and add it on top
of yours. You could add it above or below and merge them together and
have access to those transforms. Also for MaterialX, USD, etc. Point to
someone else's config to get transforms without cleaning up and
ingesting.
- Mark B: Need to use the solution Doug describes since you don't know if
the two config are compatible.
- Deke: Could also be a studio vs show level config.
- Mark B: We have same thing, facility, show, shot. We merge them through
custom sanitizing tools.
- Deke: Same. Inherit from ACES config and build on it.
- Mark B: Might put out another doc to clarify what was discussed with Doug
offline. Might be more to discuss but inconsequential compared to other
stuff.
* Named Color Transforms - Continued discussion:
- Michael: Is this topic still up for debate? Or was it resolved through
offline discussion?
- Mark B: Didn't cover this topic. Still up for discussion.
- Doug: We implemented ability to make NamedTransforms inactive. Commit
pushed to existing PR that does this. Zach proposed alternative way to
make them inactive. I replied that we are open to implementing that
instead of or along with what was done. His idea was to use env var to
disable named transforms all together, instead of treating them as
inactive color spaces where they are disabled one at a time.
- Michael: Could be good to have a config attribute in that case too since
the env could be cleared accidentally when shelling out to a process.
That would prevent it in a persistent way. Like how active displays and
views are handled currently, with env var or config property.
- Doug: The individual inactive flags are persistent, so can be used in
that way.
- Michael: Does that answer ILM concerns?
- Mark B: Our concern is feature itself, not the implementation. And how
it's exposed inside of tools. Does processor take NamedTransform
constructor?
- Doug: Would call getProcessor which takes generic transform, and pass
in NamedTransform. Same approach as using FileTransform.
- Mark B: Based on conversation earlier, don't have strong objection. If
intent to enable DCC to expose individual transforms where they won't get
confused with other transforms.
- J: Yes, and this is progress on previous discussion. With beta going out
and implementation being considered, need to get standardized view on
implementation.
- Mark B: In terms of enabling/disabling, like active displays/active
users, sounds reasonable.
- Carol: As aside, another useful case Matthias and I were discussing. This
would be the perfect vehicle for the ACES gamut compression transform.
Would be nice to be able to do that separately, in ACES config. Fits
nicely.
- Mark B: One point we discussed. Two very separate use cases for OCIO. One
we're trying to defend is config author creating black box, being
represented properly. Second use case with graph and a skilled artists
making decisions with toolbox of consistent math. In terms of first
users, don't see much use for NamedTransforms. Can see benefit for second
group of people though.
- Michael: Use of NamedTransforms could be covered in Doug's proposed
whitepaper too.
- Nick: Would that be a separate node in Nuke?
- Mark B: Think so
- Mark T: Yes, think that would be the case.
- Michael: Wanted to propose we form a UX working group to discuss these
topics and forming standards for OCIO v2 implementation in DCCs. We could
transition from the doc working group to that. If anyone is interested in
helping lead that, please reach out.
- Others: Agree.
- Deke: ACES has own UI rules, could collaborate between projects.
- J: Don't think OCIO UX being involved with ACES is good fit, since there
are workflows that don't involve ACES.
- Doug: As config working group moves forward a lot of the same questions
are going to come up. A lot of questions from initial config discussion
was on things like naming and interface.
- **TODO**: Michael will help organize a UX working group.
* Categories discussion (Issue #1222):
- Doug: At last TSC meeting talked about this. Created issue #1222. Trying
to collect a number of new features and discussions on how color spaces
appear in application menus. Motivation is the new categories attribute.
Hadn't gotten to the list of proposed categories, or sorted out how we
expect applications to use this. Want to make sure we're all on the same
page in case tweaks are needed to get this working as expected. Proposed
some tweaks in the issue. One of the things that came up in v2 working
group meetings was request from people that they want to specify, from
studio perspective, env vars to filter color spaces for artist
groups, like compositors, lighting artists, modelers, etc. Different from
app developer point of view with different menus for tasks. Proposed both
use cases and something which could work on both ends. Want feedback on
whether I've captured this correctly. See issue content:
https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/1222
- Kevin: Have existing concept of roles. Fixed set of assumed roles plus
extended set. How would we choose to filter those with this. Nuke now
shows roles in menus, and would be good to filter those as well.
- Doug: App helpers code has setting to show roles or not.
- Kevin: Want users to find the roles they want to find. Artists trained
to use particular roles for certain tasks.
- Deke: Mari has roles listed too, and has its own roles.
- Mark B: Intention for roles was just to make sure basic color spaces were
there. Roles have been misused since then. Don't think roles should
appear at all in menus.
- Deke: Like roles there, but need to filter them.
- Mark B: Category system is powerful. If DCCs have prefs as to what
category might be associated with a dropdown (i.e. texture in Maya). DCCs
can assign categories to UI elements and only show those. Don't think
this should be OCIO-wide env var. Should be per-DCC.
- Doug: Yes, would be fixed for certain menu. Specific documented category
so config authors know what an app uses.
- Mark B: Could end up with overlapping categories. If up to user they
could define that themselves.
- Doug: Proposing standard categories to encourage consistency, but doesn't
need to be limited to this. The key part is there is a set pre-defined to
an application. So Maya would say what categories it's using for different
menus. There is another set that is end-user defined and would expect to
find those at runtime.
- Mark B: What if you have both types of categories?
- Doug: Then would use the intersection. So for texture, you could have
file-io intersected with an end-user environment variable (basic-3d etc.)
- Mark B: If either is empty, defaults to other?
- Doug: Yes.
- Mark B: Would make these categories configured by the config author. DCC
authors would allow users to customize the category names, or fallback on
the default list.
- Carol: Something to fall back on is good. Most people just use defaults.
Don't have a problem with proposed options.
- Mark: Defaults from DCC (as documented) is fine. Want to avoid problem
with roles where categories are inconsistent between apps. If all left to
user can be very explicit.
- Michael: More topics for discussion at UX group.
- Mark T: Agree. Highlights importance of best practice to show how things
are intended to be used. Developer may not find the right thing and use
something outside standard use. UX stuff really important.
- Mark B: App helpers has concrete implementation for reference.
- **TODO**: All: Read through issue #1222 and provide feedback there or in
next TSC meeting.
* Items for next TSC meeting agenda:
- Finish discussion on standard categories.
+141
View File
@@ -0,0 +1,141 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
December 7, 2020
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Nick Shaw - Antler Post
Apologies:
* Mei Chu
# **OCIO TSC Meeting Notes**
* Doug to summarize in-progress work:
- Doug: With regard to categories, looking at issue (#1222). Idea to
improve app helpers code to implement improved category mechanism.
- Other work in progress:
- Color space alias mechanism. Seemed to be good consensus on this
being helpful.
- Improve list of builtin transforms in support of ACES.
- Various bug fixes.
- Michael: Any feedback so far on OCIO v2 testing?
- Doug: Not as much as we would like - a risk factor on release. Wondering
what we can do to improve that situation. Draft PR for OFX plugin arrived
yesterday. Still ways from being done, but could get us more testing upon
completion. Chicken and egg situation.
- Michael: Any studios here tested it out?
- Kevin: Not that I'm aware of [at Framestore]. Have used commandline stuff.
- Michael: Might be worth starting ocio-dev thread to invite people to beta
test. Could mention what needs feedback and provide more details.
- **TODO**: Michael and Doug will draft ocio-dev thread to reiterate beta
testing.
- Mark T: We have started testing it, but off for break. In new year will
hope to have something. End of January-ish.
- Kevin: Talked to Nigel about work done there so far. Suggested demoing
the work for the TSC.
- Michael: We're happy to set up a Zoom meeting if that's helpful, to give
feedback. Will help once we have UX working group up and running.
* Frozen doc generation platform differences and difference threshold:
- Michael: See PR #1197 for explanation, but faced challenge with frozen
docs differing between platforms, due to subtle naming differences from
the C++ side. Implemented fuzzy matching to pass/fail CI based on
difference threshold, which isn't ideal, but will work for now. Should
probably limit freezing to Linux builds only since that's what RTD uses.
Any objections to the current RST freezing workflow?
- Doug: May impact developers. Have to build docs and run python 3 to pass
CI.
- Michael: True. Alternative solution was to store CI build artifacts in an
S3 bucket and download those during RTD build, but current ASWF S3 bucket
is not public and requires secrets to access. Would need another setup.
- Mark B: Good first step to get in the door. Good for now. Not such a bad
thing.
- Doug: Huge step forward in process. Have looked at review. Think we
should merge it, and do follow ups.
- **TODO**: Michael to talk to Lf and/or RTD about plans for future
CMake/compiler support. Would remove need for these workarounds.
* Categories, continued discussion (Issue #1222)
- Doug: To summarize, we're proposing making the 3 changes listed in
summary of issue #1222.
- Doug: Documenting these initial categories would not be part of the
initial PR. any questions?
- Kevin: The names we give these things have to be really bulletproof about
what they mean, or leave it up to the apps to tell us what to look for.
Would make is straightforward to link apps and config. May need default
set of terms, but need to be careful to say what they mean.
- Doug: If we don't companies will come up with their own and could make
the list much longer if everyone has different name for same thing. Will
be differences between apps, so not clear cut.
- Carol: Can we reach out to some subsets of apps, Foundry, AD, and others
(Black Magic) and ask what their preferences would be?
- Doug: Proposed these from an app point of view. These three seemed like
they would be common menus. Proposed starting point.
- Carol: Would be worthwhile to show to Foundry and others.
- Mark T: I can show this and discuss internally.
- Mark B: We could agree on the categories, but the list is large and some
are not represented in this meeting. Felt that empowering users to always
set it is the only answer. Would allow all needed workflows; up to config
author if they want to tag them as disciplines or tag based on
functionality.
- Carol: What would we do for ACES studio config?
- Mark B: That will come up in that working group discussion. Should expect
the default case to be a user telling a DCC what category is assigned to
what drop down menu.
- Doug: That would be the ultimate in flexibility. Does impose more work on
app vendors - that customization, and not everyone may do it.
- Kevin: If we had that and same default terms. Would need map between apps
and what they need to know about. Also other cases where rules were used
in past. Becomes open ended at some point. Sometimes we have SG task or
process step that tells the app why the user is loading it: tracking,
lighting, etc. In that case, doing it in one config would be difficult.
- Mark: If you want artist based workflow, tag those, but still up to app
to associate the tags with menus. Need app preferences of which category
to assign to specific menus.
- Kevin: That's almost a different table of mappings.
- Mark: Or a different config per DCC, which we would likely not have.
- Doug: In terms of proposed code, app helpers implements possibility to
pass in two categories and do a join/intersection. Initial PR doesn't
need to sort out question of recommended categories or not, or if users
should be able to customize menus. Talked about UX working group, that
would be a topic to wrestle with.
- Mark: Current proposed work seems fine and mergeable then. Would be great
if working group result would be PR into app helpers. Already a place to
point to for DCC authors to buy into. Almost outside our scope,
encouraging apps to save these options.
- Michael: We have one volunteer to lead the UX group, but would like to
have a second to balance the work. If anyone is interested place reach
out.
- Carol: Definitely want to be part of it.
- Kevin: In response to Zach's comment in issue: Not sure I'm enamoured by
the suggested do-not-use approach. If going to have a feature it should
be explicit.
- Doug: Will make PR and have concrete stuff to review. For purposes of
docs, what we can take these menu and artist categories and include them
in docs as examples. Make it clear it's open to what users want.
- Carol: Agree.
- Doug: Can use OFX plugin as prototype. Can have field in plugin for
categories to use, and users can type different things. Can anyone
provide some help on this OFX work? It's an important step for
testing.
- Mark T: Spoke to some at Foundry. Many involved in OFX no longer there,
but some could help with specific questions. Reached out to contributor
after previous TSC meeting about build issues and got that fixed. Tried
examples on my end and worked fine. Just had bad flag. Definitely
potential for help from engineers at Foundry.
- Michael: I can help with guidance too. I'll have a look at the PR.
+148
View File
@@ -0,0 +1,148 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
December 14, 2020
Host: Michael Dolan
Attendees:
* [ ] Mark Boorer (_TSC_) - Industrial Light & Magic
* [X] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [X] Carol Payne (_TSC_) - Netflix
* [ ] Mark Titchener (_TSC_) - Foundry
* [ ] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Alessandra Tomassi - Industrial Light & Magic
* [X] Thomas Mansencal - Weta Digital
* [X] Matthias Scharfenberg - Industrial Light & Magic
* [X] Joseph Goldstone - ARRI
Apologies:
* Mark Boorer
* Mark Titchener
# **OCIO TSC Meeting Notes**
* Doug to summarize in-progress work:
- Doug: Have PR in progress about moving app helpers to core, and for
category updates described in issue #1222.
- Current PR for small BuiltinTransform changes. Much larger PR in
progress - adding remaining ACES transforms.
- CDLTransform cleanup PR is ready to be merged.
- Maya beta going out with preliminary OCIO v2 integration. Not on
by default - needs environment variable. Very preliminary, missing
stuff, but felt it was important to get it out as soon as possible.
We're worried it's not being tested enough. Good way to get
additional coverage.
- Carol: We'll do some testing at Netflix with it.
- Thomas: Any word on Nuke?
- Michael: Mark Titchener mentioned last week that they are working on
Nuke implementation. Hoping to have something around end of January
or so.
- Patrick: Regarding the preliminary Maya integration - it just hints
at what's coming, so keep in mind.
- Doug: Will be a post on rendering forum with more details.
- Michael: How long did it take to implement, roughly?
- Patrick: Took quite a bit of time. We did deep integration of color
management in Maya, so replacement with OCIO v2 is a lot of work.
Depends on integration in your tool; could be straightforward. In
Maya it was deeply integrated, so was not trivial. Nothing to do
with library itself. Even if it's preliminary, OCIO v2 is still here.
Can use config and displays, etc. Limitations listed in release
notes.
- Doug: Not sure in release notes, but in rendering forum. Will post
issues there. We had the most difficult job since we're transitioning
from SynColor and have to have backwards compatibility. Lot of work
for us, but hoping companies already using OCIO v1 exclusively will
be more straightforward. Some new work to take advantage of new
features, but getting up and running should be less complex.
- Patrick: Someone did integration in another tool and had it up and
running in week.
* Enable the new GitHub Discussions feature for OCIO?
- Michael: Been some discussion on this in Slack with mixed responses. I
can enable it to play with if we think it's useful.
- Thomas: Can mark topics as answered, so could be mini Stack Overflow on
GH. Could be useful. Will try to use it on colour science.
- Patrick: How do you compare it to Google groups?
- Thomas: Good question. We don't have a lot of good Groups traffic, but
think will make sense to put it in GH.
- Michael: Would be nice to get ocio-dev/ocio-user out there like that.
Lots of channels currently, but lists is less accessible.
- Thomas: Not much traffic there now.
- Carol: Would be interested in that too. Could test as method for
replacing it.
- Michael: Could enable it just to test. To push buttons, etc. Could set it
up on OpenColorIO-Configs-ACES repo if we want to test it somewhere less
active.
- Patrick: Have to be careful. We have changed a lot. Need to not lose
existing community. Something to keep in mind.
- Thomas: Good point. We have same concern. Has useful features though,
like turning GH issues into discussion. Can move between issue and
discussion, to keep issue board clean. Much harder on mail list. Could
de-clutter issue tracker.
- Michael: A lot of our traffic has moved to Slack, since it's more real
time. Same for ASWF discussion. There was initially concern about Slack,
since it is expensive to keep history, but a lot of discussion has moved
there.
- Doug: Happened to quite a few mail lists when they added Slack option.
* Remove OIIO dependency from OCIO apps (Issue #1233)
- Michael: This topic has been ongoing for a couple years. Propose in #1233
to implement the fix of replace OIIO with OpenEXR and libTiff. Any
objections?
- Doug: Could also use DPX vs tiff.
- Carol: Prefer tiff.
- Thomas: Agree.
- Doug: DPX is simple enough that makes it easy to grab. Could be fallback
if libTiff implementation is involved.
- Patrick: Do we agree on the direction?
- Michael: The main arguments for this solution are that the apps don't
need to be rewritten (or duplicated) in Python, or broken into their own
repo. The cpp apps are currently the main implementation example for app
developers. Python examples are more useful for topic of config
authoring.
- Patrick: Should not underestimate app examples. Some use these heavily.
- Doug, Patrick, Thomas: Agree with proposal.
- Thomas: OCIO/OIIO are a pain right now to build because of that circular
dependency.
- Michael: Aloys is also facing issues with this in the development of
production VFX ref platform Docker images for aswf-docker.
- Patrick: Should also think about package managers; brew, vcpkg, etc.
vcpkg is broken right now.
- Michael: Yes, a discussion on Conan is what brought this topic back up.
* GH Actions macOS runners maintenance:
- Michael: Received notice from GitHub that they are doing maintenance on
macOS runners this week, so we may see interruption.
- Patrick: Any problems with CentOS runners?
- Michael: No, those are run on Ubuntu runners. CentOS is purely in the
Docker container, managed by aswf-docker.
* Next TSC meeting January 4:
- Michael: After tomorrow's Config working group meeting, no OCIO meetings
until January 4th. All events have been cancelled in that window since
most have holidays.
* Other discussion:
- Doug: As mentioned previously, a student is working on high priority OFX
plugins for OCIO, and may need assistance. If anyone has time to help
him, see PR #1231.
- Michael: I reached out last week to see if specific help was needed, but
no request as of yet. Can bump issue to get status.
- Michael: Also, last week we talked about sending an update to ocio-dev
to invite more testing, but I hadn't noticed that Doug already sent
something like that to announce the beta 2 release.
- Doug: May do beta 3 before next TSC meeting. If anyone has time, would
appreciate testing and feedback, to move forward with RC in early
January.
- Michael: Are the PRs coming this week the last major changes?
- Doug: The last feature, aliases, should land next week. Still some other
PRs finishing up features already in place. Polishing, fixing, etc.
Will have some PRs in early January.
+122
View File
@@ -0,0 +1,122 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the OpenColorIO Project. -->
January 4, 2021
Host: Michael Dolan
Attendees:
* [X] Mark Boorer (_TSC_) - Industrial Light & Magic
* [ ] Mei Chu (_TSC_) - Sony Pictures Imageworks
* [ ] Sean Cooper (_TSC ACES TAC Rep_) - DNEG
* [X] Michael Dolan (_TSC Chair_) - Epic Games
* [X] Patrick Hodoul (_TSC_) - Autodesk
* [ ] John Mertic - Academy Software Foundation / Linux Foundation
* [ ] Carol Payne (_TSC_) - Netflix
* [X] Mark Titchener (_TSC_) - Foundry
* [X] Carl Rand (_TSC_) - Weta Digital
* [X] Doug Walker (_TSC Chief Architect_) - Autodesk
* [X] Kevin Wheatley (_TSC_) - Framestore
* [X] Bernard Lefebvre - Autodesk
* [X] Robin Rowe - CinePaint
Apologies:
* Carol Payne
* Mei Chu
# **OCIO TSC Meeting Notes**
* rawtoaces:
- Michael: rawtoaces was accepted as an ASWF incubation project at the
last TAC meeting. Might be some interesting collaboration opportunity
there.
* Doug to summarize in-progress work:
- Doug: New PRs two weeks ago, some updated commits last week.
- Grading op implementation now complete.
- Minor fixes/changes: v1/v2 serialization issue (#1244).
to_reference/from_reference synonyms. Default view transform
specification.
- #1241 implements color space alias feature.
- Michael: Use case for config name added in PR? Comment seemed to
imply could be used as a color space namespace, and referenced
externally?
- Doug: Optional config name, could be useful for:
- Alternative to filename for tracking config.
- Indicate version.
- Future use as more fully qualified name for a color space.
- Reference for USD, other projects, etc.
- Just metadata for now.
- **TODO**: Bernard will clarify comment in API that config name has no
influence on color space lookups.
* Seeking approval to merge PRs #1220, 1234, 1241 (today), 1244, 1245
(tomorrow):
- Doug: Want to get OCIO v2 out there, since we're over the VFX ref
platform release date a bit. Suggest releasing 2.0.0 by mid-January.
Want to get last PRs merged and RC tag to communicate final testing
state.
- Michael: Have a Python binding fix for CPUProcessor that should be in
RC release.
- Mark: Did apphelpers (#1220) add dependecy to core? OpenGL?
- Doug: No, that's in another helpers lib separate from core.
- No objections to proposed merges.
* Version handling discussion:
- Doug: Once config v2 version starts getting used, will be need to bump
version for future changes. Want to discuss how to handle versioning. If
config syntax needs tweaking, what to do. Currently will throw for v3
and warn for v2.1.
- Michael: Currently just single int right?
- Doug: Yes, and added ability to have minor version in OCIO v2.
- Kevin: What additions would we make to need a version warning? Fixed
transform?
- Doug: Yes, and some things would throw. A new style string for a
transform for example.
- Mark: Don't think there's need to be future compatible. Would prefer to
fail fast vs. silently ignoring incompatibility. OCIO and config version
numbers can diverge.
- Patrick: For debugging would be useful to keep major version in sync
between lib and config.
- Kevin: Does the minor version increment sequentially, or is it tied to
lib release? Under what circumstances is a warning valid. Or is it just
valid or not valid, ok or throw.
- Doug: If an older version config is not using new features, it could
try to load.
- Michael: Failing fast would avoid subtle differences, like
ExponentTransform negative handling changing for example.
- Kevin: Or changed defaults.
- Michael: Could have metadata in config with exact lib version if needed.
- Patrick: Need to be careful with optional metadata. Could get out of date
and be confusing.
- Mark: If having minor version helps keep it organized, have no problem
with it.
- All agree to allow minor version, and fail on unknown/unsupported version
rather than raising a warning.
- **TODO**: Bernard will push updated to #1244, which is related.
* Discussion about creating a RB-2.0 release branch:
- Doug: After these PRs get merged, will create the branch. Should RC tag
begin that?
- Kevin: If we create them together we are saying they are the same. If
separated, might be different.
- Patrick: Where do we put the tag? In main or in RB-2.0?
- Mark: Have it in both, and cherry pick main changes into RB-2.0.
- Patrick: Only consequence is main will be tagged as RC.
- All agree to create tag in main and branch RB-2.0 from that.
* General discussion:
- Kevin: If we are concerned with ABI compatibility, should we put
something in place to warn about it? Extra symbol appears or disappears,
etc.
- Mark: OCIO is good at avoiding this since all symbols have version
namespace. Only issue if you don't update the version number.
- Patrick: If we are consistent, won't happen. Should be caught in review.
- Mark: Difficult to comare symbols to detect change. Would need two builds
or maintained list of symbols.
- Patrick: Even changing order could be an issue.
- Kevin: What about for Python?
- Michael: We are setting __version__ currently.
- Mark: It is likely used in setup.py, etc.
- Michael: We will eventually setup PyPi, so could be used there too.
- Follow up: See PEP 396: https://www.python.org/dev/peps/pep-0396/

Some files were not shown because too many files have changed in this diff Show More