summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use lookup tables for pixel upconversionPierre Ossman2014-07-093-44/+64
| | | | | | You have to loop many times when converting e.g. 2 bits to 8, so have a couple of lookup tables to speed things up. We still use bit replication to get from 8 bits to 16 bits though.
* Put some space between the groups of testsPierre Ossman2014-07-091-0/+8
|
* Add more 8 bpp conversion testsPierre Ossman2014-07-091-0/+13
|
* Only grab the regions we actually needPierre Ossman2014-07-071-22/+33
| | | | | Allows pixel buffers that do damage tracking to get proper information.
* Provide a better R/W base PixelBuffer classPierre Ossman2014-07-079-32/+103
| | | | | Clearly separates the read API from the write API and also from actual implementation.
* Get rid of getStride()Pierre Ossman2014-07-0714-53/+25
| | | | | | It was confusing and not properly used everywhere. Callers should use the stride they get when they get the buffer pointer.
* Get rid of the direct access abuse of FullFramePixelBuffer's dataPierre Ossman2014-07-078-27/+58
|
* We don't need a fillRect() that is this optimisedPierre Ossman2014-07-072-83/+19
| | | | | Keep things simple instead and allows us to remove the extra setPF() methods.
* Avoid having virtual methods where not neededPierre Ossman2014-07-072-17/+10
|
* getImage() doesn't need to be overloadable, keep it simplePierre Ossman2014-07-073-38/+5
|
* Create a proper interface base class for the viewport's framebufferPierre Ossman2014-07-0713-73/+195
| | | | | This allows us to gracefully fall back to the FLTK code in case the platform specific code cannot be used.
* Encoders/decoders should track the connection objectPierre Ossman2014-07-0735-110/+103
| | | | | | 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.
* Push encoder and decoder handling down into the connection objectsPierre Ossman2014-07-0711-152/+87
| | | | | This keeps the reader and writer objects clean and simple protocol decoders/encoders.
* Remove full support for colour mapsPierre Ossman2014-07-0748-1247/+309
| | | | | | | | | Gets rid of a loooot of code and complexity. Colour map clients are still supported through an automatically generated map, but we lose the ability to develop a client or server that uses colour maps internally.
* Get rid of unnecessary macros as they are only ever set to a single thingPierre Ossman2014-07-0715-85/+30
|
* Push encoding specific formats into the encoders and decodersPierre Ossman2014-07-0712-63/+91
| | | | Keep the generic stream classes clean and general.
* Consolidate the different palette handler implementationsPierre Ossman2014-07-078-493/+272
|
* Handle CopyRect like any other encodingPierre Ossman2014-07-077-21/+86
| | | | Avoids having to special case things. Keeps the code simpler.
* Avoid reader/writer duplication in every encoder/decoderPierre Ossman2014-07-0724-26/+27
|
* Remove partial update functionalityPierre Ossman2014-07-0715-80/+46
| | | | | | 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.
* Move serialisation of pseudorects into separate functionsPierre Ossman2014-07-072-69/+72
| | | | Keeps the code clearer.
* Merge the "V3" message classes into the normal onesPierre Ossman2014-07-0720-1140/+818
| | | | We have no need for this abstraction so let's keep things simple.
* Merge branch 'pixeltest' of https://github.com/CendioOssman/tigervncPierre Ossman2014-07-077-2/+314
|\
| * Add pixel conversion speed testPierre Ossman2014-07-045-0/+312
| | | | | | | | | | | | Add a tests directory where we can put tests programs that can be useful during testing. Start with a speed test for the pixel conversion routines.
| * librfb needs librdr so make sure it always gets pulled inPierre Ossman2014-07-042-2/+2
| |
* | Merge branch 'cleanup' of https://github.com/CendioOssman/tigervncPierre Ossman2014-07-07112-4856/+763
|\ \ | |/ |/|
| * Remove a lot of platform compatibilty stuffPierre Ossman2014-07-0727-450/+10
| | | | | | | | It's either not used, or no longer relevant.
| * Remove remnants of Windows only clientPierre Ossman2014-07-0712-1346/+0
| |
| * Fix some offenders that poke around in the PixelFormat internalsPierre Ossman2014-07-076-113/+116
| |
| * Avoid code duplication for the linear pixel format conversion methodsPierre Ossman2014-07-071-79/+2
| |
| * Consistent use of stride vs pitchPierre Ossman2014-07-076-23/+24
| | | | | | | | | | | | | | Consistently use the term stride rather than pitch. Also consistently represent the stride in number of pixels rather than number of bytes. There is so much code that assumes proper alignment already that we do not need the extra resolution.
| * Fix possible information leakagePierre Ossman2014-07-071-2/+11
| | | | | | | | Zero the padding byte used when converting 24-bit RGB to 32-bit.
| * Use the same algorithm for conversionsPierre Ossman2014-07-071-73/+53
| | | | | | | | | | | | Make sure that the routines that convert between buffer and rgb representations follow the same algorithm so it's easier to compare them.
| * 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-074-23/+19
| | | | | | | | | | | | 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
| |
| * Remove some premature optimisationPierre Ossman2014-07-076-74/+104
| | | | | | | | Reduces header dependencies.
| * Add some missing whitespacePierre Ossman2014-07-071-0/+3
| |
| * 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-0712-38/+38
| |
| * 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 unused method prototypePierre Ossman2014-07-071-1/+0
| |
| * Remove all unused TX widgetsPierre Ossman2014-07-0711-1487/+1
| |
| * Remove the scaled pixel buffer classes as they are not used.Pierre Ossman2014-07-076-635/+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
| |