]> source.dussan.org Git - tigervnc.git/commitdiff
encperf: Optionally disable pixel translation 124/head
authorDRC <information@virtualgl.org>
Wed, 25 Feb 2015 20:18:07 +0000 (14:18 -0600)
committerDRC <information@virtualgl.org>
Wed, 25 Feb 2015 20:18:07 +0000 (14:18 -0600)
For 16-bit and 8-bit datasets, you can now run encperf with an argument of
-translate=0 to benchmark just the encoder without converting the datasets to
24-bit.  This allows the output of encperf to be directly compared with that
of the TurboVNC Benchmark Tools.

tests/encperf.cxx

index 31d7c7364a96dabd43c6c202e1c182c6f3a1f81b..2628b46a6724597179bd44d660becf6e8173bab9 100644 (file)
@@ -53,6 +53,10 @@ static rfb::IntParameter count("count", "Number of benchmark iterations", 9);
 
 static rfb::StringParameter format("format", "Pixel format (e.g. bgr888)", "");
 
+static rfb::BoolParameter translate("translate",
+                                    "Translate 8-bit and 16-bit datasets into 24-bit",
+                                    true);
+
 // The frame buffer (and output) is always this format
 static const rfb::PixelFormat fbPF(32, 24, false, true, 255, 255, 255, 0, 8, 16);
 
@@ -174,8 +178,6 @@ CConn::CConn(const char *filename)
     decoders[i] = rfb::Decoder::createDecoder(i, this);
   }
 
-  pb.setPF(fbPF);
-
   // Need to skip the initial handshake and ServerInit
   setState(RFBSTATE_NORMAL);
   // That also means that the reader and writer weren't setup
@@ -186,6 +188,8 @@ CConn::CConn(const char *filename)
   pf.parse(format);
   setPixelFormat(pf);
 
+  pb.setPF((bool)translate ? fbPF : pf);
+
   sc = new SConn();
   sc->cp.setPF(pb.getPF());
   sc->setEncodings(sizeof(encodings) / sizeof(*encodings), encodings);