aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/Encoder.h
Commit message (Collapse)AuthorAgeFilesLines
* Allow perceptually lossless refreshPierre Ossman2018-09-211-1/+6
| | | | | | | | | | | Loosen the definition of "lossless" a bit so that we can use high quality JPEG to refresh damaged parts of the screen. Although this isn't bit perfect, it is close enough that most users will not be able to tell the difference. Level 9 is used rather than level 8 because some monitors have exaggerated contrast that allows the artefacts from level 8 to be noticeable.
* Add method to get compression settings from encoderPierre Ossman2018-09-201-0/+3
|
* Don't force encoders to specify palette sizePierre Ossman2018-09-201-1/+1
| | | | | Most encoders don't have a palette mode, so don't force them to specify a dummy value to the Encoder base class constructor.
* Automatic lossless refreshPierre Ossman2018-03-281-0/+2
| | | | | | Resend pixel perfect copies of areas that were previously sent using a lossy encoder. This is done when there is no normal update to send, and no congestion.
* spelling fixesklemens2017-01-281-1/+1
|
* Move image encoding logic into a central EncodeManager classPierre Ossman2014-07-141-8/+52
| | | | | | | | This allows us to apply a lot more server logic independently of which encoder is in use. Most of this class are things moved over from the Tight encoder.
* Use PixelBuffer objects as the interface for encoders and decodersPierre Ossman2014-07-141-5/+6
| | | | | | | This avoid a lot of unnecessary middle men. This also pushes the responsibility for pixel format conversion into the encoders and decoders. The new bufferFromBuffer() is used for direct conversion, rather than PixelTransformer/TransImageGetter.
* Encoders/decoders should track the connection objectPierre Ossman2014-07-071-4/+4
| | | | | | The connection object is a much more appropriate object for the decoders and encoders to keep track of. Besides the streams, it also contains state like connection parameters.
* Avoid reader/writer duplication in every encoder/decoderPierre Ossman2014-07-071-0/+4
|
* Remove partial update functionalityPierre Ossman2014-07-071-5/+4
| | | | | | Get rid of the ability of encoders to only send part of the rectangle they are given as we don't want partial updates anyway.
* Make the subsampling setting follow the common stylePierre Ossman2014-07-071-2/+1
|
* Get rid of the register mechanism for encoders and decodersPierre Ossman2014-07-071-16/+2
| | | | We have no use for it, so let's keep things simple.
* Reduce dependencies on TransImageGetter.hPierre Ossman2014-07-071-2/+1
|
* Add support for TurboVNC pseudo-encodings and Grayscale JPEG compression so ↵DRC2011-08-191-0/+3
| | | | | | that, when a TurboVNC viewer is connected, the TigerVNC Server will behave exactly like the TurboVNC Server. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4641 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Further optimizations to the Tight encoder to eliminate getImage() overhead. ↵DRC2011-08-171-1/+3
| | | | | | The encoder now directly accesses the framebuffer for solid rectangle computation, JPEG encoding, and color counting (if pixel translation is not required.) Also moved everything in tightEncode.h into the TightEncoder class to eliminate all of the static mess (this will be important later on if we decide to multi-thread the encoder.) git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4631 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Eliminate GCC signed/unsigned warnings related to encodings: ThePeter Åstrand2010-02-101-4/+4
| | | | | | | | | | | | encoding in the RFB protocol has always been signed, and signed values are also used in the specification (ie DesktopName = -307 etc). In the code, however, unsigned types were used in a number of places, but not all, which causes warnings. This patch fixes the problem by switching to signed values everywhere. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3968 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Migrating to new directory structure adopted from the RealVNC's source tree. ↵Constantin Kaplinsky2006-05-251-0/+61
More changes will follow. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519