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