• David Verbeiren's avatar
    LibVNCClient: Add H.264 encoding for framebuffer updates · d891478e
    David Verbeiren authored
    This patch implements support in LibVNCClient for framebuffer updates
    encoded as H.264 frames. Hardware accelerated decoding is performed
    using VA API.
    
    This is experimental support to let the community explore the possibilities
    offered by the potential bandwidth and latency reductions that H.264 encoding
    allows. This may be particularly useful for use cases such as online gaming,
    hosted desktops, hosted set top boxes...
    
    This patch only provides the client side support and is meant to be used
    with corresponding server-side support, as provided by an upcoming patch for
    qemu ui/vnc module (to view the display of a virtual machine executing under
    QEMU).
    
    With this H.264-based encoding, if multiple framebuffer update messages
    are generated for a single server framebuffer modification, the H.264
    frame data is sent only with the first update message. Subsequent update
    framebuffer messages will contain only the coordinates and size of the
    additional updated regions.
    
    Instructions/Requirements:
    * The patch should be applied on top of the previous patch I submitted with
    minor enhancements to the gtkvncviewer application:
    http://sourceforge.net/mailarchive/message.php?msg_id=30323804
    * Currently only works with libva 1.0: use branch "v1.0-branch" for libva and
    intel-driver. Those can be built as follows:
       cd libva
       git checkout v1.0-branch
       ./autogen.sh
       make
       sudo make install
       cd ..
       git clone git://anongit.freedesktop.org/vaapi/intel-driver
       cd intel-driver
       git checkout v1.0-branch
       ./autogen.sh
       make
       sudo make install
    Signed-off-by: 's avatarDavid Verbeiren <david.verbeiren@intel.com>
    d891478e
Name
Last commit
Last update
VisualNaCro Loading commit data...
client_examples Loading commit data...
common Loading commit data...
examples Loading commit data...
libvncclient Loading commit data...
libvncserver Loading commit data...
rfb Loading commit data...
test Loading commit data...
utils Loading commit data...
vncterm Loading commit data...
webclients Loading commit data...
x11vnc Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CMakeLists.txt Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
Doxyfile Loading commit data...
INSTALL Loading commit data...
LibVNCServer.spec.in Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
TODO Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
libvncclient.pc.in Loading commit data...
libvncserver-config.in Loading commit data...
libvncserver.pc.in Loading commit data...
ltmain.sh Loading commit data...
prepare_x11vnc_dist.sh Loading commit data...
tightvnc-1.3dev5-vncviewer-alpha-cursor.patch Loading commit data...