[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/15] vnc: adapative tight, zrle, zywrle, and bitma
From: |
Corentin Chary |
Subject: |
[Qemu-devel] [PATCH 00/15] vnc: adapative tight, zrle, zywrle, and bitmap module |
Date: |
Wed, 11 Aug 2010 07:49:30 +0200 |
Hi,
In this series you'll find:
- Adaptive Tight Encoding: send lossy or lossless updates depending on the
update frequency of the screen region. If a lossy update is forced, then
it will be refreshed with a lossless update as soon as the update frequency
goes back to 0.
- ZRLE/ZYWRLE Encodings: ZYWRLE use less bandwidth than tight, but the result
is also probably more lossy. I wanted to make ZRLE/ZYWRLE adaptive, but this
is not possible because most of the vnc clients can't switch between ZRLE and
ZYWRLE. But a possible solution is to use another encoding for lossless
updates,
like zlib or tight.
- Bitmap module: create bitmap.h and bitops.h, and remove duplicate code
from vnc.c
This is probably my last series in the GSoC 2010 context, but I'll probably
continue to work on the VNC server for some time :).
Thanks,
Corentin Chary (15):
vnc: don't set the quality if lossy encoding are disabled
vnc: add a way to get the update frequency for a given region
vnc: refresh lossy rect after a given timeout
vnc: tight: use the update frequency to choose between lossy and
lossless
vnc: palette: use a pool to reduce memory allocations
vnc: palette: add palette_init calls
vnc: palette: and fill and color calls.
vnc: Add ZRLE and ZYWRLE encodings.
vnc: fix uint8_t comparisons with negative values
vnc: fix lossy rect refreshing
bitmap: add a generic bitmap and bitops library
vnc: use the new generic bitmap functions
vnc: don't try to send bigger updates that client height
vnc: tight: tweak adaptive tight settings
vnc: add a non-adaptive option
Makefile.objs | 2 +
bitmap.c | 255 ++++++++++++++++
bitmap.h | 222 ++++++++++++++
bitops.c | 142 +++++++++
bitops.h | 272 ++++++++++++++++++
osdep.h | 4 +
qemu-options.hx | 9 +
qemu-thread.c | 1 +
ui/vnc-enc-tight.c | 75 ++++-
ui/vnc-enc-zrle-template.c | 275 ++++++++++++++++++
ui/vnc-enc-zrle.c | 390 +++++++++++++++++++++++++
ui/vnc-enc-zrle.h | 40 +++
ui/vnc-enc-zywrle-template.c | 170 +++++++++++
ui/vnc-enc-zywrle.h | 652 ++++++++++++++++++++++++++++++++++++++++++
ui/vnc-jobs-async.c | 4 +
ui/vnc-palette.c | 59 +++--
ui/vnc-palette.h | 7 +-
ui/vnc.c | 283 ++++++++++++++-----
ui/vnc.h | 57 ++++-
19 files changed, 2811 insertions(+), 108 deletions(-)
create mode 100644 bitmap.c
create mode 100644 bitmap.h
create mode 100644 bitops.c
create mode 100644 bitops.h
create mode 100644 ui/vnc-enc-zrle-template.c
create mode 100644 ui/vnc-enc-zrle.c
create mode 100644 ui/vnc-enc-zrle.h
create mode 100644 ui/vnc-enc-zywrle-template.c
create mode 100644 ui/vnc-enc-zywrle.h
- [Qemu-devel] [PATCH 00/15] vnc: adapative tight, zrle, zywrle, and bitmap module,
Corentin Chary <=
- [Qemu-devel] [PATCH 01/15] vnc: don't set the quality if lossy encoding are disabled, Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 02/15] vnc: add a way to get the update frequency for a given region, Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 03/15] vnc: refresh lossy rect after a given timeout, Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 04/15] vnc: tight: use the update frequency to choose between lossy and lossless, Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 05/15] vnc: palette: use a pool to reduce memory allocations, Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 06/15] vnc: palette: add palette_init calls, Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 07/15] vnc: palette: and fill and color calls., Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 09/15] vnc: fix uint8_t comparisons with negative values, Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 08/15] vnc: Add ZRLE and ZYWRLE encodings., Corentin Chary, 2010/08/11
- [Qemu-devel] [PATCH 10/15] vnc: fix lossy rect refreshing, Corentin Chary, 2010/08/11