summaryrefslogtreecommitdiffstats
path: root/rfb
diff options
context:
space:
mode:
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