On Fri, 2013-06-21 at 20:45 -0700, Jay Sorg wrote:
> Oh, BTW, if you want to turn it on to see the server side CPU savings,
> uncomment rdpXvInit(pScreen) in rdpmain.c.
> 
> To get back to the original question for this thread, we could still
> do everything in software and use this extension to know when to
> compress the bitmaps or not.  Instead of analyzing the image data, use
> a hint to know when video is playing and not try to compress.
> 

I would say the best option is to recompress the YUV data using the
RemoteFX codex and stuff it down a RemoteFX channel to the client
(assuming the client supports RemoteFX). That way any RDP client that
supports RemoteFX will gain the benefit of the video acceleration.

My understanding is that the YUV to RGB coversion and scaling accounts
for the bulk of the work in decoding video. This ties in with your
experiments that shows the CPU dropping from 88% to 12%.

Looking at the FreeRDP code they seem to have code to compress the YUV
data (more correctly YCbCr) with the RemoteFX compression codex using
SSE2 extensions which should keep the CPU overhead low. It could even be
extended in the future to use OpenCL and/or CUDA and thus be offloaded
to a GPU for even lower CPU overhead.

JAB.

-- 
Jonathan A. Buzzard                 Email: jonathan (at) buzzard.me.uk
Fife, United Kingdom.


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
xrdp-devel mailing list
xrdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xrdp-devel

Reply via email to