[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 16/18] vnc: tight: fix rgb_prepare_row
From: |
Corentin Chary |
Subject: |
[Qemu-devel] [PATCH v2 16/18] vnc: tight: fix rgb_prepare_row |
Date: |
Wed, 7 Jul 2010 20:58:04 +0200 |
rgb_prepare_row bpp depends on the server display surface, not
the client.
Signed-off-by: Corentin Chary <address@hidden>
---
ui/vnc-enc-tight.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/ui/vnc-enc-tight.c b/ui/vnc-enc-tight.c
index 3f19df2..eaa88ce 100644
--- a/ui/vnc-enc-tight.c
+++ b/ui/vnc-enc-tight.c
@@ -1180,12 +1180,17 @@ DEFINE_RGB_GET_ROW_FUNCTION(32)
static void rgb_prepare_row(VncState *vs, uint8_t *dst, int x, int y,
int count)
{
- if (vs->tight.pixel24)
- rgb_prepare_row24(vs, dst, x, y, count);
- else if (ds_get_bytes_per_pixel(vs->ds) == 4)
- rgb_prepare_row32(vs, dst, x, y, count);
- else
+ if (ds_get_bytes_per_pixel(vs->ds) == 4) {
+ if (vs->ds->surface->pf.rmax == 0xFF &&
+ vs->ds->surface->pf.gmax == 0xFF &&
+ vs->ds->surface->pf.bmax == 0xFF) {
+ rgb_prepare_row24(vs, dst, x, y, count);
+ } else {
+ rgb_prepare_row32(vs, dst, x, y, count);
+ }
+ } else {
rgb_prepare_row16(vs, dst, x, y, count);
+ }
}
#endif /* CONFIG_VNC_JPEG or CONFIG_VNC_PNG */
--
1.7.1
- [Qemu-devel] [PATCH v2 00/18] [PATCH v2 00/18] VNC Updates for 0.13, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 03/18] vnc: add lossy option, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 02/18] vnc: JPEG should be disabled if the client don't set tight quality, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 05/18] vnc: rename vnc-encoding-* vnc-enc-*, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 04/18] ui: move all ui components in ui/, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 07/18] vnc: tight: remove a memleak in send_jpeg_rect(), Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 01/18] vnc: tight: add JPEG and gradient subencoding with smooth image detection, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 09/18] vnc: tight: specific zlib level and filters for each compression level, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 12/18] vnc: fix tight png memory leak, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 06/18] vnc: tight: don't forget do at the last color, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 16/18] vnc: tight: fix rgb_prepare_row,
Corentin Chary <=
- [Qemu-devel] [PATCH v2 10/18] vnc: tight: stop using qdict for palette stuff, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 17/18] vnc: tight: split send_sub_rect, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 13/18] qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 18/18] vnc: better default values for VNC options, Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 15/18] vnc: add missing lock for vnc_cursor_define(), Corentin Chary, 2010/07/07
- [Qemu-devel] [PATCH v2 08/18] vnc: tight add PNG encoding, Corentin Chary, 2010/07/07