I haven't tried it, but stumbled across this this morning and thought I'd share:
https://github.com/BareRose/nibrans
It's an adaptive nibble-bases rANS entropy encoder. It looks to have interfaces sufficient to simply accept whole buffers, but also via eg https://github.com/BareRose/nibrans/...nibrans.h#L214 shows how to call lower level primitives nbraEncPut. It appears to be based on Fabian's / Charles' blog posts on how to do 16-bit CDF updates for adaptive rANS.
It claims around 75-95MB/s enc/dec performance.
More here: https://www.reddit.com/r/gamedev/com...ased_adaptive/