Hi, I this series you'll find zlib fixes and a new encoding: tight. Tight implementation is inspired (stolen ?) from libvncserver/tightvnc/tigervnc, but rewritten to match QEMU VNC implementation and coding style. Tight encoding still lacks gradient and jpeg, but some results [1] [2] show that it already performs better than zlib and hextile.
Thanks, [1] http://xf.iksaif.net/blog/index.php?post/2010/05/11/GsoC-2010-QEMU%3A-First-%28dumb%29-tight-benchmarks [2] http://xf.iksaif.net/blog/index.php?post/2010/05/18/QEMU%3A-some-charts-on-tight-zlib-and-hextile Since v1: added commit descriptions for all patchs Corentin Chary (10): vnc: refactor set_encodings vnc: really call zlib if we want zlib vnc: only use a single zlib stream vnc: adjust compression zstream level vnc: add basic tight support vnc: add support for tight fill encoding vnc: don't clear zlib stream on set_encoding vnc: remove memory leaks in zlib and tight encoding vnc: tight: add palette encoding vnc: update copyrights for vnc-encoding-tight.c Makefile | 2 + Makefile.objs | 1 + vnc-encoding-hextile.c | 5 +- vnc-encoding-tight.c | 945 ++++++++++++++++++++++++++++++++++++++++++++++++ vnc-encoding-tight.h | 199 ++++++++++ vnc-encoding-zlib.c | 43 ++- vnc.c | 79 +++-- vnc.h | 24 +- 8 files changed, 1245 insertions(+), 53 deletions(-) create mode 100644 vnc-encoding-tight.c create mode 100644 vnc-encoding-tight.h