Commit Graph

1630 Commits

Author SHA1 Message Date
Marc-André Moreau
59b8bd0bd1 libfreerdp-codec: start reading progressive RAW bytes 2014-08-27 18:34:37 -04:00
Marc-André Moreau
32766b0647 libfreerdp-codec: start computing BitPos 2014-08-27 17:02:15 -04:00
Marc-André Moreau
51d1d42616 libfreerdp-codec: fix progressive tile diffing 2014-08-27 15:15:37 -04:00
Marc-André Moreau
656dd760c5 libfreerdp-codec: fix sub-band diffing 2014-08-26 16:15:22 -04:00
Marc-André Moreau
4773403243 libfreerdp-codec: partial YCbCr diffing support 2014-08-26 14:36:33 -04:00
Marc-André Moreau
ec53dd612e libfreerdp-codec: fix progressive codec tile drawing offset, fix dequantization 2014-08-25 19:50:42 -04:00
Marc-André Moreau
2cffa7d8f4 libfreerdp-codec: make use of progressive quantization factors 2014-08-25 17:58:38 -04:00
Marc-André Moreau
ed7312501c libfreerdp-codec: fix progressive quantization shifts 2014-08-21 19:43:37 -04:00
Marc-André Moreau
969d9011da libfreerdp-codec: partially working progressive iDWT 2014-08-21 19:02:26 -04:00
Marc-André Moreau
f79ba1b364 libfreerdp-codec: fix crashes 2014-08-21 17:14:10 -04:00
Marc-André Moreau
f77e515965 libfreerdp-codec: improve progressive iDWT 2014-08-21 16:05:39 -04:00
Marc-André Moreau
e54bbdab00 libfreerdp-codec: start new progressive rfx iDWT functions 2014-08-20 19:12:08 -04:00
erbth
dee50a8ca2 H264 data alignement and 32 bit comilation ... 2014-08-21 00:58:08 +02:00
erbth
9eec9cb18a RDPEGFX H264 YUV data conversion in assembly/with SSSE3 in 32bit 2014-08-21 00:08:56 +02:00
Marc-André Moreau
5e778d6a0c libfreerdp-codec: intermediate progressive rfx iDWT 2014-08-20 17:16:34 -04:00
Daniel Bungert
27fc3ee64d Fix multiple cases of use of uninitialized vars
* Zeroing xevent helped address some erratic behavior.
* valgrind complained about using xfBitmap uninitialized
  during shutdown, traced it back to the initialization.
  Bitmap_Prototype->size > sizeof(rdpBitmap).
* Early exit from recv_tpkt_pdu is necessary to address
  a shutdown crash - the channelId value was being used
  without being set in the disconnect case.
2014-08-20 03:54:05 -06:00
Marc-André Moreau
68b3d0476b libfreerdp-codec: start work on progressive inverse DWT 2014-08-19 14:48:09 -04:00
Marc-André Moreau
2e672d5bdb libfreerdp-codec: optimize RemoteFX dequantization and differentiation 2014-08-18 21:10:56 -04:00
Marc-André Moreau
6744bbe7ae libfreerdp-codec: start working on progressive dequantization 2014-08-18 19:12:08 -04:00
Marc-André Moreau
1a8c763309 Merge branch 'shadow' of github.com:awakecoding/FreeRDP 2014-08-18 17:06:13 -04:00
Marc-André Moreau
5e177118aa Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-08-18 16:23:45 -04:00
Marc-André Moreau
82a53057a1 Merge pull request #2023 from ptsekov/software-gdi-improvements
Software GDI improvements
2014-08-18 16:22:23 -04:00
erbth
497e130c21 YUV data conversion using SSSE3/assembly with libavcodec implementation 2014-08-18 21:21:24 +02:00
Marc-André Moreau
ca90650336 shadow: fix race conditions 2014-08-15 18:12:53 -04:00
Marc-André Moreau
0457a29f57 shadow: fix WDS connectivity 2014-08-15 14:15:53 -04:00
Marc-André Moreau
78d43ced3d Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-08-15 11:44:07 -04:00
Marc-André Moreau
168d46f253 Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP
Conflicts:
	libfreerdp/core/nego.c
	libfreerdp/core/peer.c
	winpr/libwinpr/synch/wait.c
2014-08-15 11:43:50 -04:00
Marc-André Moreau
158f9856ba shadow: start RDP client backend for WDS 2014-08-14 18:41:22 -04:00
Pavel Tsekov
651887c7e0 Fix erronous use of colors in gdi_patblt().
* libfreerdp/gdi/gdi.c:
(gdi_patblt): Fix a call to freerdp_mono_image_convert() which was
still passed colors in drawing order representation instead of GDI
representation.
2014-08-14 20:21:49 +03:00
Pavel Tsekov
eab69c2984 Fix 1bpp -> 16bpp image conversion.
* libfreerdp/codec/color.c (freerdp_mono_image_convert): Update the
1bpp -> 16bpp conversion code to reflect the fact that the foreground
and the background colors are in GDI representation now.
2014-08-14 20:09:12 +03:00
Norbert Federa
3c8700f62d Merge pull request #1963 from akallabeth/async-update-to-lib
Moved update thread from client to library.
2014-08-14 17:46:43 +02:00
Marc-André Moreau
86a68f0c0f shadow: start Windows Desktop Sharing API support 2014-08-13 17:48:57 -04:00
Pavel Tsekov
53e19e0da7 Fix conversion of 24bpp bitmaps to 32bpp fb when
CLRCONV_INVERT and/or CLRCONV_ALPHA is set.
* include/freerdp/codec/color.h (RGB32_to_BGR32): New inline function.
* libfreerdp/codec/color.c:
(freerdp_image_convert_24bpp): Fix CLRCONV_ALPHA and CLRCONV_INVERT
processing for 32bpp destination.
Unroll the conversion loop to process four pixels in one go using
32-bit load and store operations.
2014-08-14 00:31:15 +03:00
erbth
095a7aba99 OpenH264 YUV data conversion with intel SSSE3 in assembly 2014-08-13 20:56:40 +02:00
Mike McDonald
5906efc5f7 Fixed a FreeRDP server problem which prevented RDP security from being negotiated. 2014-08-13 11:01:43 -04:00
Mike McDonald
37c8ce48e3 Fixed typo in message 2014-08-13 10:14:56 -04:00
Bernhard Miklautz
e5e1a75c35 crypto: fix fingerprint
Latest logging changes introduced a problem with fingerprint generation.
The last byte wasn't added.
2014-08-12 15:40:53 +02:00
Marc-André Moreau
e4a4aa4d3a Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	channels/encomsp/client/encomsp_main.c
	libfreerdp/core/tcp.c
	libfreerdp/crypto/certificate.c
	server/Windows/CMakeLists.txt
	server/X11/xf_cursor.c
	server/X11/xf_input.c
	server/X11/xf_interface.c
	server/X11/xf_monitors.c
	server/X11/xf_peer.c
2014-08-11 19:22:33 -04:00
Marc-André Moreau
87fd839a35 libfreerdp-codec: cleanup and fix __lzcnt on Windows 2014-08-11 18:48:42 -04:00
Marc-André Moreau
dc7f89dbd5 Merge branch 'egfx' of github.com:awakecoding/FreeRDP 2014-08-11 17:25:38 -04:00
Marc-André Moreau
7171a0b5c1 libfreerdp-core: fix reconnection using client random 2014-08-11 11:23:23 -04:00
Marc-André Moreau
cff9c16c1e Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	channels/disp/client/disp_main.c
2014-08-11 10:36:07 -04:00
Marc-André Moreau
067da290dd Merge pull request #2027 from akallabeth/winpr-log
Replace stdout and logging defines with WLog, add logcat support
2014-08-11 10:38:28 -04:00
Marc-André Moreau
51ac7fffbd Merge pull request #1993 from bmiklautz/merge/from-stable-1.1
Pick changes from stable-1.1 that are not yet on master
2014-08-11 10:28:10 -04:00
Armin Novak
d0c5d9bb9e Fixed missing include. 2014-08-11 09:49:57 +02:00
Armin Novak
784696c1cd Fixed missing includes and invalid replacement. 2014-08-11 09:38:08 +02:00
Armin Novak
bcb5f90ee6 Replaced perror with DEBUG_WARN 2014-08-11 09:19:23 +02:00
Benoit LeBlanc
b990c2002a Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-08-08 11:42:53 -04:00
erbth
a8945306a1 Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx 2014-08-08 15:22:47 +02:00
erbth
a8257b5201 fixed some memory leaks arround DVC and RDPEGFX 2014-08-08 15:19:49 +02:00
Armin Novak
b897c6a433 Replaced fprintf(stderr with DEBUG_WARN 2014-08-07 22:20:35 +02:00
Armin Novak
eecc8e2333 Removed debug.c 2014-08-07 21:38:11 +02:00
Pavel Tsekov
052173de5f Do not assume 32bpp framebuffer when flipping NSCodec bitmaps.
* libfreerdp/gdi/gdi.c (gdi_surface_bits): Do not assume 32bpp
framebuffer when flipping NSCodec compressed bitmaps.
2014-08-07 20:37:06 +03:00
Pavel Tsekov
adb750f7ca Convert NSCodec compressed bitmaps to framebuffer format.
* libfreerdp/gdi/gdi.c (gdi_surface_bits): Convert NSCodec compressed
bitmaps to framebuffer format.
2014-08-07 20:33:30 +03:00
Armin Novak
f00cb3d25c Reverted previous replacements, not to be done for tests. 2014-08-07 19:05:22 +02:00
Armin Novak
a27706d129 Fixed missing includes. 2014-08-07 18:25:43 +02:00
Armin Novak
f4c133eaf8 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:24 +02:00
Pavel Tsekov
c51c5df2ff * include/freerdp/codec/color.h:
(freerdp_color_convert_drawing_order_color_to_gdi_color): Declare new
function.
* libfreerdp/codec/color.c:
(freerdp_color_convert_drawing_order_color_to_gdi_color): Implement.
(freerdp_image_convert_8bpp): Properly use the ARGB32/ABGR32/RGB32/BGR32
macros when converting 8bpp data to 32bpp.
(freerdp_image_convert_32bpp): Fix CLRCONV_ALPHA and CLRCONV_INVERT
processing for 32bpp destination.
(freerdp_mono_image_convert): Use ARGB32/ABGR32 when converting to 32bpp
and CLRCONV_ALPHA is set.
* libfreerdp/core/orders.c: Color data from drawing orders is
interpreted in big endian mode.
* libfreerdp/core/update.c (update_read_palette): Likewise.
* libfreerdp/gdi/16bpp.c (gdi_get_color_16bpp): GDI colors are stored as
RGB now.
* libfreerdp/gdi/32bpp.c (gdi_get_color_32bpp): Likewise.
* libfreerdp/gdi/gdi.c:
Use freerdp_color_convert_drawing_order_color_to_gdi_color() to convert
from drawing order color representation to GDI color representation
troughout.
* libfreerdp/gdi/graphics.c (gdi_Glyph_BeginDraw): Likewise.
(gdi_Glyph_EndDraw): Likewise.
2014-08-07 00:58:58 +03:00
Benoît LeBlanc
1f2f9dfbdc fix gdi_resize: set primary_buffer to NULL to avoid use after free 2014-08-06 17:02:21 -04:00
Marc-André Moreau
9838200068 libfreerdp-core: fix unix domain socket support 2014-08-06 12:08:00 -04:00
Marc-André Moreau
2653c5420f libfreerdp-codec: start processing tiles in progressive rfx 2014-08-06 10:23:14 -04:00
Marc-André Moreau
22d3b6c74b libfreerdp-codec: remove old RemoteFX RLGR implementation in favour of faster one 2014-08-05 21:41:58 -04:00
Marc-André Moreau
b7ca13f19d libfreerdp-codec: add RLGR3 support in new RLGR function 2014-08-05 21:26:47 -04:00
Marc-André Moreau
db5b947852 libfreerdp-codec: optimize RLGR1 2014-08-05 17:22:20 -04:00
Marc-André Moreau
e6dbbfb305 libfreerdp-codec: fix progressive RLGR1 decode 2014-08-05 17:07:06 -04:00
Marc-André Moreau
3895c930a3 Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-08-05 09:56:12 -04:00
Marc-André Moreau
85b1d6c167 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/codec/h264.c
2014-08-05 09:55:54 -04:00
U-PAVEL\Pavel Tsekov
8a4f134fab Revert to 15d2b35574 2014-08-05 14:35:31 +03:00
Marc-André Moreau
88e5bacda7 libfreerdp-codec: improve progressive rfx rlgr1 2014-08-03 00:08:22 -04:00
Marc-André Moreau
51f6ffd2ba libfreerdp-codec: improve rfx progressive RLGR1 implementation 2014-08-02 22:26:05 -04:00
Marc-André Moreau
85026bff76 libfreerdp-codec: initial RLGR1 progressive implementation 2014-08-02 11:24:47 -04:00
Marc-André Moreau
14a3ff94eb libfreerdp-codec: simplify block reading logic 2014-08-01 09:44:00 -04:00
Marc-André Moreau
574c1789b7 libfreerdp-codec: start processing progressive tiles 2014-07-31 15:08:54 -04:00
erbth
64501b895b Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx
Conflicts:
	libfreerdp/codec/h264.c (deleted in my repo in order to get complete remote file)
2014-07-30 13:11:05 +02:00
erbth
55407bd4e8 repo prepared for merging #2 2014-07-30 13:08:08 +02:00
erbth
de46a0c738 repo prepared for merging 2014-07-30 12:46:52 +02:00
Marc-André Moreau
800be2f680 libfreerdp-codec: complete parsing of progressive codec block arrays 2014-07-29 17:37:46 -04:00
erbth
20e76411dc H.264 hack and first port of YUV to XRGB format conversion to assembly 2014-07-29 21:42:04 +02:00
Marc-André Moreau
7c07035f29 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-07-29 13:41:57 -04:00
Marc-André Moreau
c060fb07a2 libfreerdp-codec: fix build on Windows 2014-07-29 13:41:21 -04:00
Marc-André Moreau
2b3cd39026 libfreerdp-codec: more parsing of progressive data blocks 2014-07-29 12:38:29 -04:00
Pavel Tsekov
8c3080f345 Fix 1bpp to 32bpp conversion with CLRCONV_ALPHA on
* libfreerdp/codec/color.c (freerdp_mono_image_convert): Use
ARGB32/ABGR32 when
using 32bpp framebuffer and CLRCONV_ALPHA is set.
2014-07-29 11:19:25 +03:00
Marc-André Moreau
a3de93d867 libfreerdp-codec: start parsing progressive codec 2014-07-28 23:41:16 -04:00
Bernhard Miklautz
a124f6a7c6 fix comment style
// to /* */
2014-07-29 05:22:30 +02:00
Bernhard Miklautz
a9eed46e38 Fix warnings found in Xcode 2014-07-29 05:22:30 +02:00
Bernhard Miklautz
8c318da7b1 fix compiler warnings 2014-07-29 05:22:29 +02:00
Bernhard Miklautz
b8415af0d8 Fix compiler warnings.
This commit is based on pull request #1493
2014-07-29 05:22:29 +02:00
Marc-André Moreau
0c408c213c libfreerdp-codec: stub progressive codec decompressor 2014-07-28 17:42:23 -04:00
Marc-André Moreau
8321d7ffad libfreerdp-codec: fix OpenH264 usage thanks to @erbth's hack 2014-07-28 17:22:02 -04:00
Marc-André Moreau
6c034f17eb Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx 2014-07-28 17:04:03 -04:00
Marc-André Moreau
780079d629 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-07-28 16:59:29 -04:00
Marc-André Moreau
b56eaccdc3 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/common/client.c
2014-07-28 16:58:32 -04:00
Marc-André Moreau
42ec69f9c7 Merge branch 'master' of github.com:awakecoding/FreeRDP 2014-07-28 16:47:56 -04:00
Marc-André Moreau
e303c3bd4c channels: cleanup RDP8 virtual channels 2014-07-28 16:47:42 -04:00
Marc-André Moreau
15d2b35574 Merge pull request #1982 from bmiklautz/feat/read_pdu
Transport re-factor and clean up
2014-07-28 16:32:06 -04:00
Norbert Federa
cdcdec99bc OpenSSL thread safety
freerdp/winpr had the following issues:
* The non reentrant SSL_library_init() was called concurrently (crash)
* Missing code/api to set the eventually required OpenSSL static and dynamic locking callbacks
* Missing code/api to free the application-global or thread-local OpenSSL data and tables

This commit creates two new winpr functions:

BOOL winpr_InitializeSSL(DWORD flags):

Use the flag WINPR_SSL_INIT_ALREADY_INITIALIZED if you want to tell winpr that
your application has already initialized OpenSSL.
If required use the flag WINPR_SSL_INIT_ENABLE_LOCKING to tell winpr that it
should set the OpenSSL static and dynamic locking callbacks.
Otherwise just call it with the flag WINPR_SSL_INIT_DEFAULT.

The recommended way is that your application calls this function once before
any threads are created. However, in order to support lazy OpenSSL library
initialization winpr_InitializeSSL() can also safely be called multiple times
and concurrently because it uses the new InitOnceExecuteOnce() function to
guarantee that the initialization is only performed successfully once during
the life time of the calling process.

BOOL winpr_CleanupSSL(DWORD flags):

If you create a thread that uses SSL you should call this function before the
thread returns using the flag WINPR_SSL_CLEANUP_THREAD in order to clean up
the thread-local OpenSSL data and tables.
Call the function with the flag WINPR_SSL_CLEANUP_GLOBAL before terminating
your application.

Note: This commit only replaced the current occurences of the
SSL_load_error_strings(); SSL_library_init(); pairs in the freerdp source
with winpr_InitializeSSL(). None of the server or client applications has been
changed according to the recommended usage described above (TBDL).
2014-07-28 21:55:57 +02:00
Bernhard Miklautz
b17045ddd8 fix: typos and formating 2014-07-28 13:12:01 +02:00
Marc-André Moreau
ef04373628 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-07-26 14:43:10 -04:00
Daryl Poe
3794720455 correct Pause key sequence
(cherry picked from commit 46a00b5c9e)
2014-07-25 11:31:50 +02:00
Bernhard Miklautz
bdad9524dc refactor transport_read_pdu and check_fds
transport_check_fds and transport_read_pdu had almost the same
functionality: reading and validating one pdu at a time.

Now transport_read_pdu reads one pdu from the transport layer and verifies
that the pdu data is valid - as before.
transport_read_pdu also ensures that the stream is sealed and
rewound when the pdu is received completely.
transport_check_fds just uses transport_read_pdu and does *not* do
the verification a second time based on the stream.

Besides the clean up this fixes the following problems:

* transport_read always read 4 bytes. Fast-path input synchronize pdus
  are only 3 bytes long. In this case on byte got lost in the stream
	buffer which lead to "de-synchronization" of server and
	client.

* Size check in tpdu_read_connection_confirm - already read bytes
  weren't taken into account.
2014-07-24 16:34:59 +02:00