TSC Meeting Notes 2021-01-14

Attending:

  • Cary Phillips

  • Christina Tempelaar-Lietz

  • Eskil Steenburg

  • John Mertic

  • Joseph Goldstone

  • Larry Gritz

  • Nick Porcino

  • Peter Hillman

Discussion:

  • New OpenEXR CLA

  • Imath 1.0:

    • constexpr for half type:

      • Larry: I went partway down this rathole while working on adding noexcept. Had to back out becasue it got complicated. Much of it can be done without trouble, but the construct that converts from float is hard to constexpr, it does too much. And the x86 intrinsic conversion instructions are good, but none are constexpr.

      • Nick: In the case of bit twiddling, it’s just going to work. We want intrinsics for runtime.

      • Larry: In numeric_limits, according to C++ standard, they should be constexpr, but they’re implemented using the float constructor. We nneed to work around things that rely on the constructor, probably a way to construct directly from bit pattern. Just need to figure it out.

      • Larry will give it a stab.

    • Doxygen

      • Cary: working on doxygen comments, will reformat all the code. Also, I need help from some doxygen experts.

    • Also need to compose a detailed summary of changes

  • Imath PRs:

    • #69 Install error on windows:

      • Adds an option for creating symbolic links, defaults to on for Linux/Mac, off for Window.

      • Nick: Looks good.

  • OpenEXR PRs:

    • #898 Add support for Bazel

      • OK to support two build systems?

      • Nick: At Oculus, I had to maintain a file that looks like this. Lots of organizations use it: Google, and Facebook uses a clone. It’s a service to the community.

      • Larry: the worst case is people blame us when it doesn't work, and we don't use it.

      • Nick: Maybe it belongs to the Contrib portion of the repo.

      • Peter: Or maybe in an entirely different repo.

      • Every time we add a file or change anything about the build, we've got to update the Bazel config files.

      • Larry: we should only accept it on the condition the he edit our CI files, so we’ll know when we break it. It's brittle without a test.

      • The submitted files had many errors, lots of copy/paste left over from another project.

      • Conclusion: Cary will respond and inquire more about the contributor and the commitment of long-term support.

    • #895 exrcheck: make reduced memory/time modes more sensitive

      • Peter: “reduce time” mode is an option to exrcheck to skip over reading time. It would be nice if it didn’t allocate lots of memory, but that’s big change.

      • The fuzz execution environment has a small memory limit.

      • This doesn't fix any underlying problem, it just causes the fuzz test to reject the input without error.

    • #885 Resolve #882 static/shared dual build

      • Nick: big cleanup, eliminates combined build. Also remove the FLTK stuff; we removed the viewer a while ago but never cleaned out the dependencies from CMake.

      • Nick: The change is largely mechanical.

      • Nick: The origin of the simultaneous shared/static build? That was part of the original windows build, complicated by compile-time header generation. We needed the generator programs to be statically linked. Now, since the header files are checked in, we don’t need this anymore.

    • #880 Add optional standard attributes defined in SMPTE ST 2065-4:2013 ("ACES Container File Layout")

      • Joseph: If the name of the attribute doesn’t have a period, it’s a SMPTE standard. If it has a period, it’s not part of the standard.

      • Joseph: I’m having a hard time pushing these through the standards committee.

      • Joseph: So much good work being done on lens distortion now, it will require more than lens temperature, but it’s premature to standardize. What's likely to happen: some standards body like the ASC will put some data in.

      • Joseph: We could include everything from the published 2013 standards now for 3.0, then add more later when the committee finishes. I can back out those changes.

      • Joseph: would love to discuss lens distortion. Nick: Contact Ronald Mallet at Facebook Reality Labs.

      • Larry: 10,000’ question: converting from one image format to anther, what do you do with the metadata? What happens if names come from other places? Some correspond to EXIF, others aren’t. Do we offer advice about which translate and which don’t.

      • Joseph: I once did an Attribute Concordance. Will find it and share. I want metadata test signal frames.