aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/EncodeManager.h
Commit message (Collapse)AuthorAgeFilesLines
* Use stdint typesPierre Ossman2023-02-011-6/+7
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Use templates for optimized codePierre Ossman2023-02-011-15/+6
| | | | | Avoid preprocessor magic and instead rely on templating to generate optimized functions for performance critical code.
* Add write protection to OffsetPixelBufferPierre Ossman2019-11-151-0/+3
| | | | | | No one should every try to write to this buffer. Enforce that by throwing an exception if any one tries to get a writeable pointer to the data.
* Avoid refresh of recently changed areasPeter Åstrand (astrand)2018-09-201-1/+10
| | | | | | | | If an area recently changed then we can guess that it will most likely change again very soon. In such a case it is meaningless to send a lossless refresh as it will directly be overwritten. Keep track of such areas and avoid refreshing them until we no longer see any changes to them.
* Limit lossless refresh update to safe sizePierre Ossman2018-03-281-2/+3
| | | | | | We don't want to waste bandwidth on the lossless refresh if we might need that bandwidth for a normal update. Try to estimate how much data we can safely send without interfering.
* Automatic lossless refreshPierre Ossman2018-03-281-4/+18
| | | | | | 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.
* rfb: Fix struct-vs-class warningsSteve Kondik2017-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang doesn't like when struct and class are used to refer to the same thing interchangeably. Fixes all instances of: In file included from /home/shade/dev/tigervnc/common/rfb/CConnection.cxx:29: In file included from /home/shade/dev/tigervnc/common/rfb/CConnection.h:28: /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:35:3: error: class 'Exception' was previously declared as a struct [-Werror,-Wmismatched-tags] class Exception; ^ /home/shade/dev/tigervnc/common/rdr/Exception.h:32:10: note: previous use is here struct Exception { ^ /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:35:3: note: did you mean struct here? class Exception; ^~~~~ struct /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:43:3: error: class 'Rect' was previously declared as a struct [-Werror,-Wmismatched-tags] class Rect; ^ /home/shade/dev/tigervnc/common/rfb/Rect.h:68:10: note: previous use is here struct Rect { ^ /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:43:3: note: did you mean struct here? class Rect; ^~~~~ struct
* Track statistics for CopyRectPierre Ossman2015-09-221-0/+1
|
* Be more aggressive in finding solid rectanglesPierre Ossman2015-02-131-0/+1
| | | | | The previous FIXME was incorrect. The old code did in fact continue looking over the entire area. This commit restores that old behaviour.
* Move encoder statistics into EncodeManager from SMsgWriterPierre Ossman2015-02-131-0/+18
| | | | It knows more details so it can track things better.
* Move image encoding logic into a central EncodeManager classPierre Ossman2014-07-141-0/+114
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.