summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2014-03-21 12:38:59 +0100
committerPierre Ossman <ossman@cendio.se>2014-07-07 13:27:07 +0200
commitca519532cecf64c690bb3ececd875ca6f7f4b2b2 (patch)
treea9ca1a4eaba6fd0a7cdaf51fe14d2bfaf20deba5 /common
parentde1a3b95837379b023aa24d8626392838959d437 (diff)
downloadtigervnc-ca519532cecf64c690bb3ececd875ca6f7f4b2b2.tar.gz
tigervnc-ca519532cecf64c690bb3ececd875ca6f7f4b2b2.zip
Support keeping libjpeg's default compression setting
Diffstat (limited to 'common')
-rw-r--r--common/rfb/JpegCompressor.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/common/rfb/JpegCompressor.cxx b/common/rfb/JpegCompressor.cxx
index b3c5f7c4..47f09d81 100644
--- a/common/rfb/JpegCompressor.cxx
+++ b/common/rfb/JpegCompressor.cxx
@@ -207,9 +207,14 @@ void JpegCompressor::compress(const rdr::U8 *buf, int pitch, const Rect& r,
cinfo->input_components = pixelsize;
jpeg_set_defaults(cinfo);
- jpeg_set_quality(cinfo, quality, TRUE);
- if(quality >= 96) cinfo->dct_method = JDCT_ISLOW;
- else cinfo->dct_method = JDCT_FASTEST;
+
+ if (quality >= 1 && quality <= 100) {
+ jpeg_set_quality(cinfo, quality, TRUE);
+ if (quality >= 96)
+ cinfo->dct_method = JDCT_ISLOW;
+ else
+ cinfo->dct_method = JDCT_FASTEST;
+ }
switch (subsamp) {
case SUBSAMP_420: