Re: [PATCH spice-server] Use desired image compression for the first image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey,

Seems fine, though it's not clear to me why this would only impact the
first image? Also, do we have limitations on the kind of images quic can
compress? This patch always uses quic when SPICE_IMAGE_COMPRESS_QUIC is
used.

Christophe

On Fri, Jun 19, 2015 at 03:44:39PM +0200, Pavel Grunt wrote:
> red_marshall_image() allows to use other than QUIC compression only
> when auto_lz or auto_glz image compression is set.
> ---
> Also the LZ4 part of code in red_marshall_image could not be triggered
> ---
>  server/red_worker.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 58a7d00..8fb7218 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -8820,9 +8820,9 @@ static void red_marshall_image(RedChannelClient *rcc, SpiceMarshaller *m, ImageI
>      SpiceBitmap bitmap;
>      SpiceChunks *chunks;
>      QRegion *surface_lossy_region;
> -    int comp_succeeded;
> +    int comp_succeeded = FALSE;
>      int lossy_comp = FALSE;
> -    int lz_comp = FALSE;
> +    int quic_comp = FALSE;
>      spice_image_compression_t comp_mode;
>      SpiceMsgDisplayDrawCopy copy;
>      SpiceMarshaller *src_bitmap_out, *mask_bitmap_out;
> @@ -8891,12 +8891,11 @@ static void red_marshall_image(RedChannelClient *rcc, SpiceMarshaller *m, ImageI
>              if (grad_level == BITMAP_GRADUAL_HIGH) {
>                  // if we use lz for alpha, the stride can't be extra
>                  lossy_comp = display_channel->enable_jpeg && item->can_lossy;
> -            } else {
> -                lz_comp = TRUE;
> +                quic_comp = TRUE;
>              }
> -        } else {
> -            lz_comp = TRUE;
>          }
> +    } else if (comp_mode == SPICE_IMAGE_COMPRESS_QUIC) {
> +        quic_comp = TRUE;
>      }
>  
>      if (lossy_comp) {
> @@ -8904,7 +8903,7 @@ static void red_marshall_image(RedChannelClient *rcc, SpiceMarshaller *m, ImageI
>                                                   &bitmap, &comp_send_data,
>                                                   worker->mem_slots.internal_groupslot_id);
>      } else {
> -        if (!lz_comp) {
> +        if (quic_comp) {
>              comp_succeeded = red_quic_compress_image(dcc, &red_image, &bitmap,
>                                                       &comp_send_data,
>                                                       worker->mem_slots.internal_groupslot_id);
> @@ -8919,6 +8918,7 @@ static void red_marshall_image(RedChannelClient *rcc, SpiceMarshaller *m, ImageI
>                                                          worker->mem_slots.internal_groupslot_id);
>              } else
>  #endif
> +            if (comp_mode != SPICE_IMAGE_COMPRESS_OFF)
>                  comp_succeeded = red_lz_compress_image(dcc, &red_image, &bitmap,
>                                                         &comp_send_data,
>                                                         worker->mem_slots.internal_groupslot_id);
> -- 
> 2.4.4
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/spice-devel

Attachment: pgpB4yX6iL9mR.pgp
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]