Kaynağa Gözat

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
tags/v0.0.90
Constantin Kaplinsky 16 yıl önce
ebeveyn
işleme
c257370bef

+ 5
- 4
common/rfb/IrixDMJpegCompressor.cxx Dosyayı Görüntüle

@@ -35,7 +35,7 @@ IrixDMJpegCompressor::~IrixDMJpegCompressor()
}

//
// Set JPEG quality level (0..100)
// Set JPEG quality level (1..100)
//
// FIXME: Call m_ic.setImageQuality() when necessary.
//
@@ -43,10 +43,11 @@ IrixDMJpegCompressor::~IrixDMJpegCompressor()
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;
}

+ 3
- 3
common/rfb/JpegCompressor.cxx Dosyayı Görüntüle

@@ -134,11 +134,11 @@ StandardJpegCompressor::termDestination()
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);
}


+ 6
- 3
common/rfb/JpegEncoder.cxx Dosyayı Görüntüle

@@ -35,7 +35,7 @@ BoolParameter JpegEncoder::useHardwareJPEG
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 @@ JpegEncoder::~JpegEncoder()

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)

Loading…
İptal
Kaydet