Sorry for asking, but there are too many weird project in this field. Can compressed_size be bigger than input.len?

Yes because you have to have some metadata that describes how to decompress the compressed data. This is the case in all compression algorithms I know.

As an example Lz4 and zstd also have a compressBound() function that calculates this.

I'm pretty sure it's the case in all compression algorithms, period — if you make some inputs smaller, you have to make other inputs larger. There's a pigeonhole style argument for it. The trick of course is to make the inputs you expect to actually encounter smaller, ideally while enlarging other inputs as little as possible.