TSC Meeting Notes 2023-04-06
Attendance:
- Cary Phillips
- Christina Tempelaar-Leitz
- John Mertic
- Joseph Goldstone
- Kimball Thurston
- Larry Gritz
- Nick Porcino
- Peter Hillman
- Rod Bogart
Discussion:
- Nick: Working on making EXR optionally available in the USD tool chain
- Native exr importer for USD instead of OIIO
- Using the C API
- “Mystery challenge” to find how to load images.
- Performance is excellent!
- Benchmarking against tinyexr, OpenEXRCore is significantly better
- Tinyexr errors on 80% of images in openexr-images
- Openexr.c #include’s all files from OpenEXRCore, plus some high-level API.
- Compiles in 14ms, without CMake
- Larry: Unity builds in CMake: it has a feature that combines all that stuff. But only for a new CMake, 3.17
- Nick: I bypass all the people that might object to what I want to do. I want to make it compatible with miniz, zlib alternatives.
- Larry: There’s also libdeflate, an alternative that is faster.
- Rod: what’s gdeflate is based on
- Larry: The reason I’ve been asking slack about the multipart problem, I thought I was doing something wrong. I’m pretty sure it’s a bug in Nuke.
- The way the C core is structured, you can create parts of arbitrary size.
- You can even change the channels encoded per chunk.
- Subsequent chunks can have different channels. The file format doesn’t say that each chunk header has to match the previous chunk header
- Larry: the C++ API has always bothered me, the branch where you find what kind of file it is (tiled, scanline, deep) then do separate things
- Nick: I’m being surprised at how hard it is to use the core library, but not by fragility, behavior, etc.
- Larry: that’s because it’s low level
- Cary: Could easily wrap it in python.
- Larry: Yes, users of python probably want a single call to read pixels into numpy array
- Nick: Hydra wants to load everything all at once.
- Nick: It’s another crazy idea inside Pixar: if exr files are allowable as leaf nodes in a USD graph, then we can pull the camera data from the image files, so full plate info in the scene graph.
- Joseph:
- SMPTE group doing camera/lens metadata appears to be converging.
- I propose to look at what’s come out of there, compare to what I did before, and prepare a new PR.
- We cleaned up to reorder and group attributes.
- I propose an initial PR that changes no methods but reorder the attributes in the groups. The subsequent PR’s won’t look so different.
- Then, are we clearly explaining exactly what we mean
- SMPTE declined (the people behind the recent revisions of ACES container) to add or change anything that wasn’t related to color.
- There’s a ton of useful stuff that no one sees because they’re not in the implementation and behind a SMPTE paywall.
- George Joblove got tagged with a bunch of Sci-Tech responsibilities