diff options
author | steven_carr <steven_carr> | 2006-05-02 20:53:25 +0000 |
---|---|---|
committer | steven_carr <steven_carr> | 2006-05-02 20:53:25 +0000 |
commit | afa9fae0248650cb358463c37756c3560da4b57a (patch) | |
tree | 4e34bcd908ed5c32e0f2863d19615a27a2f2278d /rfb | |
parent | e57c4dcd714b74ff84d5817197e80ca5d0fcff3e (diff) | |
download | libtdevnc-afa9fae0248650cb358463c37756c3560da4b57a.tar.gz libtdevnc-afa9fae0248650cb358463c37756c3560da4b57a.zip |
Ultra Encoding added. Tested against UltraVNC V1.01
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 |