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