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

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

 



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




[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]