vnc: fix lossy rect refreshing
The for loop in send_lossy_rect was totally wrong, and we can'tcall vnc_set_bits() because it does not really do what it should.Use vnc_set_bit() directly instead.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
bitmap: add a generic bitmap and bitops library
Add most used bitmap and bitops functions into bitmap.c and bitops.c.Theses functions are mostly copied from Linux kernel source.
Some of these functions are already redefined in the VNC server. Someof them could be used for some block stuff. The yet yo be submitted...
vnc: add a way to get the update frequency for a given region
This patch compute the update frequency (in Hz) for each 64x64 rects.Any adaptive encoding can get this value using vnc_update_freq(), andswitch to a lossy encoding if the value is too high....
vnc: refresh lossy rect after a given timeout
If an adaptive encoding has choosen to send a lossy updatebased on the result of vnc_update_freq(), then it should advertiseit with vnc_sent_lossy_rect(). This will allow to automatically refreshthis rect once it's static again....
vnc: tight: use the update frequency to choose between lossy and lossless
Use the new update frequency infrastructure to use jpeg for regions withhigh update frequency.
vnc: palette: use a pool to reduce memory allocations
We now that the palette will never have more than 256elements. Let's use a pool to reduce malloc calls.
vnc: palette: add palette_init calls
This allow to use palette on the stack instead of alwaysallocating them.
vnc: palette: and fill and color calls.
These two helpers are needed for zrle and zywrle.
vnc: Add ZRLE and ZYWRLE encodings.
Add ZRLE [1] and ZYWRLE [2] encodings. The code is inspire^W stolenfrom libvncserver (again), but have been rewriten to match QEMU codingstyle.
[1] http://www.realvnc.com/docs/rfbproto.pdf[2] http://micro-vnc.jp/research/remote_desktop_ng/ZYWRLE/publications/...
vnc: fix uint8_t comparisons with negative values
View all revisions | View revisions
Also available in: Atom