Go to file
Norbert Federa 04518f0b42 codec: fixed and accelerated RemoteFX ycbcr-to-rgb decoder
The current ycbcr decoder was loosing some bits because cr/cb was multiplied by
the shifted factors.
Instead one should multiply by the non-shifted factors and shift the result.
The effects of these lost bits are easily seen by comparing the colors of a
RemoteFX session with the colors of a plain RDP session - they are just wrong ;)

I've replaced the bit-magic from the non non-accelerated version (rfx_decode.c)
and replaced it with simple float multiplications using the compiler's implicit
integer conversions. On several test machines this was even a little bit faster.

The accelerated SSE2 ycbcr decoder (rfx_sse2.c) was completely changed in order
to make use of the SSE2 signed 16-bit integer multiplication.
Fortunately the factors in the conversion matrix are so small that we can
easily shift them to the maximum possible 16-bit signed integer value without
loosing any information and use _mm_mulhi_epi16 which takes the upper 16 bits
of the 32-bit result.

The SSE2 ycbcr decoder is now much simpler and about 40 percent faster.
2011-12-27 16:18:02 +01:00
channels Fix crash when connecting using smartcard 2011-12-22 14:23:08 -05:00
client libfreerdp-core: move os type settings to the client. 2011-12-24 15:48:33 +08:00
cmake Add option for WITH_DEBUG_WND for window order updating, already existing in code 2011-12-06 15:43:38 -08:00
cunit update: move primary orders into sub-interface 2011-11-21 18:11:43 -05:00
docs docs: update Doxyfile 2011-11-11 14:26:28 -05:00
include libfreerdp-core: move os type settings to the client. 2011-12-24 15:48:33 +08:00
keymaps keymaps: removed Makefile, which created by cmake. 2011-09-03 17:00:37 +03:00
libfreerdp-cache libfreerdp-cache: fix pointer updates with --no-fastpath 2011-12-16 11:14:55 -05:00
libfreerdp-channels freerdp-libchannels: freerdp_channels_send_event free event in case of error 2011-12-21 17:54:27 -06:00
libfreerdp-codec codec: fixed and accelerated RemoteFX ycbcr-to-rgb decoder 2011-12-27 16:18:02 +01:00
libfreerdp-core libfreerdp-core: move os type settings to the client. 2011-12-24 15:48:33 +08:00
libfreerdp-gdi Detect when sever visual has an inverted color map and invert all color conversions. 2011-12-21 17:00:09 -06:00
libfreerdp-kbd Fix SEGV for X servers without XKB extension. 2011-12-21 16:58:56 -06:00
libfreerdp-rail wfreerdp: fix compilation and warnings 2011-12-03 17:24:18 -05:00
libfreerdp-utils libfreerdp-utils: fix a handle leak while creating threads under win32 2011-12-21 08:50:47 +08:00
resources xfreerdp: set icon for DesktopWindow 2011-10-22 12:02:42 -05:00
server libfreerdp-core: move os type settings to the client. 2011-12-24 15:48:33 +08:00
.gitignore xfreerdp-server: add missing FindXdamage.cmake 2011-11-08 17:52:09 -05:00
CMakeLists.txt cmake: Add a wrapper module for GNUInstallDirs. 2011-12-06 00:12:10 -05:00
LICENSE FreeRDP 1.0: initial commit 2011-06-30 15:12:51 -04:00
README Documentation typo fix. 2011-07-25 20:27:35 +10:00
config.h.in Add option for WITH_DEBUG_WND for window order updating, already existing in code 2011-12-06 15:43:38 -08:00
freerdp.pc.in freerdp.pc: freerdp-chanman renamed to freerdp-channels. 2011-10-30 22:00:27 +08:00
freerdp.spec freerdp.spec: update descriptions 2011-11-13 17:30:09 -05:00

README

FreeRDP: A Remote Desktop Protocol Client
=========================================

FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) following the Microsoft Open Specifications.

Resources
---------

Website: http://www.freerdp.com/
Wiki: http://www.freerdp.com/wiki/
Sources: http://www.freerdp.com/git/
API doc: http://www.freerdp.com/api/

IRC channel: #freerdp @ irc.freenode.net
Mailing list: https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Microsoft Open Specifications
-----------------------------

Information regarding the Microsoft Open Specifications can be found at:
http://www.microsoft.com/openspecifications/

Compilation
-----------

Instructions on how to get started compiling FreeRDP can be found on the wiki:
http://www.freerdp.com/wiki/doku.php?id=compilation