qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Jamie Lokier <jamie@shareable.org>
Cc: qemu-devel@nongnu.org, kraxel@redhat.com,
	Alexander Graf <agraf@suse.de>,
	stefano.stabellini@eu.citrix.com
Subject: Re: [Qemu-devel] [PATCH] Add JPEG encoding to VNC server
Date: Fri, 31 Jul 2009 10:35:36 -0500	[thread overview]
Message-ID: <4A730F48.7050106@codemonkey.ws> (raw)
In-Reply-To: <20090731152750.GA31833@shareable.org>

Jamie Lokier wrote:
> Alexander Graf wrote:
>   
>> While this might sound like it renders the whole implementation useless, it
>> does make sense to implement it nevertheless. I have some ideas to implement
>> progressive encodings for video.
>>
>> So when we'd detect that one region is updated a lot in a short
>> about of time with content that zlib can't really handle well, we'd
>> just send a really low quality JPEG first and then send the update
>> after a timer if the region wasn't updated within that timeframe.
>>     
>
> Detecting video regions may also be possible if virtual video overlay
> hardware can be offered.  It would probably require a special guest
> driver.  virtio-video :-)

vmware-vga can do it already.

I don't want to send JPEG, I'd rather send YUV.  The nice thing about an 
overlay is that you get the yuv data directly and you get small update 
regions (which is a feature of vmware-vga).  The nice thing is that you 
get pretty close to mpeg encoding with that.  If a blit is used for tile 
motion, that's even better.

Also, hardware scaling could be coded effectively too.

>  Then again the trend, if you believe in the
> <video> element demos in web browsers, is likely towards OpenGL-driven
> video frame rendering because it's more versatile.
>
> Sending JPEG quality first and a lossless update after is an
> interesting idea, even for non-video.  On a slow link, seeing boxes
> and buttons appear quickly might be quicker to click through a GUI, as
> you can see where to click even if the text and decorations are a bit
> fuzzy for a moment.  Especially if you already know what to expect.
>
> Is it possible to use any of the lossless or "near-lossless" JPEG
> encodings, and would that be any more efficient than VNC's usual
> lossless encoding?
>   

near-lossless is going to result in very large images.  I'm quite sure 
it's worse than even hextile.

OTOH, zlib compressed raw tiles is probably pretty close to as good as 
hextile and it's quite easy to do.  Alex has already done it once for 
the zlib encoding :-)

Regards,

Anthony Liguori

      reply	other threads:[~2009-07-31 15:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-31  7:21 [Qemu-devel] [PATCH] Add JPEG encoding to VNC server Alexander Graf
2009-07-31 12:52 ` David Turner
2009-07-31 13:03   ` Alexander Graf
2009-07-31 14:11 ` [Qemu-devel] " Anthony Liguori
2009-07-31 14:50   ` Alexander Graf
2009-07-31 15:27 ` [Qemu-devel] " Jamie Lokier
2009-07-31 15:35   ` Anthony Liguori [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A730F48.7050106@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=agraf@suse.de \
    --cc=jamie@shareable.org \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano.stabellini@eu.citrix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).