On Fri, 2013-05-24 at 11:31 +0100, Gustavo Homem wrote:

[SNIP]

> Some ideas worth evaluating:
> 
> - is the code optimized on the rdp client (rdesktop, xfreerdp) in terms
>   of GCC opts and algorithms?
> - could the client use hardware acccel to scale video and/or converte
>   colorspaces (Xvideo, VAAPI, VDPAU, ...)?
> - could the x11rdp server implement a virtual Xorg extension (Xvideo,
>   VAAPI, ..) so that the decoding can be partially done on the client by
>   hardware (see above); note that this would lower CPU usage on the
>   server as well
> 

There are basically two options as I see it, though I am not an expert
and my analysis of the situation may be wrong.

The first is to use the MS-RPDEV aka Video Redirection Virtual Channel
Extension. The rough overview of this extension is if you wish to play
back a supported media type the undecoded media stream is passed to the
client which decodes the video and displays it. Almost any client will
have sufficient power to decode a video stream. Even a Raspberry Pi can
manage full HD MPEG-4 video (though you need the codec license so it can
be handed over to the hardware).

The problem with this as I see it is that none of the Linux/Unix video
acceleration libraries aka XvMC,VAAPI,VDPAU,XbBA offer the ability to
hand an undecoded video stream to the library and have the GPU or other
a hardware decode the video and present it to the screen.

That said it might be possible to take the video stream at a high level
aka when the transport information has been stripped off and add has
been sent to one of the video acceleration API's but before it has been
decoded, regenerate the transport stream information to make it a full
MPEG2/H.264/WMV9 etc. before using MS-RPDEV to send to the client.

The second options is to use RemoteFX Codex (MS-RDPRFX) to encode the
video stream to be sent to the client, using say Xv extension to
determine what is a video to be compressed.

The RemoteFX Codex would also work well with borrowing from VirtualGL to
enable GPU based hardware acceleration of 3D stuff.

JAB.

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


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
xrdp-devel mailing list
xrdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xrdp-devel

Reply via email to