[Spice-devel] [PATCH spice-server] Use LZ4_compress_fast_continue if available

Pavel Grunt pgrunt at redhat.com
Mon Nov 28 18:29:54 UTC 2016


On Mon, 2016-11-28 at 17:50 +0000, Frediano Ziglio wrote:
> This make compression faster and avoids a warning on newer
> lz4 versions.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
Acked-by: Pavel Grunt <pgrunt at redhat.com>
> ---
>  server/lz4-encoder.c | 9 ++++++++-
>  spice-common         | 2 +-
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/server/lz4-encoder.c b/server/lz4-encoder.c
> index f193fd8..9fabc35 100644
> --- a/server/lz4-encoder.c
> +++ b/server/lz4-encoder.c
> @@ -75,9 +75,16 @@ int lz4_encode(Lz4EncoderContext *lz4, int
> height, int stride, uint8_t *io_ptr,
>          in_buf = lines;
>          in_size = stride * num_lines;
>          lines += in_size;
> -        compressed_lines = (uint8_t *)
> malloc(LZ4_compressBound(in_size) + 4);
> +        int bound_size = LZ4_compressBound(in_size);
> +        compressed_lines = (uint8_t *) malloc(bound_size + 4);
> +#ifdef HAVE_LZ4_COMPRESS_FAST_CONTINUE
> +        enc_size = LZ4_compress_fast_continue(stream, (const char
> *) in_buf,
> +                                              (char *)
> compressed_lines + 4, in_size,
> +                                              bound_size, 1);
> +#else
>          enc_size = LZ4_compress_continue(stream, (const char *)
> in_buf,
>                                           (char *) compressed_lines
> + 4, in_size);
> +#endif
>          if (enc_size <= 0) {
>              spice_error("compress failed!");
>              free(compressed_lines);
> diff --git a/spice-common b/spice-common
> index 31819a2..9218da2 160000
> --- a/spice-common
> +++ b/spice-common
> @@ -1 +1 @@
> -Subproject commit 31819a24248ba5311e7293ddac519b8134e67fa0
> +Subproject commit 9218da25ebd8737aea88662c6d537b72cd380cd9


More information about the Spice-devel mailing list