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