Statistics
| Branch: | Revision:

root / ui / vnc-enc-tight.c @ e4ebcc1a

History | View | Annotate | Download (66.1 kB)

# Date Author Comment
2caa9e9d 04/10/2011 01:14 am Michael Tokarev

vnc: tight: Fix crash after 2GB of output

fix 2Gb integer overflow in in VNC tight and zlib encodings

As found by Roland Dreier <> (excellent
catch!), when amount of VNC compressed data produced by zlib
and sent to client exceeds 2Gb, integer overflow occurs because...

cf76a1ce 02/24/2011 07:25 pm Peter Maydell

ui/vnc-enc-tight.c: Fix compile failure if CONFIG_VNC_JPEG not defined

Add some missing #ifdefs to fix compilation failures in the !CONFIG_VNC_JPEG
case introduced by commit ce702e93.

Signed-off-by: Peter Maydell <>
Signed-off-by: Anthony Liguori <>

8cb4a6b7 02/24/2011 12:28 am Corentin Chary

vnc: tight: tweak adaptive tight settings

The force_jpeg threshold was too low.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

80e0c8c3 02/24/2011 12:28 am Corentin Chary

vnc: add a non-adaptive option

This option allow to disable adaptive behaviors in some encodings.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

ce702e93 02/24/2011 12:28 am Corentin Chary

vnc: tight: use the update frequency to choose between lossy and lossless

Use the new update frequency infrastructure to use jpeg for regions with
high update frequency.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

368d2588 02/24/2011 12:28 am Corentin Chary

vnc: fix uint8_t comparisons with negative values

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

b0cd712c 10/05/2010 09:53 pm Stefan Weil

Fix spelling in comments

multifuction -> multifunction
successfull -> successful.

Signed-off-by: Stefan Weil <>

ba5e7f82 09/04/2010 01:11 pm Izumi Tsutsui

vnc: use bswapNN() rather than bswap_NN()

bswap_NN() variants are not always available in CONFIG_MACHINE_BSWAP_H case
and bswapNN() are public APIs in "bswap.h".

Signed-off-by: Izumi Tsutsui <>
Signed-off-by: Blue Swirl <>

49e3fcc2 09/04/2010 12:55 pm Serge Ziryukin

vnc: tight: remove unused variable

Signed-off-by: Serge Ziryukin <>
Signed-off-by: Blue Swirl <>

2116eff9 09/04/2010 12:45 pm Jes Sorensen

size_t is unsigned, change to ssize_t to handle errors from tight_compress_data()

Signed-off-by: Jes Sorensen <>
Signed-off-by: Blue Swirl <>

ad7ee4ad 07/31/2010 10:43 pm Blue Swirl

Initialize a variable in all cases

Commit d167f9bc06a577d6c85b8ed6991c1efe175aae7d missed this one:
/src/qemu/ui/vnc-enc-tight.c:1483: warning: 'ret' may be used uninitialized in this function

Signed-off-by: Blue Swirl <>

aee474eb 07/31/2010 10:40 pm Blue Swirl

Fix uint8_t comparison with negative value

Commit 7bccf57383cca60a778d5c543ac80c9f62d89ef2 missed this one:
/src/qemu/ui/vnc-enc-tight.c: In function 'send_sub_rect':
/src/qemu/ui/vnc-enc-tight.c:1527: warning: comparison is always true due to limited range of data type...

249cdb42 07/27/2010 08:26 pm Blue Swirl

Fix mingw32 build

Fix mingw32 build errors like
/src/qemu/ui/vnc-enc-tight.c: In function 'tight_detect_smooth_image24':
/src/qemu/ui/vnc-enc-tight.c:119: error: 'uint' undeclared (first use in this function)

Replace 'uint' with proper 'unsigned int'.

Signed-off-by: Blue Swirl <>

d167f9bc 07/27/2010 06:34 pm Blue Swirl

Initialize a variable in all cases

Fix a warning with some GCCs:
/src/qemu/ui/vnc-enc-tight.c: In function `send_sub_rect_nojpeg':
/src/qemu/ui/vnc-enc-tight.c:1458: warning: `ret' might be used uninitialized in this function

Signed-off-by: Blue Swirl <>

7bccf573 07/27/2010 06:32 pm Blue Swirl

Fix uint8_t comparisons with negative values

Fix the following warnings:
/src/qemu/hw/ide/core.c: In function `ide_drive_pio_post_load':
/src/qemu/hw/ide/core.c:2767: warning: comparison is always false due to limited range of data type

/src/qemu/ui/vnc-enc-tight.c: In function `tight_detect_smooth_image':...

5d8efe39 07/27/2010 01:36 am Corentin Chary

vnc: tight: don't forget do at the last color

While using indexed colors, the last color was never added to the palette.
Triggered with ubuntu livecd.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

d9c18c24 07/27/2010 01:36 am Corentin Chary

vnc: tight: remove a memleak in send_jpeg_rect()

buf was never freed.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

efe556ad 07/27/2010 01:36 am Corentin Chary

vnc: tight add PNG encoding

Introduce a new encoding: VNC_ENCODING_TIGHT_PNG [1] (-269) with a new
tight filter VNC_TIGHT_PNG (0x0A). When the client tells it supports the Tight PNG
encoding, the server will use tight, but will always send encoding pixels using...

3941bf6f 07/27/2010 01:36 am Corentin Chary

vnc: tight: specific zlib level and filters for each compression level

Disable png filters for lower compression levels. This should lower
the CPU consumption and reduce encoding time.

This isn't in tight_conf because:
  • tight_conf structure must not change, because it's shared with other...
5136a052 07/27/2010 01:36 am Corentin Chary

vnc: tight: stop using qdict for palette stuff

Profiling with callgrind seems to show that a lot of time is spent
in the palette code (mostly due to memory allocation and qdict to int
conversion).

This patch adds a VncPalette implementation. The palette is stored...

d1af0e05 07/27/2010 01:36 am Corentin Chary

vnc: encapsulate encoding members

This will allow to implement the threaded VNC server in a
more cleaner way.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

b5469b11 07/27/2010 01:36 am Corentin Chary

vnc: fix tight png memory leak

The tight.png buffer was never released.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

4043a013 07/27/2010 01:36 am Corentin Chary

vnc: tight: fix rgb_prepare_row

rgb_prepare_row bpp depends on the server display surface, not
the client.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

03817eb8 07/27/2010 01:36 am Corentin Chary

vnc: tight: split send_sub_rect

Split send_sub_rect in send_sub_rect_jpeg and send_sub_rect_nojpeg to
remove all these #ifdef CONFIG_JPEG.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

245f7b51 07/27/2010 01:36 am Corentin Chary

vnc: rename vnc-encoding-* vnc-enc-*

For the same reason that we don't use vnc-authentication-sasl.c but
vnc-auth-sals.c. Because it's tooooo long.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>