Skip to content

Conversation

CendioOssman
Copy link
Member

Improves performance when using the RealVNC client or server, and is also slightly more bandwidth efficient than the Tight JPEG encoding we normally use.

Let it handle arguments the same way the shipped commands do.
Just because we are aware of the encoding doesn't mean we support it.
Avoid cluttering everything with #ifdef:s.
Don't assume that decoders will back up the input stream completely on
partial data. I.e. don't drop the output stream data on each retry.

This has technically been broken since ad0f061, but has worked in
practice because all current decoder never actually did a partial read.

As of this commit, the Hextile and Tight decoder now both do partial
reads, making them slightly more efficient.
The focus box would not cover the text properly if we don't compensate
for the fact that we use a different font style for these.
Match the system we have for other groups, even if we have to do some
hacks to have check boxes as labels.
Decouple it from the Tight specific behaviour that selecting a quality
level is what enables JPEG. Other encodings can have other criteria.
Let's prepare this code for the possibility of more lossy encoders than
Tight's JPEG encoder.
This requirement is specific to the Tight encoder, so move it away from
the general code.
That way it can be shared consistently by all encodings that utilize
JPEG in some form.
The Huffman tables are completely fixed, and the quantization tables
only change when we change quality level. So reduce the sent data by
omitting these when the client can re-use the tables from the previous
rect.
It compresses better because of its feature to drop repeating tables.
We need to count the number of bytes received, not what's been put in
the temporary output buffer. The two are not the same for all decoders.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant