aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/Encoder.h
diff options
context:
space:
mode:
authorDRC <dcommander@users.sourceforge.net>2011-08-17 02:27:59 +0000
committerDRC <dcommander@users.sourceforge.net>2011-08-17 02:27:59 +0000
commitffe09d68f578f6765ed73f3b2bf9d4ea37a0b66b (patch)
tree35a2d8caf9c4393a894b39a3f1e3a6a3748f02a2 /common/rfb/Encoder.h
parent4c44600b9b8c0ca5b5bf078470cdc4c1b4fc2c48 (diff)
downloadtigervnc-ffe09d68f578f6765ed73f3b2bf9d4ea37a0b66b.tar.gz
tigervnc-ffe09d68f578f6765ed73f3b2bf9d4ea37a0b66b.zip
Further optimizations to the Tight encoder to eliminate getImage() overhead. The encoder now directly accesses the framebuffer for solid rectangle computation, JPEG encoding, and color counting (if pixel translation is not required.) Also moved everything in tightEncode.h into the TightEncoder class to eliminate all of the static mess (this will be important later on if we decide to multi-thread the encoder.)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4631 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'common/rfb/Encoder.h')
-rw-r--r--common/rfb/Encoder.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/rfb/Encoder.h b/common/rfb/Encoder.h
index 2a6e2f6b..893c0138 100644
--- a/common/rfb/Encoder.h
+++ b/common/rfb/Encoder.h
@@ -20,6 +20,7 @@
#include <rfb/Rect.h>
#include <rfb/encodings.h>
+#include <rfb/TransImageGetter.h>
namespace rfb {
class SMsgWriter;
@@ -38,7 +39,8 @@ namespace rfb {
// writeRect() tries to write the given rectangle. If it is unable to
// write the whole rectangle it returns false and sets actual to the actual
// rectangle which was updated.
- virtual bool writeRect(const Rect& r, ImageGetter* ig, Rect* actual)=0;
+ virtual bool writeRect(const Rect& r, TransImageGetter* ig,
+ Rect* actual)=0;
static bool supported(int encoding);
static Encoder* createEncoder(int encoding, SMsgWriter* writer);