Pure code move (except of removing `static` on the two public functions in the new header), not behavior change. There isn't a lot of lossy decoder yet, but it'll make implementing it more convenient. No behavior change.