Changes in mapping of JPEG quality levels. Minor code cleanups.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2360 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/IrixDMJpegCompressor.cxx b/common/rfb/IrixDMJpegCompressor.cxx
index dda059f..6e155ec 100644
--- a/common/rfb/IrixDMJpegCompressor.cxx
+++ b/common/rfb/IrixDMJpegCompressor.cxx
@@ -35,7 +35,7 @@
 }
 
 //
-// Set JPEG quality level (0..100)
+// Set JPEG quality level (1..100)
 //
 // FIXME: Call m_ic.setImageQuality() when necessary.
 //
@@ -43,10 +43,11 @@
 void
 IrixDMJpegCompressor::setQuality(int level)
 {
-  if (level < 0)
-    level = 0;
-  if (level > 100)
+  if (level < 1) {
+    level = 1;
+  } else if (level > 100) {
     level = 100;
+  }
 
   m_quality = level;
 }
diff --git a/common/rfb/JpegCompressor.cxx b/common/rfb/JpegCompressor.cxx
index 0914f85..0de87b4 100644
--- a/common/rfb/JpegCompressor.cxx
+++ b/common/rfb/JpegCompressor.cxx
@@ -134,11 +134,11 @@
 void
 StandardJpegCompressor::setQuality(int level)
 {
-  if (level < 0)
+  if (level < 0) {
     level = 0;
-  if (level > 100)
+  } else if (level > 100) {
     level = 100;
-
+  }
   jpeg_set_quality(&m_cinfo, level, true);
 }
 
diff --git a/common/rfb/JpegEncoder.cxx b/common/rfb/JpegEncoder.cxx
index 51d48f1..6903c2c 100644
--- a/common/rfb/JpegEncoder.cxx
+++ b/common/rfb/JpegEncoder.cxx
@@ -35,7 +35,7 @@
  true);
 
 const int JpegEncoder::qualityMap[10] = {
-  5, 10, 15, 25, 37, 50, 60, 70, 75, 80
+  2, 10, 15, 25, 37, 50, 60, 70, 80, 90
 };
 
 JpegEncoder::JpegEncoder(SMsgWriter* writer_) : writer(writer_), jcomp(0)
@@ -71,9 +71,12 @@
 
 void JpegEncoder::setQualityLevel(int level)
 {
-  if (level >= 0 && level <= 9) {
-    jcomp->setQuality(qualityMap[level]);
+  if (level < 0) {
+    level = 0;
+  } else if (level > 9) {
+    level = 9;
   }
+  jcomp->setQuality(qualityMap[level]);
 }
 
 bool JpegEncoder::writeRect(PixelBuffer* pb, const Rect& r)