summaryrefslogtreecommitdiffstats
path: root/rfb
diff options
context:
space:
mode:
authorsteven_carr <steven_carr>2006-05-02 20:53:25 +0000
committersteven_carr <steven_carr>2006-05-02 20:53:25 +0000
commitafa9fae0248650cb358463c37756c3560da4b57a (patch)
tree4e34bcd908ed5c32e0f2863d19615a27a2f2278d /rfb
parente57c4dcd714b74ff84d5817197e80ca5d0fcff3e (diff)
downloadlibvncserver-afa9fae0248650cb358463c37756c3560da4b57a.zip
libvncserver-afa9fae0248650cb358463c37756c3560da4b57a.tar.gz
Ultra Encoding added. Tested against UltraVNC V1.01
Diffstat (limited to 'rfb')
-rw-r--r--rfb/rfb.h17
-rw-r--r--rfb/rfbclient.h8
2 files changed, 23 insertions, 2 deletions
diff --git a/rfb/rfb.h b/rfb/rfb.h
index ffba2cd..06ffa8f 100644
--- a/rfb/rfb.h
+++ b/rfb/rfb.h
@@ -484,6 +484,12 @@ typedef struct _rfbClientRec {
int tightQualityLevel;
#endif
#endif
+
+ /* Ultra Encoding support */
+ rfbBool compStreamInitedLZO;
+ char *lzoWrkMem;
+
+
int lastKeyboardLedState; /* keep track of last value so we can send *change* events */
rfbBool enableKeyboardLedState; /* client supports KeyboardState encoding */
rfbBool enableLastRectEncoding; /* client supports LastRect encoding */
@@ -658,6 +664,17 @@ extern rfbBool rfbSendRectEncodingCoRRE(rfbClientPtr cl, int x,int y,int w,int h
extern rfbBool rfbSendRectEncodingHextile(rfbClientPtr cl, int x, int y, int w,
int h);
+/* ultra.c */
+
+/* Set maximum ultra rectangle size in pixels. Always allow at least
+ * two scan lines.
+ */
+#define ULTRA_MAX_RECT_SIZE (128*256)
+#define ULTRA_MAX_SIZE(min) ((( min * 2 ) > ULTRA_MAX_RECT_SIZE ) ? \
+ ( min * 2 ) : ULTRA_MAX_RECT_SIZE )
+
+extern rfbBool rfbSendRectEncodingUltra(rfbClientPtr cl, int x,int y,int w,int h);
+
#ifdef LIBVNCSERVER_HAVE_LIBZ
/* zlib.c */
diff --git a/rfb/rfbclient.h b/rfb/rfbclient.h
index b049613..5a219a3 100644
--- a/rfb/rfbclient.h
+++ b/rfb/rfbclient.h
@@ -148,13 +148,17 @@ typedef struct _rfbClient {
based on the bitsPerPixel, height and width of the rectangle. We
allocate this buffer one time to be the full size of the buffer. */
-#ifdef LIBVNCSERVER_HAVE_LIBZ
+ /* Ultra Encoding uses this buffer too */
+
+ int ultra_buffer_size;
+ char *ultra_buffer;
+
int raw_buffer_size;
char *raw_buffer;
+#ifdef LIBVNCSERVER_HAVE_LIBZ
z_stream decompStream;
rfbBool decompStreamInited;
-
#endif
OpenPOWER on IntegriCloud