diff options
author | DRC <information@virtualgl.org> | 2017-11-06 17:25:41 -0600 |
---|---|---|
committer | DRC <information@virtualgl.org> | 2018-01-22 16:49:11 -0600 |
commit | d7b14624cbb9ed7b9df3532658e1edba8da606a6 (patch) | |
tree | 8f741c88d3d1b49d091f36238e57c84b574421b2 /CMakeLists.txt | |
parent | 6814e946e0afed20a6ef0f45a9bcbfeda2e77706 (diff) | |
download | libtdevnc-d7b14624cbb9ed7b9df3532658e1edba8da606a6.tar.gz libtdevnc-d7b14624cbb9ed7b9df3532658e1edba8da606a6.zip |
Include Tight decoding optimizations from TurboVNC
- As with the encoder, the decoder now uses the TurboJPEG wrapper, which
allows it to decode JPEG images directly into the framebuffer. This
eliminates a buffer copy (CopyRectangle()) as well as the expensive
RGB pixel conversion in DecompressJpegRectBPP(). The TurboJPEG
wrapper performs RGB pixel conversion more optimally, and only when
necessary (it uses the libjpeg-turbo colorspace extensions when
available, in order to avoid RGB conversion.)
- The other Tight subencoding types are also now decoded directly into
the framebuffer, which eliminates buffer copies.
- The Tight decoder now supports the rfbTightNoZlib extension, which
allows the server to bypass zlib compression when Compression Level 0
is selected. The encoder already supports this extension. Passing
the data stream through zlib when Compression Level 0 is selected
needlessly wastes CPU time, since all zlib is doing is copying the
data internally into its own structures.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f605202..caf1832 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -317,6 +317,13 @@ set(LIBVNCCLIENT_SOURCES ${COMMON_DIR}/minilzo.c ) +if(JPEG_FOUND) + set(LIBVNCCLIENT_SOURCES + ${LIBVNCCLIENT_SOURCES} + ${COMMON_DIR}/turbojpeg.c + ) +endif() + if(GNUTLS_FOUND) set(LIBVNCCLIENT_SOURCES ${LIBVNCCLIENT_SOURCES} |