TSC Meeting Notes 2019-08-08
Attending:
Cary Phillips
Kimball Thurston
Nick Porcino
Christina Tempelaar-Leitz
Joseph Goldstone
Arkell Rasiah
Robert Pancoast
Agenda:
2.3.1 release
Windows build?
Confirm the proper so version?
Mitre.org’s CVE posting
When to create a beta tag?
ASWF project adoption
CII badge progress is 95%
Security questions (-x option a solution for memory consumption?)
Dynamic analysis
Status of CLA signage
SIGGRAPH BoF followup
How to turn the discussion into a “roadmap”
Proposed new features/initiatives:
Stateless read
Part ordering
Published compression standards
Streaming performance
32-bit compression
Integer images
Bfloat16
In-place metadata edit
Next up:
Repo move
Imath repo
C++11
pybind11
Clang-tidy
SonarCloud “bugs”
Test coverage
Website refresh
Discussion:
Looks like Arkell and Joseph have independently written a utility for reading exr headers into a stringstream for in-memory manipulation of metadata. They should work on resolving and submit it to include in the library.
Joseph: No order is imposed on metadata; metadata is stored as a map, it needs a lexical ordering.
The “image” metadata field is a MD5 checksum on the image. Kimball: I tend to strip out checksums because it’s almost immediately invalid. Joseph: should it be dropped entirely? Piz compression generates different byte streams when compression tables have multiple unique entries because the sort isn’t stable, which yields different checksums for identical images. Arkell has a fix, he’ll submit it.
SMPTE 2065-4 doesn’t standardize all of OpenEXR, it’s just a subset. ACES only took the minimum items that were necessary; it doesn’t include multi-part or deep. Does anyone care? The only reason you’d care is if you want the ACES logo on your project to certify that it handles EXR’s. But SMPTE doesn’t accept code as the definition of a standard, it would require explicit documentation, which would be a lot of work, and would then lock in that specification as the standard that the code would have to abide by.
Joseph: Is there a potential connection to the mention of a “tinyexr”? Should that be the ACES container file but that you’re free to use? Kimball: the “tiny” of the notion of “tinyexr” refers to the size and magnitude of the source code of the library, not the supported contents of the file. Conclusion: When/if there is consideration of a stream-lined exr library, we should at least discuss the SMPTE standards issue.
Conclusion: if this is a priority for someone, or someone puts forth a compelling argument for standardization, then someone would need to step up and pursue SMPTE standardization.
The 2.3.1 release is ABI-compatible, so won’t need to update so version.
Christina will leave some comments on Robert’s PR related to the Windows build in the Azure pipeline.
We should consider a target that runs valgrind on the unit tests. Can add a prefix command, then run w/valgrind in front of it.
Robert: MSbuild has a command-line switch to run “code analysis,” it should be built into Azure.