Commit Graph

10706 Commits

Author SHA1 Message Date
Martin Fleisz
af4034b68b Merge pull request #3773 from hardening/gfx_and_sample_fixes
Gfx and sample fixes
2017-02-16 15:43:02 +01:00
David Fort
2604b151ae Fix plugin loading for the sample client
Some missing initialisation bits were preventing the sample client from loading
the dynamic channel.
2017-02-16 14:57:36 +01:00
David Fort
be41769506 Add some useful debug info for the egfx channel 2017-02-16 14:49:08 +01:00
Martin Fleisz
0d43201e3c Merge pull request #3767 from akallabeth/ssse3_optimize
Ssse3 optimize and sanitize address
2017-02-16 09:51:28 +01:00
Martin Fleisz
ae551e4f8a Merge pull request #3762 from akallabeth/sspi_init
Use INIT_ONCE for SSPI initialisation. #3471
2017-02-16 09:51:10 +01:00
akallabeth
eeb060e9a7 Merge pull request #3770 from Abhineet-Ayan-Verma/patch-1
Fixed undefined behavior in wf_peer_main_loop function
2017-02-15 16:43:43 +01:00
akallabeth
570731919a Merge pull request #3771 from mfleisz/code_cleanup
core: Get rid of useless settings copy
2017-02-15 15:55:30 +01:00
Bernhard Miklautz
a1d87fee97 Merge pull request #3769 from akallabeth/queue_fix
libwinpr-utils: fix 3 logic errors
2017-02-15 15:50:49 +01:00
Armin Novak
6960ca209b Added GFX surface command profiler. 2017-02-15 15:42:14 +01:00
Armin Novak
359077e8d3 Closing dynamic channels on shutdown. 2017-02-15 15:42:14 +01:00
Armin Novak
291362e2df Fixed possible memory leak. 2017-02-15 15:42:14 +01:00
Martin Fleisz
68a9408249 core: Get rid of useless settings copy 2017-02-15 14:59:24 +01:00
Martin Fleisz
4b6be872d5 Merge pull request #3472 from ilammy/x11-cliprdr/raw-data-cache
Fix cached clipboard responses during raw transfers
2017-02-15 13:51:11 +01:00
Armin Novak
1b78c45eca Fixed alignment checks for SSE yCbCrToRGB 2017-02-15 12:39:57 +01:00
Armin Novak
01d24264d2 Using aligned RFX buffers. 2017-02-15 12:37:37 +01:00
Armin Novak
dce3604bcf Refined alignment checks for SSSE3 YUV444ToRGB 2017-02-15 12:08:32 +01:00
Armin Novak
03abaf1aee Align scanline to multiple of 16, required for ASM 2017-02-15 12:08:32 +01:00
Abhineet-Ayan-Verma
999cc22cdd Fixed undefined behavior in wf_peer_main_loop function
Undefined behavior on "wfPeerContext *context", as it is accessed before being initialized or assigned. Fixed.
2017-02-15 15:56:44 +05:30
pony
a57adc3fde libwinpr-utils: fix 3 logic errors 2017-02-15 10:08:53 +01:00
Armin Novak
f24b112514 Refactored AVC444 decoding to single YUV420 buffer
Since not all H264 decoders support multiple YUV420 output
buffers process H264 decoding and YUV to RGB conversion
sequentially to avoid overriding the input data.
2017-02-15 09:28:10 +01:00
Armin Novak
2c99c17078 Fixed libavcodec issues. 2017-02-14 16:41:07 +01:00
Armin Novak
e44158ee29 Reordered SSSE3 YUV444ToRGB 2017-02-14 16:02:12 +01:00
Armin Novak
d41d65575c Use bitmap color format in gdi_BitBlt 2017-02-14 16:02:12 +01:00
Armin Novak
2f8e206c58 Fixed freerdp_client_parse_rdp_file_buffer
The parser function needs a modifyable copy of the input buffer.
2017-02-14 16:02:11 +01:00
Armin Novak
2463575083 Print profiler header and footer. 2017-02-14 16:02:11 +01:00
Armin Novak
ef4515a674 Added FPS in profiler print. 2017-02-14 16:02:11 +01:00
Armin Novak
f324b0ef9c Use aligned malloc/free for GFX surfaces/buffers 2017-02-14 16:02:11 +01:00
Armin Novak
9dba98598f SSSE3 YUV444ToRGB process 16 pixel per loop. 2017-02-14 16:02:11 +01:00
akallabeth
0540e189b1 Merge pull request #3765 from mfleisz/gdi_resize
gdi: Allow changing buffer even if size remains the same
2017-02-14 15:05:36 +01:00
Martin Fleisz
096de0f7dd Merge pull request #3755 from pentagra/master
ifdef's for Cygwin compilation
2017-02-14 12:42:10 +01:00
Martin Fleisz
9ed81a5ccc Merge pull request #3764 from akallabeth/libavcodec
Updated LIBAVCODEC support for H264 decoder.
2017-02-14 11:41:27 +01:00
Armin Novak
94b9fef049 Updated LIBAVCODEC support for H264 decoder. 2017-02-14 10:34:27 +01:00
Martin Fleisz
5930d7e81b gdi: Allow changing buffer even if size remains the same 2017-02-14 09:52:44 +01:00
Martin Fleisz
e97c4b57a4 Merge pull request #3754 from akallabeth/asm3
NEON and SSSE3 decoder optimisations
2017-02-14 09:23:21 +01:00
Armin Novak
4f44cdc561 Use INIT_ONCE for SSPI initialisation. #3471 2017-02-13 18:06:27 +01:00
Armin Novak
a20adde791 Use POSIX cp syntax. 2017-02-13 17:45:03 +01:00
Armin Novak
e3ed91ea7a Optimized clear codec line copy. 2017-02-13 17:29:29 +01:00
Norbert Federa
7020ed9a6d Merge pull request #3758 from akallabeth/rfx_tile_crash
Limit RFX update region to screen.
2017-02-13 16:30:51 +01:00
Armin Novak
3644d8dfbd Fixed YUV444ToRGB, do not discard chroma frame. 2017-02-13 16:11:11 +01:00
Armin Novak
4f705b99ec Fixed primitives sign test buffer size. 2017-02-13 16:09:57 +01:00
Armin Novak
e60cc9bdd9 NEON optimized YCoCg conversion. 2017-02-13 16:09:28 +01:00
Armin Novak
a791ab0b17 Added NEON and SSSE3 YCbCr conversion functions. 2017-02-13 16:08:37 +01:00
Armin Novak
b1e3bab8ef Added NEON and SSSE3 YUV conversion optimisations. 2017-02-13 16:00:12 +01:00
Norbert Federa
5897d833c8 Merge pull request #3760 from akallabeth/filetime_conversion
Fixed time conversion in FileSetFileTime. #3508
2017-02-13 15:31:05 +01:00
Armin Novak
85d8157b41 Limit RFX update region to screen. 2017-02-13 15:26:21 +01:00
Armin Novak
c90a0be205 Fixed time conversion in FileSetFileTime. #3508 2017-02-13 15:14:20 +01:00
ilammy
11c55f8dcd client/X11: cache original clipboard data for raw transfers
FreeRDP uses clipboard->data to cache the result of the Windows->X11
clipboard format conversion, and xf_cliprdr_process_selection_request()
immediately provides this result to local applications if they request
the same clipboard format again. This saves us a possibly costly
conversion in case where the user pastes data repeatedly.

However, this caching mechanism did not support raw clipboard transfers
where the unmodified data is passed between two FreeRDP clients. We use
the same XClipboard protocol for this, so the clipboard->data is in play.
We clear the cached value when we receive new data from the server, so
initially raw transfers are fine. But if some local application (e.g.,
a clipboard manager) asks for some data format before the data is pasted
into the second FreeRDP session then clipboard->data will contain the
*converted* data. And this converted cached data will be provided to
the second FreeRDP session as a part of the raw data transfer. Instead
we should have provided the original data.

In order to achieve this we are now caching the original data in the
same way as the converted one, and the original data is now correctly
provided when the second FreeRDP session asks for a raw data transfer.
2017-02-11 00:48:36 +02:00
pentagra
df2b5c9cdf ifdef's for Cygwin compilation 2017-02-10 18:06:20 +03:00
Norbert Federa
842a8c57ec Merge pull request #3753 from akallabeth/regression_fixes
AVC444 and MIPS fixes
2017-02-10 09:46:07 +01:00
Armin Novak
57db52237c Fixed AVC444 luma/chroma checks. 2017-02-10 08:31:32 +01:00