When a surface is sent to the client using red_send_surface_image, operations 
were already
performed on it. Thus it may combine, especially if it is a primary surface, 
both "picture-like" areas
and areas that are more "artificial". In order to avoid noticeable artifacts, 
such surface will be sent lossless.
---
 server/red_worker.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/server/red_worker.c b/server/red_worker.c
index 35139ef..0b651ed 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -5198,7 +5198,9 @@ static void red_add_surface_image(RedWorker *worker, int 
surface_id)
     area.right = surface->context.width;
     area.bottom = surface->context.height;
 
-    item = red_add_surface_area_image(worker, surface_id, &area, NULL, TRUE);
+    /* not allowing lossy compression because probably, especially if it is a 
primary surface,
+       it combines both "picture-like" areas with areas that are more 
"artificial"*/
+    item = red_add_surface_area_image(worker, surface_id, &area, NULL, FALSE);
     display_channel_push(worker);
 }
 
-- 
1.6.6.1

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

Reply via email to