diff options
author | DRC <dcommander@users.sourceforge.net> | 2011-08-09 18:20:55 +0000 |
---|---|---|
committer | DRC <dcommander@users.sourceforge.net> | 2011-08-09 18:20:55 +0000 |
commit | 92668fd72197c98e07846957cf2e564e32be4170 (patch) | |
tree | 86c5f06226ba70a46866ed9d4f56143dbb963cf6 /common | |
parent | 92d3db02c86e766180a7548ce17e0445a292eb72 (diff) | |
download | tigervnc-92668fd72197c98e07846957cf2e564e32be4170.tar.gz tigervnc-92668fd72197c98e07846957cf2e564e32be4170.zip |
Oops. BPP is always 8 in the body of compressData(). We want pf.bpp instead.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/1_1@4621 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'common')
-rw-r--r-- | common/rfb/tightEncode.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/common/rfb/tightEncode.h b/common/rfb/tightEncode.h index 1a0ea82d..28d6dc2b 100644 --- a/common/rfb/tightEncode.h +++ b/common/rfb/tightEncode.h @@ -182,14 +182,15 @@ static int paletteInsert(rdr::U32 rgb, int numPixels, int bpp) // static void compressData(rdr::OutStream *os, rdr::ZlibOutStream *zos, - const void *buf, unsigned int length, int zlibLevel) + const void *buf, const PixelFormat& pf, + unsigned int length, int zlibLevel) { if (length < TIGHT_MIN_TO_COMPRESS) { os->writeBytes(buf, length); } else { // FIXME: Using a temporary MemOutStream may be not efficient. // Maybe use the same static object used in the JPEG coder? - int maxBeforeSize = s_pconf->maxRectSize * (BPP / 8); + int maxBeforeSize = s_pconf->maxRectSize * (pf.bpp / 8); int maxAfterSize = maxBeforeSize + (maxBeforeSize + 99) / 100 + 12; rdr::MemOutStream mem_os(maxAfterSize); zos->setUnderlying(&mem_os); @@ -394,7 +395,7 @@ static void ENCODE_FULLCOLOR_RECT (rdr::OutStream *os, rdr::ZlibOutStream zos[4] os->writeU8(streamId << 4); int length = PACK_PIXELS(buf, r.area(), pf); - compressData(os, &zos[streamId], buf, length, s_pconf->rawZlibLevel); + compressData(os, &zos[streamId], buf, pf, length, s_pconf->rawZlibLevel); } static void ENCODE_MONO_RECT (rdr::OutStream *os, rdr::ZlibOutStream zos[4], @@ -460,7 +461,7 @@ static void ENCODE_MONO_RECT (rdr::OutStream *os, rdr::ZlibOutStream zos[4], // Write the data int length = (w + 7) / 8; length *= h; - compressData(os, &zos[streamId], buf, length, s_pconf->monoZlibLevel); + compressData(os, &zos[streamId], buf, pf, length, s_pconf->monoZlibLevel); } #if (BPP != 8) @@ -508,7 +509,7 @@ static void ENCODE_INDEXED_RECT (rdr::OutStream *os, rdr::ZlibOutStream zos[4], } // Write the data - compressData(os, &zos[streamId], buf, r.area(), s_pconf->idxZlibLevel); + compressData(os, &zos[streamId], buf, pf, r.area(), s_pconf->idxZlibLevel); } #endif // #if (BPP != 8) |