summaryrefslogtreecommitdiffstats
path: root/common/rfb
Commit message (Collapse)AuthorAgeFilesLines
...
* | Optimise the RGB to pixel conversion to simple shiftsPierre Ossman2014-07-073-51/+65
| | | | | | | | | | Might as well make it inline at this point as well as it is used heavily in other routines that convert entire blocks of pixels.
* | Remove magic JPEG variables from ConnParamsPierre Ossman2014-07-073-14/+3
| | | | | | | | | | | | Custom compression level and JPEG on/off are not inherent parts of the protocol negotiation so they do not belong in ConnParams. Let the UI frontend handle such things instead.
* | Clean up the encoding parser in ConnParamsPierre Ossman2014-07-071-48/+55
| |
* | Make the subsampling setting follow the common stylePierre Ossman2014-07-078-45/+64
| |
* | Stop storing a copy of the encodings as we don't use it for anythingPierre Ossman2014-07-072-14/+3
| |
* | Get rid of the register mechanism for encoders and decodersPierre Ossman2014-07-0725-183/+77
| | | | | | | | We have no use for it, so let's keep things simple.
* | Be more consistent in referring to pixel byte streams as buffersPierre Ossman2014-07-078-29/+29
| |
* | Document the different pixel representations that we deal withPierre Ossman2014-07-071-1/+10
| |
* | Get rid of unused things in the ZRLE encoderPierre Ossman2014-07-073-35/+13
| | | | | | | | | | Get rid of unused shared MemOutStream and variable max length functionality in the ZRLE encoder.
* | Remove the scaled pixel buffer classes as they are not used.Pierre Ossman2014-07-073-354/+0
| | | | | | | | | | There were also reports of them being broken last time we still made use of them.
* | Remove unused (and commented out) PixelBuffer::getPixel()Pierre Ossman2014-07-072-17/+0
| |
* | Remove unused alternative code path from the ZRLE and Hextile decodersPierre Ossman2014-07-072-81/+0
| |
* | Remove unused pixel conversion methodPierre Ossman2014-07-072-18/+0
| |
* | Remove unsused, commented out codePierre Ossman2014-07-072-24/+0
| |
* | Reduce dependencies on TransImageGetter.hPierre Ossman2014-07-077-7/+8
| |
* | Support keeping libjpeg's default compression settingPierre Ossman2014-07-071-3/+8
| |
* | Converting to RGB might involve a precision increasePierre Ossman2014-07-073-15/+59
| | | | | | | | | | | | | | Need to do more than a simple shift to get the appropriate new value. This isn't quite as exact as a proper multiplication and division, but the error is so small it's not worth the extra cycles.
* | Make sure we check that PixelFormats we get are actually valid.Pierre Ossman2014-07-032-6/+45
|/
* The ZRLE decoder relied on an assert() for boundary checks. A defaultPierre Ossman2014-03-191-3/+10
| | | | | | | | | | Release build however will remove all asserts making it possible to overrun this buffer. This could be exploited by a malicious server. This issue has been assigned CVE-2014-0011. Patch by Tim Waugh for Red Hat. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5167 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make sure the fill function pointer gets updated if thePierre Ossman2014-01-072-5/+24
| | | | | | | | | | | managed pixel buffer changes format. Also add a bit more protection for switching pixel format as the base classes aren't really designed for that. Fixes a crash with the mouse pointer in WinVNC. Based on work done by Daniel Wyatt (dewyatt). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5152 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Simplify rfb::ParameterIterator - we always iterate over all enabled params.Adam Tkac2013-03-141-4/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5064 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove unused assignment operator declaration from rfb::ConfigurationAdam Tkac2013-03-142-22/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5063 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove unused parameter from rfb::Configuration::Configuration()Adam Tkac2013-03-142-9/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5062 3789f03b-4d11-0410-bbf8-ca57d06f2519
* We were not handling the "sync next" fence properly as we sent the responsePierre Ossman2012-07-202-6/+10
| | | | | | | | | right after we got the request (instead of waiting for the next command). This created a race where we could lose pixel format sync between the client and the server. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4943 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Also check for negative encodings, in case the server is throwing unexpectedPierre Ossman2012-07-192-3/+3
| | | | | | | garbage at us. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4942 3789f03b-4d11-0410-bbf8-ca57d06f2519
* ScreenSet references rdr types, so we need to make sure those are defined.Pierre Ossman2012-07-131-0/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4934 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Refactor the TLS code so that the push/pull functions are aware of theirPierre Ossman2012-07-032-19/+19
| | | | | | | containing stream object. This is in preparation for supporting GnuTLS 3.x. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4921 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix unsafe usage of the logging functions.Pierre Ossman2012-04-264-4/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4905 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Allow gcc to check for correct usage of the formatting string for thePierre Ossman2012-04-261-2/+8
| | | | | | | logging class. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4904 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Comment where the mysterious 0xFFFF number of rectangles comes from.Pierre Ossman2012-02-281-0/+4
| | | | | | | Patch by Arthur Huillet. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4858 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix regression caused by r4841. That patch assumed that JPEG encoding ↵DRC2012-02-133-45/+47
| | | | | | always uses the raw buffer, which is not true. If pixel translation is necessary, then JPEG images will sometimes be encoded from the translated (intermediate) buffer instead. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4852 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The Tight encoder uses the pixel buffer as a scratch pad, which doesn'tPierre Ossman2012-01-305-56/+64
| | | | | | | | | work so well with the new optimisation to feed it the raw frame buffer. Reorganise and clean up the code to handle this, and make the raw frame buffer pointer const so that we might avoid such bugs in the future. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4841 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Be more liberal with const in places where write access isn't needed.Pierre Ossman2012-01-305-11/+11
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4840 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix a race condition where we might get updates thrown at us right after aPierre Ossman2012-01-233-1/+36
| | | | | | | | framebuffer switch, but before we've been given the pointer to the new framebuffer. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4839 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Changing the deferred update timer to 10 ms caused a large performance ↵DRC2011-12-221-1/+1
| | | | | | regression on video/3D apps, and until we can quantify the benefits of a larger DUT value, it was decided that it should be changed back to 1 ms for the 1.2 release. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4825 3789f03b-4d11-0410-bbf8-ca57d06f2519
* We need to explicitly trigger a framebuffer update for server side renderedPierre Ossman2011-12-211-1/+3
| | | | | | | | cursors. Previously this happened to work anyway because we had a lot of triggers for updates. After the cleanup, we need to be more explicit. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4824 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Increase the default compression level to cater to a broader range of usersPierre Ossman2011-11-202-2/+3
| | | | | | | | (bandwidth is often the limiting factor, rather than CPU). Further increases give little returns, so 2 is currently deemed the best tradeoff. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4811 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The block size for the comparing update tracker was inefficently low. RaisingPierre Ossman2011-11-201-1/+1
| | | | | | | | it from 16 to 64 pixels significantly reduces the CPU overhead in many cases, without sacrificing much in what it detects. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4810 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make the comparing update tracker a bit more flexible. It can now be in anPierre Ossman2011-11-208-21/+91
| | | | | | | | | "auto" state where it will be enabled until we deem that the client is better of without it (currently triggered by explicitly stating a low compression level). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4809 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Cork the connection around updates to better use the congestion windowPierre Ossman2011-11-151-3/+11
| | | | | | | as we might send out multiple small packets git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4804 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Server implementation of continuous updates, including advanced flow control.Pierre Ossman2011-11-152-10/+292
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4803 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Basic infrastructure for continuous updates.Pierre Ossman2011-11-1421-1/+102
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4801 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Implement proper support for fences in the server.Pierre Ossman2011-11-142-1/+63
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4799 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Basic infrastructure to support fences.Pierre Ossman2011-11-1424-12/+223
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4798 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The CopyRect encoding is very efficient so it is wasteful to check thosePierre Ossman2011-11-101-3/+1
| | | | | | | | | areas here. It also makes the CUT counter-productive in some cases as it tends to expand small changes to BLOCK_SIZE (16 pixels) because of the copy regions. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4788 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix issue uncovered with valgrindDRC2011-11-091-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4787 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Use the correct matching free operation. Patch by Matthieu Lochegnies.Pierre Ossman2011-11-091-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4786 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The source data here is RGB triplets, not "pixels".Pierre Ossman2011-11-081-3/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4785 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Reimplement the deferred update handling, this time in a more robust andPierre Ossman2011-11-084-25/+100
| | | | | | | well-behaved manner. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4784 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Add helper to easily determine how much time has passed since some previousPierre Ossman2011-11-082-0/+21
| | | | | | | event. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4783 3789f03b-4d11-0410-bbf8-ca57d06f2519