diff options
Diffstat (limited to 'rfb')
-rw-r--r-- | rfb/rfb.h | 17 | ||||
-rw-r--r-- | rfb/rfbclient.h | 8 |
2 files changed, 23 insertions, 2 deletions
@@ -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 |