summaryrefslogtreecommitdiffstats
path: root/common/rfb/Decoder.h
Commit message (Collapse)AuthorAgeFilesLines
* Split out ServerParams from ConnParamsPierre Ossman2018-11-011-5/+5
| | | | | | We need to track different things in the server and client, so separate things to two independent structures to keep things more clear.
* rfb: Fix struct-vs-class warningsSteve Kondik2017-07-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Allow conditional dependencies between rects when decodingPierre Ossman2015-11-271-0/+14
| | | | | | Some encodings only cause dependencies between rects some of the time. Make sure we can allow parallel decoding of those rect that aren't dependent on each other.
* Decode rectangles in order if neededPierre Ossman2015-11-271-0/+2
| | | | | Some encodings must be handled in the order they are received. Make sure we respect this in the decode manager.
* Decode overlapping rectangles in orderPierre Ossman2015-11-271-0/+7
|
* Add flags member to decodersPierre Ossman2015-11-271-1/+10
| | | | | Allows us to add attributes later that affect of the decoder manager deals with the decoders.
* Make the decoder multi-threadedPierre Ossman2015-11-271-1/+8
| | | | | | | This implements the basic infrastructure for multi-threaded decoding of rects. However there is just one thread reading data and one thread decoding it. More logic is needed to safely decode multiple rects at the same time.
* Split decoders into a read and decode stepPierre Ossman2015-11-271-6/+17
| | | | | | | | We need to split these steps up in preparation for multi-core support. Reading needs to be done in a serial manner, whilst decoding can be done in parallel. This also involved a rather large cleanup of the Tight decoder.
* Decouple decoders from CConnectionPierre Ossman2015-11-271-11/+10
|
* Use PixelBuffer objects as the interface for encoders and decodersPierre Ossman2014-07-141-2/+8
| | | | | | | 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/+3
|
* Get rid of the register mechanism for encoders and decodersPierre Ossman2014-07-071-15/+1
| | | | We have no use for it, so let's keep things simple.
* Eliminate GCC signed/unsigned warnings related to encodings: ThePeter Åstrand2010-02-101-3/+3
| | | | | | | | | | | | 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/+52
More changes will follow. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519