From: Corentin Chary <corentin.ch...@gmail.com> Hi,
Since v2: - Fixed some styles issues - Rebased to current master - Fixed a Makefile issue (using .c instead of .o) I rebased the series against current master, it contains: - 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 It was my last series from GSoC 2010 context, if necessary I can send different series for adaptive vnc, zrle and bitmap stuff. Thanks, Corentin Chary (16): vnc: qemu can die if the client is disconnected while updating screen 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 | 256 ++++++++++++++++ bitmap.h | 222 ++++++++++++++ bitops.c | 142 +++++++++ bitops.h | 272 +++++++++++++++++ osdep.h | 4 + qemu-options.hx | 9 + ui/vnc-enc-tight.c | 75 ++++- ui/vnc-enc-zrle-template.c | 263 +++++++++++++++++ ui/vnc-enc-zrle.c | 366 +++++++++++++++++++++++ ui/vnc-enc-zrle.h | 40 +++ ui/vnc-enc-zywrle-template.c | 170 +++++++++++ ui/vnc-enc-zywrle.h | 659 ++++++++++++++++++++++++++++++++++++++++++ ui/vnc-jobs-async.c | 8 + ui/vnc-palette.c | 58 +++- ui/vnc-palette.h | 7 +- ui/vnc.c | 283 ++++++++++++++----- ui/vnc.h | 57 ++++- 18 files changed, 2786 insertions(+), 107 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 -- 1.7.3.4