Hi. I run the VirtualGL Project, which produces a TightVNC derivative
called TurboVNC. I am also involved with the next generation TigerVNC
Project, which aims to replace both. TurboVNC has been unofficially
using the following extensions to the RFB protocol, and I wanted to see
if I could make these official so we could use them in TigerVNC as well:
Special encoding numbers:
-------------------------
0xFFFFFE00 .. 0xFFFFFE64 -- fine-grained quality level (0-100 scale)
rfbEncodingFineQualityLevel0 0xFFFFFE00
rfbEncodingFineQualityLevel100 0xFFFFFE64
0xFFFFFD00 .. 0xFFFFFD05 -- subsampling level, for image compression
methods that support it
rfbEncodingSubsamp1X 0xFFFFFD00
rfbEncodingSubsamp4X 0xFFFFFD01
rfbEncodingSubsamp2X 0xFFFFFD02
rfbEncodingSubsampGray 0xFFFFFD03
rfbEncodingSubsamp8X 0xFFFFFD04
rfbEncodingSubsamp16X 0xFFFFFD05
(NOTE: these are out of order for historical reasons.)
sig_rfbEncodingFineQualityLevel "FINEQLVL"
sig_rfbEncodingSubsampLevel "SSAMPLVL"
Tight Encoding:
---------------
Propose to extend the compression control byte for Tight encoding as
follows:
rfbTightNoZlib 0x0A
The first byte of each Tight-encoded rectangle is a "compression control
byte". Its format is as follows (bit 0 is the least significant one):
bit 0: if 1, then compression stream 0 should be reset;
bit 1: if 1, then compression stream 1 should be reset;
bit 2: if 1, then compression stream 2 should be reset;
bit 3: if 1, then compression stream 3 should be reset;
bits 7-4: if 1000 (0x08), then the compression type is "fill",
if 1001 (0x09), then the compression type is "jpeg",
(*** NEW ***) if 1010 (0x0A), then the compression type is
"basic" and no Zlib compression was used (*** NEW ***)
if 0xxx, then the compression type is "basic" and Zlib
compression was used,
values greater than 1010 are not valid.
If the compression type is "basic" and Zlib compression was used, then
bits 5..4 of the compression control byte specify the following:
bits 5-4: decimal representation is the index of a particular zlib
stream which should be used for decompressing the data.
Bit 6 of the compression control byte specifies the following,
regardless of whether Zlib compression was used:
bit 6: if 1, then a "filter id" byte is following this byte.
...
_______________________________________________
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list
called TurboVNC. I am also involved with the next generation TigerVNC
Project, which aims to replace both. TurboVNC has been unofficially
using the following extensions to the RFB protocol, and I wanted to see
if I could make these official so we could use them in TigerVNC as well:
Special encoding numbers:
-------------------------
0xFFFFFE00 .. 0xFFFFFE64 -- fine-grained quality level (0-100 scale)
rfbEncodingFineQualityLevel0 0xFFFFFE00
rfbEncodingFineQualityLevel100 0xFFFFFE64
0xFFFFFD00 .. 0xFFFFFD05 -- subsampling level, for image compression
methods that support it
rfbEncodingSubsamp1X 0xFFFFFD00
rfbEncodingSubsamp4X 0xFFFFFD01
rfbEncodingSubsamp2X 0xFFFFFD02
rfbEncodingSubsampGray 0xFFFFFD03
rfbEncodingSubsamp8X 0xFFFFFD04
rfbEncodingSubsamp16X 0xFFFFFD05
(NOTE: these are out of order for historical reasons.)
sig_rfbEncodingFineQualityLevel "FINEQLVL"
sig_rfbEncodingSubsampLevel "SSAMPLVL"
Tight Encoding:
---------------
Propose to extend the compression control byte for Tight encoding as
follows:
rfbTightNoZlib 0x0A
The first byte of each Tight-encoded rectangle is a "compression control
byte". Its format is as follows (bit 0 is the least significant one):
bit 0: if 1, then compression stream 0 should be reset;
bit 1: if 1, then compression stream 1 should be reset;
bit 2: if 1, then compression stream 2 should be reset;
bit 3: if 1, then compression stream 3 should be reset;
bits 7-4: if 1000 (0x08), then the compression type is "fill",
if 1001 (0x09), then the compression type is "jpeg",
(*** NEW ***) if 1010 (0x0A), then the compression type is
"basic" and no Zlib compression was used (*** NEW ***)
if 0xxx, then the compression type is "basic" and Zlib
compression was used,
values greater than 1010 are not valid.
If the compression type is "basic" and Zlib compression was used, then
bits 5..4 of the compression control byte specify the following:
bits 5-4: decimal representation is the index of a particular zlib
stream which should be used for decompressing the data.
Bit 6 of the compression control byte specifies the following,
regardless of whether Zlib compression was used:
bit 6: if 1, then a "filter id" byte is following this byte.
...
_______________________________________________
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list