Home
last modified time | relevance | path

Searched hist:de3f7de7f4e257ce44cdabb90f5f17ee99624557 (Results 1 – 1 of 1) sorted by relevance

/openbmc/qemu/ui/
H A Dvnc.cdiff 0780ec7be82dd4781e9fd216b5d99a125882ff5a Tue Jan 21 00:02:10 CST 2020 Gerd Hoffmann <kraxel@redhat.com> Revert "vnc: allow fall back to RAW encoding"

This reverts commit de3f7de7f4e257ce44cdabb90f5f17ee99624557.

Remove VNC optimization to reencode framebuffer update as raw if it's
smaller than the default encoding.

QEMU's implementation was naive and didn't account for the ZLIB z_stream
mutating with each compression. Because of the mutation, simply
resetting the output buffer's offset wasn't sufficient to "rewind" the
operation. The mutated z_stream would generate future zlib blocks which
referred to symbols in past blocks which weren't sent. This would lead
to artifacting.

Considering that ZRLE is never larger than raw and even though ZLIB can
occasionally be fractionally larger than raw, the overhead of
implementing this optimization correctly isn't worth it.

Signed-off-by: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
diff de3f7de7f4e257ce44cdabb90f5f17ee99624557 Thu Aug 27 07:46:25 CDT 2015 Peter Lieven <pl@kamp.de> vnc: allow fall back to RAW encoding

I have observed that depending on the contents and the encoding it happens
that sending data as RAW sometimes would take less space than the encoded data.
This is especially the case for small updates or areas with high color images.
If sending RAW encoded data is beneficial allow a fall back to RAW encoding
for the framebuffer update.

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>