* [Qemu-devel] [PATCH 2/4] vnc: really call zlib if we want zlib
2010-05-06 8:39 [Qemu-devel] [PATCH 1/4] vnc: set the right prefered encoding Corentin Chary
@ 2010-05-06 8:39 ` Corentin Chary
2010-05-06 8:39 ` [Qemu-devel] [PATCH 3/4] vnc: only use a single zlib stream Corentin Chary
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Corentin Chary @ 2010-05-06 8:39 UTC (permalink / raw)
To: qemu-devel; +Cc: Corentin Chary, Anthony Liguori
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
---
vnc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/vnc.c b/vnc.c
index a91c3a3..d0c0d00 100644
--- a/vnc.c
+++ b/vnc.c
@@ -655,7 +655,7 @@ static void send_framebuffer_update(VncState *vs, int x, int y, int w, int h)
{
switch(vs->vnc_encoding) {
case VNC_ENCODING_ZLIB:
- vnc_hextile_send_framebuffer_update(vs, x, y, w, h);
+ vnc_zlib_send_framebuffer_update(vs, x, y, w, h);
break;
case VNC_ENCODING_HEXTILE:
vnc_framebuffer_update(vs, x, y, w, h, VNC_ENCODING_HEXTILE);
--
1.7.0.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 3/4] vnc: only use a single zlib stream
2010-05-06 8:39 [Qemu-devel] [PATCH 1/4] vnc: set the right prefered encoding Corentin Chary
2010-05-06 8:39 ` [Qemu-devel] [PATCH 2/4] vnc: really call zlib if we want zlib Corentin Chary
@ 2010-05-06 8:39 ` Corentin Chary
2010-05-06 8:39 ` [Qemu-devel] [PATCH 4/4] vnc: adjust compression zstream level Corentin Chary
2010-05-18 7:16 ` [Qemu-devel] Re: [PATCH 1/4] vnc: set the right prefered encoding Corentin Chary
3 siblings, 0 replies; 5+ messages in thread
From: Corentin Chary @ 2010-05-06 8:39 UTC (permalink / raw)
To: qemu-devel; +Cc: Corentin Chary, Anthony Liguori
According to http://tigervnc.org/cgi-bin/rfbproto#zlib-encoding
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
---
vnc-encoding-zlib.c | 12 +++++-------
vnc.h | 2 +-
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/vnc-encoding-zlib.c b/vnc-encoding-zlib.c
index 4a495ad..6a16a79 100644
--- a/vnc-encoding-zlib.c
+++ b/vnc-encoding-zlib.c
@@ -54,9 +54,9 @@ static void vnc_zlib_start(VncState *vs)
vs->output = vs->zlib;
}
-static int vnc_zlib_stop(VncState *vs, int stream_id)
+static int vnc_zlib_stop(VncState *vs)
{
- z_streamp zstream = &vs->zlib_stream[stream_id];
+ z_streamp zstream = &vs->zlib_stream;
int previous_out;
// switch back to normal output/zlib buffers
@@ -70,7 +70,7 @@ static int vnc_zlib_stop(VncState *vs, int stream_id)
if (zstream->opaque != vs) {
int err;
- VNC_DEBUG("VNC: initializing zlib stream %d\n", stream_id);
+ VNC_DEBUG("VNC: initializing zlib stream\n");
VNC_DEBUG("VNC: opaque = %p | vs = %p\n", zstream->opaque, vs);
zstream->zalloc = zalloc;
zstream->zfree = zfree;
@@ -122,7 +122,7 @@ void vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h)
// compress the stream
vnc_zlib_start(vs);
vnc_raw_send_framebuffer_update(vs, x, y, w, h);
- bytes_written = vnc_zlib_stop(vs, 0);
+ bytes_written = vnc_zlib_stop(vs);
if (bytes_written == -1)
return;
@@ -136,7 +136,5 @@ void vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h)
void vnc_zlib_init(VncState *vs)
{
- int i;
- for (i=0; i<(sizeof(vs->zlib_stream) / sizeof(z_stream)); i++)
- vs->zlib_stream[i].opaque = NULL;
+ vs->zlib_stream.opaque = NULL;
}
diff --git a/vnc.h b/vnc.h
index 1aa71b0..dfdb240 100644
--- a/vnc.h
+++ b/vnc.h
@@ -173,7 +173,7 @@ struct VncState
/* Zlib */
Buffer zlib;
Buffer zlib_tmp;
- z_stream zlib_stream[4];
+ z_stream zlib_stream;
Notifier mouse_mode_notifier;
--
1.7.0.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 4/4] vnc: adjust compression zstream level
2010-05-06 8:39 [Qemu-devel] [PATCH 1/4] vnc: set the right prefered encoding Corentin Chary
2010-05-06 8:39 ` [Qemu-devel] [PATCH 2/4] vnc: really call zlib if we want zlib Corentin Chary
2010-05-06 8:39 ` [Qemu-devel] [PATCH 3/4] vnc: only use a single zlib stream Corentin Chary
@ 2010-05-06 8:39 ` Corentin Chary
2010-05-18 7:16 ` [Qemu-devel] Re: [PATCH 1/4] vnc: set the right prefered encoding Corentin Chary
3 siblings, 0 replies; 5+ messages in thread
From: Corentin Chary @ 2010-05-06 8:39 UTC (permalink / raw)
To: qemu-devel; +Cc: Corentin Chary, Anthony Liguori
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
---
vnc-encoding-zlib.c | 9 ++++++++-
vnc.h | 1 +
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/vnc-encoding-zlib.c b/vnc-encoding-zlib.c
index 6a16a79..29dd1b7 100644
--- a/vnc-encoding-zlib.c
+++ b/vnc-encoding-zlib.c
@@ -83,10 +83,17 @@ static int vnc_zlib_stop(VncState *vs)
return -1;
}
+ vs->zlib_level = vs->tight_compression;
zstream->opaque = vs;
}
- // XXX what to do if tight_compression changed in between?
+ if (vs->tight_compression != vs->zlib_level) {
+ if (deflateParams(zstream, vs->tight_compression,
+ Z_DEFAULT_STRATEGY) != Z_OK) {
+ return -1;
+ }
+ vs->zlib_level = vs->tight_compression;
+ }
// reserve memory in output buffer
buffer_reserve(&vs->output, vs->zlib.offset + 64);
diff --git a/vnc.h b/vnc.h
index dfdb240..96f3fe7 100644
--- a/vnc.h
+++ b/vnc.h
@@ -174,6 +174,7 @@ struct VncState
Buffer zlib;
Buffer zlib_tmp;
z_stream zlib_stream;
+ int zlib_level;
Notifier mouse_mode_notifier;
--
1.7.0.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] Re: [PATCH 1/4] vnc: set the right prefered encoding
2010-05-06 8:39 [Qemu-devel] [PATCH 1/4] vnc: set the right prefered encoding Corentin Chary
` (2 preceding siblings ...)
2010-05-06 8:39 ` [Qemu-devel] [PATCH 4/4] vnc: adjust compression zstream level Corentin Chary
@ 2010-05-18 7:16 ` Corentin Chary
3 siblings, 0 replies; 5+ messages in thread
From: Corentin Chary @ 2010-05-18 7:16 UTC (permalink / raw)
To: qemu-devel; +Cc: Corentin Chary, Anthony Liguori
Forget this series, I'm sending a rebased one.
--
Corentin Chary
http://xf.iksaif.net
^ permalink raw reply [flat|nested] 5+ messages in thread