TSC Meeting Notes 2021-04-07
Attending:
Cary Phillips
Christina Tempelaar-Lietz
Eskil Steenberg
Kimball Thurston
Larry Gritz
Peter Hillman
Nick Porcino
Discussion:
Issue #996 The exception occurs inside the call: ImfOpenInputFile().
Almost certainly something that's been fixed, the stack trace is identical to others. It's from OpenEXR v2.3.
Issue #136 Cmake targets provide wrong include dirs and libraries.
Nick: Most likely user error, it seems to be doing the right thing.
Need to confirm that OpenEXR works properly as a subproject.
Larry: I'm experiencing something weird with OIIO. OpenEXRConfig.h is missing, I don’t understand the transitive dependencies. Not sure what’s going on. But I may have some insight to share.
Is LibraryDefine.cmake necessary?
Kimball: The CMake book says there should be a config pseudo library that’s generating the Config.h.
LibraryDefine.cmake can probably be removed. Probably a result of moving everything together in the reorganization.
PRÂ #995Â Don't impose C++14 on downstream projects
Proposing a change. We compile for c++14 by default, but we make it impossible for downstream projects to use C++11.
Only affects downstream projects that consume OpenEXR/Imath that wants to use C++11. It was a downstream user of OIIO.
CI:
Would be useful to have a basic project that consumes OpenEXR, as a sanity check.
3.1/Core
Kimball: done a clean up of the API. May make one more change. I’m pretty close, basic writing is finished. Writing tests.
What is the sequence for integrating this with the C++ side?
Can you mix and match? Yes, they’re totally separate. I have performance tests of reading with each.
Want to be able to convert the type from half to float, or have to include the half-to-float table.
Is that necessary in the C API? It’s mean to be lightweight. A lot of these does-it-under-the hood thing end up being performance problems.
ES: As a C programmer, I’d like that conversion.
ffmpeg requires a C api.
Nick: Just do this:
#if __cplusplus__ struct half_t {} #else class half { ...
What about fuzz tests? Peter: we have our own fuzz test. Imf::checkFile() is the entry point. C API could be added to that.
3.1 branch?
3.1 would be both API’s but independent of each other.
3.1 -> 3.2 is fine as long as source doesn’t change, but ABI can change.
There already is a C API. It’s t2o functions that reads a 4 channel rgb single part. Too simple to be useful.
Weta CLA? Will sort it out.
VES discussion at TAC meeting:
May is the draft of the reference platform.
Sunset guidelines? No hard answers. But they’ll go away and consider it.
It puts a burden on the CI.
Security: how far back should we support?
Should announce a policy change, something like "We will support 3.1, 3.0, and 2.5. Backport as requested.
How hard is it to backport to 2.4? Things have changed, it might be error prone.
New fuzz issues aren't easy to test in 2.4 because that release doesn't include the test program.