-
Notifications
You must be signed in to change notification settings - Fork 317
Closed
Labels
unrelated to 1.0Things that need not be done before the 1.0 version milestoneThings that need not be done before the 1.0 version milestone
Description
I can't combine libjxl/experimental/fast_lossless and the github.com/veluca93/fpnge encoder code in the same program (e.g. to compare the two encoders' speeds), because both fjxl and fpnge declare struct BitWriter in the top-level namespace, with the same name (and both have a Write(uint32_t, uint64_t) method) but different field layout (see links below). Linking both of them leads to a crash, presumably because the fjxl code mistakenly calls the fpnge BitWriter or vice versa.
std::unique_ptr<uint8_t[], void (*)(void*)> data = {nullptr, free}; - https://github.com/veluca93/fpnge/blob/48020025e197318ab3c695903a4577e3d9565ddb/fpnge.cc#L374
I believe one solution would be to wrap a C++ "anonymous namespace" around all of fast_lossless.cc code except for the final FastLosslessEncode function.
Metadata
Metadata
Assignees
Labels
unrelated to 1.0Things that need not be done before the 1.0 version milestoneThings that need not be done before the 1.0 version milestone