func CompressBound(in []byte) int {
	return len(in) + ((len(in) / 255) + 16)
}
CompressBound calculates the size of the output buffer needed by
Compress. This is based on the following macro:

#define LZ4_COMPRESSBOUND(isize)
((unsigned int)(isize) > (unsigned int)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16)
package lz4
import "C"
import (
	"errors"
	"fmt"
	"unsafe"
)
func p(in []byte) *C.char {
	if len(in) == 0 {
		return (*C.char)(unsafe.Pointer(nil))
	}
	return (*C.char)(unsafe.Pointer(&in[0]))
}
func clen(s []byte) C.int {
	return C.int(len(s))
}
func Uncompress(in, out []byte) (error) {
	if int(C.LZ4_decompress_safe(p(in), p(out), clen(in), clen(out))) < 0 {
		return errors.New("Malformed compression stream")
	}
	return nil
}