/
TSC Meeting Notes 2022-03-24
TSC Meeting Notes 2022-03-24
Attendance:
- Cary Phillips
- Christina Tempelaar-Leitz
- John Mertic
- Joseph Goldstone
- Kimball Thurston
- Larry Gritz
- Nick Porcino
- Peter Hillman
- Rod Bogart
Discussion:
- Filmlight’s issue with files that can’t be read with new core library:
- Kimball: I can validate the changes. I have fixes, need to split into separate PR’s. Need another test case: reconstruction of a 0-ed chunk table for tiled exr files. Just causing me headaches.
- Looking at multi-part reconstruction code. Yet a 3rd way of doing things.
- Scanlines go up or down, not in random order, although each scanline is tagged with the number. Nothing in the format says order, but C++ API doesn’t let you write random order.
- #1230 Add maximumSampleCount limit to CompositeDeepScanLine’
- looks good to go.
- #1211 ImfErrorMessage C Api and multithreading
- Kimball: Had started working on ImfHeader to use the C library under the covers. Is triggering me to expose some of the functions I’d hidden. But maybe should do the C API first.
- Should the next release by 3.2 or 4?
- Have to change the API?
- If we did to a 4, what else would go in? Alternate compression types?
- Ask for: on disk be the GPU format, so the read just lifts into GPU.
- Makes sense for uncompressed data, but not otherwise.
- Nvidia peeps were looking into GPU compression, but haven’t heard from them in a while.
- Having a compression type that is interleaved and uncompressed may be enough.
- We’ve had compression types without a major bump.
- Does the major version describe major file format changes or software versions.
- Should 4 be software only?
- How many hoops do you have to jump through to keep the API the same?
- Kimball: we could keep a lot of the API the same, but should we?
- Example: String attribute. The value is a std::string in C++, so there’s be a strcpy.
- Is there a minimal file version in the file?
- There’s a feature indicator in the files that says what features you’re using.
- That’s one of the problems with Filmlight.
- One of the issues: very old version attribute length.
- Should we seek out old versions of OpenEXR and encourage them to upgrade?
- FFmpeg, but I’m not sure if I’m willing.
- RGB: we care that modern files are in use.
- We should have some element of outreach.
- Vcpkg is blocked on Field3d.
- Feels like a TAC level problem
- https://github.com/microsoft/vcpkg/pull/22463
- Most of the VFX industry have switched to OIIO.
- https://github.com/microsoft/vcpkg/pull/20957
- Nick: I added a note to 20957 to try to bump it along
- Blocked because there are 3 failing triples. How do you find them?
- Maybe forever stalled.
- ABI will be different, so we have to bump the minor version.
- But we can make it so it’s relatively transparent to the end developers who use the API. But I don't know if there'll be a performance hit, such as strcpy. And yes, it is noticeable.
- Cryptomatte strings are huge, you can have 60Mb of strings in your header.
- #61 CI on Mac & Windows are not building the python bindings
- weren’t we having boost problems with MacOS and Windows.
- C++23 has introduced multi-dimentional array references.
- #238 ImportError: DLL load failed while importing imath in Python 3.9
- You do have to gather all the DLLs and put them in a quarantined place. He was expecting rpath’s in the DLL’s, but that’s not a thing. “Fact of life” And not an OpenEXR issue. We shouldn’t try to do anything different.
- #212 imath_half_to_float_table not properly exported from DLL
- Need a repo test. Nick: I’m close to be able to try this on windows. Peculiar that no one has ever reported this problem.
- #1204 Runpath woes
- An artifact, we’re not explicitly doing it. CMake computes things relative to the install prefix. Assumes each of those are in a different location. Build rpath “use origin” flag? Definitely better to have the ORIGIN in there. Kimball: I can take a look at some point. $ORIGIN is the location of where the .so is. A special variable in libc.