ilammy [Mon, 15 Aug 2016 19:45:20 +0000 (22:45 +0300)]
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.
Norbert Federa [Fri, 10 Feb 2017 08:46:07 +0000 (09:46 +0100)]
Merge pull request #3753 from akallabeth/regression_fixes
AVC444 and MIPS fixes
Armin Novak [Fri, 10 Feb 2017 07:31:32 +0000 (08:31 +0100)]
Fixed AVC444 luma/chroma checks.
Armin Novak [Thu, 9 Feb 2017 18:58:26 +0000 (19:58 +0100)]
Added fallback for CMSPAR. (See debian #854689)
Armin Novak [Thu, 9 Feb 2017 18:55:40 +0000 (19:55 +0100)]
Fixed missing chroma data for AVC444
Martin Fleisz [Thu, 9 Feb 2017 17:05:49 +0000 (18:05 +0100)]
Merge pull request #3752 from akallabeth/rfx_respect_height
Respect width and height in rfx_process_message
Armin Novak [Thu, 9 Feb 2017 11:36:54 +0000 (12:36 +0100)]
Respect width and height in rfx_process_message
Martin Fleisz [Thu, 9 Feb 2017 11:13:04 +0000 (12:13 +0100)]
Merge pull request #3750 from hardening/gcc_fix
Parses the SupportStatusInfoPdu early capability and send it to clients if supported
David Fort [Thu, 9 Feb 2017 10:50:46 +0000 (11:50 +0100)]
Parses the SupportStatusInfoPdu early capability and send it to clients if supported
David Fort [Wed, 8 Feb 2017 07:11:38 +0000 (08:11 +0100)]
Merge pull request #3748 from uplusplus/patch-1
Fix tsmf pulse plugin initialisation
joy.you [Wed, 8 Feb 2017 03:12:04 +0000 (11:12 +0800)]
bug fix
bug fix
David Fort [Tue, 7 Feb 2017 10:19:25 +0000 (11:19 +0100)]
Merge pull request #3747 from nfedera/improve-generic-rgb-to-yuv420
primitives: RGB to YUV420 (non SIMD) optimizations
Norbert Federa [Sat, 4 Feb 2017 15:49:38 +0000 (16:49 +0100)]
primitives: RGB to YUV420 (non SIMD) optimizations
- added a dedicated non-simd encoder for BGR[AX] source formats
- simplified the generic RgbToYuv420 encoder and fixed the crash
with odd dimensions
Norbert Federa [Mon, 6 Feb 2017 14:13:56 +0000 (15:13 +0100)]
Merge pull request #3740 from akallabeth/gdi_color_conversion
Fix for GDI color decoding issues.
Armin Novak [Mon, 6 Feb 2017 09:31:43 +0000 (10:31 +0100)]
Added warning for unsupported color depth.
akallabeth [Sun, 5 Feb 2017 09:06:51 +0000 (10:06 +0100)]
Merge pull request #3743 from nfedera/ssse3_rgbx_to_yuv420
primitives: added SSSE3 rgb to yuv420 encoder
Norbert Federa [Fri, 3 Feb 2017 10:56:44 +0000 (11:56 +0100)]
primitives: added SSSE3 rgb to yuv420 encoder
Currently supported source pixel formats are:
- PIXEL_FORMAT_BGRA32
- PIXEL_FORMAT_BGRX32
Support for PIXEL_FORMAT_RGB[XA]32 can simply be added if
required (see the comment in prim_YUV_opt.c).
On my old 3.1 GHz Core i5-2400 the new SSSE3 function can convert
over 900 1080p BGRX frames per second.
The current non-optimized C version (which supports all pixel formats)
can't do more than 40 yuv conversions per second on this cpu.
---------------------------+---------+-------------+-----------+-------
RGB TO YUV420 1080p 32bit | COUNT | TOTAL | AVG | FPS
---------------------------+---------+-------------+-----------+-------
general_RGBToYUV420 | 500 | 13.1776s | 0.026355s | 38
ssse3_RGBToYUV420 | 500 | 0.5320s | 0.001064s | 940
Also fixed an error in TestPrimitivesYUV which generated resolutions
with height or width set to zero
Norbert Federa [Wed, 1 Feb 2017 10:11:27 +0000 (11:11 +0100)]
Merge pull request #3717 from akallabeth/prim_fixes
Fixed primitives.
akallabeth [Wed, 1 Feb 2017 10:06:52 +0000 (11:06 +0100)]
Merge pull request #3735 from mfleisz/cmake_install_pdb_fix
Build: Use correct pdb names when installing with symbols
Armin Novak [Wed, 1 Feb 2017 10:00:24 +0000 (11:00 +0100)]
Fixed GDI color decoding issues.
David Fort [Wed, 1 Feb 2017 09:54:13 +0000 (10:54 +0100)]
Merge pull request #3737 from mbaum2000/flush-stdout
Flush stdout when asking about certificate
Bernhard Miklautz [Wed, 1 Feb 2017 09:28:30 +0000 (10:28 +0100)]
Merge pull request #3736 from akallabeth/date_legacy_support
Support old CMake versions without TIMESTAMP #3727
Mike Baum [Tue, 31 Jan 2017 20:33:44 +0000 (15:33 -0500)]
Flush stdout when asking about certificate
Armin Novak [Tue, 31 Jan 2017 15:52:20 +0000 (16:52 +0100)]
Support old CMake versions without TIMESTAMP #3727
Armin Novak [Tue, 31 Jan 2017 11:28:17 +0000 (12:28 +0100)]
Removed unused profiler.
Martin Fleisz [Tue, 31 Jan 2017 12:32:51 +0000 (13:32 +0100)]
Build: Use correct pdb names when installing with symbols
Armin Novak [Tue, 31 Jan 2017 09:49:59 +0000 (10:49 +0100)]
Fixed argument order of yCbCrToRGB_16s8u_P3AC4R
Armin Novak [Tue, 31 Jan 2017 09:24:24 +0000 (10:24 +0100)]
Added performance profiler to YUV test.
Armin Novak [Tue, 31 Jan 2017 09:05:45 +0000 (10:05 +0100)]
Fixed compiler warning.
Armin Novak [Tue, 31 Jan 2017 09:04:00 +0000 (10:04 +0100)]
Reverted RGB2V
Armin Novak [Tue, 31 Jan 2017 09:01:41 +0000 (10:01 +0100)]
Removed unused files, added README with links
akallabeth [Tue, 31 Jan 2017 08:54:50 +0000 (09:54 +0100)]
Merge pull request #3729 from chipitsine/master
remove redundant assignment
Ilya Shipitsin [Mon, 30 Jan 2017 10:09:36 +0000 (15:09 +0500)]
remove redundant assignment
[client/Windows/wf_cliprdr.c:575]: (warning) Redundant assignment of 'clipboard' to itself.
Martin Fleisz [Mon, 30 Jan 2017 09:08:48 +0000 (10:08 +0100)]
Merge pull request #3728 from chipitsine/master
removed redundant condition
Ilya Shipitsin [Sat, 28 Jan 2017 07:36:08 +0000 (12:36 +0500)]
removed redundant condition:
[winpr/libwinpr/synch/semaphore.c:131] -> [winpr/libwinpr/synch/semaphore.c:136]: (warning) Either the condition 'if(semaphore)' is redundant or there is possible null pointer dereference: semaphore.
[winpr/libwinpr/synch/semaphore.c:132] -> [winpr/libwinpr/synch/semaphore.c:136]: (warning) Either the condition 'if(semaphore)' is redundant or there is possible null pointer dereference: semaphore.
[winpr/libwinpr/synch/semaphore.c:133] -> [winpr/libwinpr/synch/semaphore.c:136]: (warning) Either the condition 'if(semaphore)' is redundant or there is possible null pointer dereference: semaphore.
[winpr/libwinpr/synch/semaphore.c:134] -> [winpr/libwinpr/synch/semaphore.c:136]: (warning) Either the condition 'if(semaphore)' is redundant or there is possible null pointer dereference: semaphore.
akallabeth [Fri, 27 Jan 2017 17:49:35 +0000 (18:49 +0100)]
Merge pull request #3725 from chipitsine/master
make cppcheck even more happier
Martin Fleisz [Fri, 27 Jan 2017 10:42:50 +0000 (11:42 +0100)]
Merge pull request #3726 from hardening/add_const
Added missing const modifiers for source pointers in codecs
David Fort [Fri, 27 Jan 2017 10:23:08 +0000 (11:23 +0100)]
Added missing const modifiers for source pointers in codecs
Martin Fleisz [Thu, 26 Jan 2017 10:10:17 +0000 (11:10 +0100)]
Merge pull request #3715 from akallabeth/reproducible_build
Reproducible build
Martin Fleisz [Thu, 26 Jan 2017 10:09:16 +0000 (11:09 +0100)]
Merge pull request #3722 from akallabeth/ccache_support
Added CCACHE detection and option to disable.
Ilya Shipitsin [Thu, 26 Jan 2017 09:44:19 +0000 (14:44 +0500)]
make cppcheck even more happier:
[channels/tsmf/client/gstreamer/tsmf_X11.c:317] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:322]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/gstreamer/tsmf_X11.c:470] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:475]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/gstreamer/tsmf_X11.c:472] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:475]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/tsmf_media.c:179] -> [channels/tsmf/client/tsmf_media.c:181]: (warning) Either the condition '!stream' is redundant or there is possible null pointer dereference: stream.
[client/Windows/wf_cliprdr.c:2219] -> [client/Windows/wf_cliprdr.c:2222]: (warning) Either the condition '!formatDataResponse' is redundant or there is possible null pointer dereference: formatDataResponse
[client/Windows/wf_cliprdr.c:2445] -> [client/Windows/wf_cliprdr.c:2448]: (warning) Either the condition '!fileContentsResponse' is redundant or there is possible null pointer dereference: fileContentsResponse.
[client/X11/xf_cliprdr.c:911] -> [client/X11/xf_cliprdr.c:913]: (warning) Either the condition '!clipboard' is redundant or there is possible null pointer dereference: clipboard.
[client/X11/xf_graphics.c:504] -> [client/X11/xf_graphics.c:506]: (warning) Either the condition '!xfc' is redundant or there is possible null pointer dereference: xfc.
[libfreerdp/core/transport.c:861] -> [libfreerdp/core/transport.c:863]: (warning) Either the condition '!transport' is redundant or there is possible null pointer dereference: transport.
[server/shadow/shadow_server.c:777] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:778] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:779] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:781] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:782] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:783] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:784] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:785] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:787] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:789] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
Armin Novak [Wed, 25 Jan 2017 15:00:29 +0000 (16:00 +0100)]
Added CCACHE support for android OpenH264 build.
akallabeth [Wed, 25 Jan 2017 14:36:02 +0000 (15:36 +0100)]
Merge pull request #3724 from chipitsine/master
make cppcheck a bit happier
Armin Novak [Wed, 25 Jan 2017 14:19:31 +0000 (15:19 +0100)]
Added CCACHE support for OpenSSL builds.
Ilya Shipitsin [Wed, 25 Jan 2017 12:09:25 +0000 (17:09 +0500)]
make cppcheck a bit happier:
[channels/printer/client/printer_cups.c:103]: (error) Resource leak: fp
[server/Mac/mf_event.c:195]: (error) Memory leak: event_queue
[server/shadow/shadow_capture.c:233]: (error) Memory leak: capture
[winpr/libwinpr/sspi/test/TestSchannel.c:440]: (error) Memory leak: lpTokenIn
[winpr/libwinpr/thread/argv.c:198]: (error) Memory leak: lpEscapedChars
[winpr/libwinpr/utils/sam.c:312]: (error) Memory leak: entry
akallabeth [Wed, 25 Jan 2017 11:51:04 +0000 (12:51 +0100)]
Merge pull request #3723 from chipitsine/master
trivial issue found by cppcheck:
Ilya Shipitsin [Wed, 25 Jan 2017 10:48:49 +0000 (15:48 +0500)]
trivial issue found by cppcheck:
[uwac/libuwac/uwac-display.c:73]: (error) va_list 'args' was opened but not closed by va_end().
Martin Fleisz [Wed, 25 Jan 2017 08:27:08 +0000 (09:27 +0100)]
Merge pull request #3721 from akallabeth/x11_color_fix
X11 color conversion fix
Armin Novak [Wed, 25 Jan 2017 08:05:27 +0000 (09:05 +0100)]
Added CCACHE detection and option to disable.
Armin Novak [Wed, 25 Jan 2017 07:33:36 +0000 (08:33 +0100)]
Fixed conversion to XColor.
Armin Novak [Wed, 25 Jan 2017 07:33:04 +0000 (08:33 +0100)]
Fixed stride for XCreateImage.
Armin Novak [Tue, 24 Jan 2017 11:54:02 +0000 (12:54 +0100)]
Removed unused functions.
Armin Novak [Tue, 24 Jan 2017 10:37:24 +0000 (11:37 +0100)]
Using faster transformation for RFX decoder.
Armin Novak [Mon, 23 Jan 2017 10:25:29 +0000 (11:25 +0100)]
Use CMake TIMESTAMP, remove newline from TODAY
Armin Novak [Tue, 24 Jan 2017 08:56:45 +0000 (09:56 +0100)]
Using android cpufeatures library for detection.
Armin Novak [Tue, 24 Jan 2017 08:28:27 +0000 (09:28 +0100)]
Added arm64 and mips64 detection support.
Armin Novak [Mon, 23 Jan 2017 16:10:40 +0000 (17:10 +0100)]
Fixed NEON primitives.
Armin Novak [Mon, 23 Jan 2017 15:55:50 +0000 (16:55 +0100)]
Fixed YUV tests.
Armin Novak [Mon, 23 Jan 2017 14:38:02 +0000 (15:38 +0100)]
Enabled ASM primitives.
akallabeth [Mon, 23 Jan 2017 16:00:07 +0000 (17:00 +0100)]
Merge pull request #3718 from bmiklautz/fix/nightly-pkgs
Fix nightly packages
Bernhard Miklautz [Mon, 23 Jan 2017 15:43:00 +0000 (16:43 +0100)]
Fix nightly packages
Man pages weren't installed or wrong path was used.
Bernhard Miklautz [Mon, 23 Jan 2017 14:47:39 +0000 (15:47 +0100)]
Merge pull request #3708 from akallabeth/termination_fixes
Client channel shutdown fixes
Armin Novak [Mon, 23 Jan 2017 13:18:19 +0000 (14:18 +0100)]
Fixed channel connected status.
Bernhard Miklautz [Mon, 23 Jan 2017 12:49:25 +0000 (13:49 +0100)]
Merge pull request #3664 from realjiangms/fix_gfx_ack
Server/shadow: Fix handling for gfx acknowledge according to spec
Bernhard Miklautz [Mon, 23 Jan 2017 12:44:18 +0000 (13:44 +0100)]
Merge pull request #3716 from akallabeth/planar_warning_fix
Fixed uninitialized variable warning.
Armin Novak [Mon, 23 Jan 2017 12:27:30 +0000 (13:27 +0100)]
Fixed uninitialized variable warning.
Martin Fleisz [Mon, 23 Jan 2017 10:59:52 +0000 (11:59 +0100)]
Merge pull request #3710 from akallabeth/local_16bpp_fixes
Local 16bpp fixes
Armin Novak [Mon, 23 Jan 2017 08:26:56 +0000 (09:26 +0100)]
Fixed alpha channel for color formats without.
Armin Novak [Thu, 19 Jan 2017 16:16:25 +0000 (17:16 +0100)]
Fixed staging surface scanline.
Armin Novak [Thu, 19 Jan 2017 16:14:16 +0000 (17:14 +0100)]
Fixed color format selection for 16bpp
Armin Novak [Thu, 19 Jan 2017 16:13:07 +0000 (17:13 +0100)]
Fixed planar with if local framebuffer is 16bpp
Armin Novak [Thu, 19 Jan 2017 15:40:58 +0000 (16:40 +0100)]
Fixed scanline for RFX.
Bernhard Miklautz [Mon, 23 Jan 2017 09:39:02 +0000 (10:39 +0100)]
Merge pull request #3703 from akallabeth/prim_optimize
[PERFORMANCE] Inlined heavily used functions
Bernhard Miklautz [Mon, 23 Jan 2017 09:02:14 +0000 (10:02 +0100)]
Merge pull request #3711 from hardening/monitor_layout
Misc fixes and improvements
Bernhard M. Wiedemann [Sun, 22 Jan 2017 16:54:24 +0000 (16:54 +0000)]
make build reproducible
by allowing build systems to use a constant date instead of the current one
see https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable
This call is designed to work with GNU date. If BSD support is a concern, it can be added.
David Fort [Thu, 19 Jan 2017 16:59:54 +0000 (17:59 +0100)]
Add a callback that allows to adjust monitors layout
This callback is useful in server mode when you want to adjust the monitor
layout just before the server monitor layout PDU is built and sent.
David Fort [Thu, 19 Jan 2017 16:57:44 +0000 (17:57 +0100)]
Treat the result of the Capabilities callback
The result was ignored. Plus return the correct value in case of licence error (-1
instead of FALSE).
Bernhard Miklautz [Thu, 19 Jan 2017 11:05:26 +0000 (12:05 +0100)]
Merge pull request #3705 from akallabeth/android_openssl_1_1
Android openssl 1 1
Armin Novak [Wed, 18 Jan 2017 15:52:52 +0000 (16:52 +0100)]
Disabled OpenH264 in default android build.
Armin Novak [Wed, 18 Jan 2017 15:41:02 +0000 (16:41 +0100)]
Progressive structs to private header for tests.
Armin Novak [Wed, 18 Jan 2017 15:16:29 +0000 (16:16 +0100)]
Progressive struct now opaque.
Armin Novak [Wed, 18 Jan 2017 14:41:50 +0000 (15:41 +0100)]
Fixed missing return.
Armin Novak [Wed, 18 Jan 2017 14:25:24 +0000 (15:25 +0100)]
Progressive conversion and speed fixes
* Using destination color format and precomputed tile stride
* Using preallocated logger
Armin Novak [Mon, 16 Jan 2017 11:40:39 +0000 (12:40 +0100)]
Removed obsolete primitive usage.
Armin Novak [Mon, 16 Jan 2017 11:40:25 +0000 (12:40 +0100)]
Optimized functions, removed duplicates.
Armin Novak [Mon, 16 Jan 2017 11:39:34 +0000 (12:39 +0100)]
Inlined shift operations.
Armin Novak [Mon, 16 Jan 2017 10:45:53 +0000 (11:45 +0100)]
Inlined freerdp_image_copy helpers.
Armin Novak [Mon, 16 Jan 2017 10:39:55 +0000 (11:39 +0100)]
Inlined interleaved helper functions.
Armin Novak [Mon, 16 Jan 2017 10:36:35 +0000 (11:36 +0100)]
Optimized freerdp_image_fill
Armin Novak [Mon, 16 Jan 2017 09:54:01 +0000 (10:54 +0100)]
Optimized general_YUV444ToRGB_8u_P3AC4R for BGRX
Armin Novak [Mon, 16 Jan 2017 09:25:12 +0000 (10:25 +0100)]
Inlined heavy used functions.
Armin Novak [Mon, 16 Jan 2017 09:13:35 +0000 (10:13 +0100)]
Optimized general_RGBToRGB_16s8u_P3AC4R for BGRX
Armin Novak [Mon, 16 Jan 2017 09:01:51 +0000 (10:01 +0100)]
Optimized general_yCbCrToRGB_16s8u_P3AC4R for BGRX
Armin Novak [Wed, 18 Jan 2017 13:30:06 +0000 (14:30 +0100)]
Fixed broken variable declaration.
Bernhard Miklautz [Wed, 18 Jan 2017 13:28:27 +0000 (14:28 +0100)]
Merge pull request #3702 from akallabeth/clear_reset_fix
ClearCodec fix #3642
Bernhard Miklautz [Wed, 18 Jan 2017 12:45:34 +0000 (13:45 +0100)]
Merge pull request #3707 from akallabeth/AMV007-patch-2
Rebased #2541
Armin Novak [Wed, 18 Jan 2017 11:39:40 +0000 (12:39 +0100)]
Fixed warnings due to API changes.
Martin Fleisz [Tue, 17 Jan 2017 18:14:56 +0000 (19:14 +0100)]
Merge pull request #3704 from bmiklautz/versioning
Library naming and man pages
Armin Novak [Tue, 17 Jan 2017 15:27:56 +0000 (16:27 +0100)]
Return OK in case of channel not connected.
Armin Novak [Tue, 17 Jan 2017 15:02:13 +0000 (16:02 +0100)]
Checks, return value fixes
* Added missing argument checks
* Use opened drdynvc->log where possible
* Fix drdynvc_send return in case channel not connected.