Armin Novak [Mon, 20 Feb 2017 13:12:39 +0000 (14:12 +0100)]
Fixed scanbuild warnings.
Armin Novak [Mon, 20 Feb 2017 12:38:20 +0000 (13:38 +0100)]
Fixed scanbuild warnings.
Armin Novak [Mon, 20 Feb 2017 12:30:16 +0000 (13:30 +0100)]
Fixed warings #3784
akallabeth [Mon, 20 Feb 2017 12:07:12 +0000 (13:07 +0100)]
Merge pull request #3783 from chipitsine/master
fix several defects found by cppcheck
Ilya Shipitsin [Fri, 17 Feb 2017 13:36:03 +0000 (18:36 +0500)]
resolve trivial issues found by cppcheck
[libfreerdp/primitives/prim_add_opt.c:43]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_andor_opt.c:42]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_andor_opt.c:44]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:42]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:45]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:48]: (error) Uninitialized variable: shifts
[libfreerdp/primitives/prim_shift_opt.c:51]: (error) Uninitialized variable: shifts
Martin Fleisz [Fri, 17 Feb 2017 12:22:51 +0000 (13:22 +0100)]
Merge pull request #3780 from akallabeth/win_compile_fix
Win compile fix
Ilya Shipitsin [Fri, 17 Feb 2017 12:21:18 +0000 (17:21 +0500)]
resolve trivial issues found by cppcheck
[server/shadow/X11/x11_shadow.c:511]: (error) Uninitialized variable: x
[server/shadow/X11/x11_shadow.c:512]: (error) Uninitialized variable: y
Ilya Shipitsin [Fri, 17 Feb 2017 11:52:21 +0000 (16:52 +0500)]
revolve possible null pointer dereference found by cppcheck
[channels/tsmf/client/gstreamer/tsmf_X11.c:472] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:474]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
akallabeth [Fri, 17 Feb 2017 11:09:17 +0000 (12:09 +0100)]
Merge pull request #3779 from chipitsine/master
resolve a typo found by cppcheck
Armin Novak [Fri, 17 Feb 2017 10:53:57 +0000 (11:53 +0100)]
Fix for #3627
Armin Novak [Fri, 17 Feb 2017 10:40:52 +0000 (11:40 +0100)]
Fixed #3778: Printer driver name conversion.
Armin Novak [Fri, 17 Feb 2017 10:40:27 +0000 (11:40 +0100)]
Fixed crash on h264 context cleanup (windows).
Armin Novak [Fri, 17 Feb 2017 10:17:45 +0000 (11:17 +0100)]
Fixed compiler warnings and uninitialized data.
Armin Novak [Fri, 17 Feb 2017 09:59:22 +0000 (10:59 +0100)]
Replaced random() with winpr_RAND
Armin Novak [Fri, 17 Feb 2017 09:56:16 +0000 (10:56 +0100)]
Replaced snprintf with _snprintf.
Ilya Shipitsin [Fri, 17 Feb 2017 09:54:31 +0000 (14:54 +0500)]
resolve a typo found by cppcheck
[server/Windows/wf_mirage.c:319]: (error) Invalid number of character '(' when these macros are defined: ''.
[server/Windows/wf_mirage.c:319]: (error) Invalid number of character '(' when these macros are defined: 'DFMIRAGE_LEAN'.
[server/Windows/wf_mirage.c:319]: (error) Invalid number of character '(' when these macros are defined: '_WIN64'.
akallabeth [Fri, 17 Feb 2017 09:46:35 +0000 (10:46 +0100)]
Merge pull request #3733 from chipitsine/master
Resolve issues detected by cppcheck
akallabeth [Fri, 17 Feb 2017 09:06:38 +0000 (10:06 +0100)]
Merge pull request #3775 from nfedera/rgb_to_avc444yuv
RGB to AVC444YUV converter with SSSE3 support
akallabeth [Fri, 17 Feb 2017 08:52:22 +0000 (09:52 +0100)]
Merge pull request #3756 from bigpjo/master
.RDP Password Attribute
Ilya Shipitsin [Fri, 17 Feb 2017 08:38:05 +0000 (13:38 +0500)]
an argument check in xf_UpdateWindowArea
bigpjo [Thu, 16 Feb 2017 19:16:56 +0000 (19:16 +0000)]
Change request from akallabeth
Change to allow username command line parameter to overwrite the .RDP
username
Norbert Federa [Wed, 15 Feb 2017 16:40:12 +0000 (17:40 +0100)]
primitives: SSSE3 RGB to AVC444YUV converter
------------------------------+---------+----------+-----------+-------
RGB TO AVC444YUV 1080p 32bit | COUNT | TOTAL | AVG | IPS
CPU: 3.1 GHz Core i5-2400 | | | |
------------------------------+---------+----------+-----------+-------
general_RGBToAVC444YUV_ANY | 500 | 13.0164s | 0.026033s | 38
general_RGBToAVC444YUV_BGRX | 500 | 3.9584s | 0.007917s | 126
ssse3_RGBToAVC444YUV_BGRX | 500 | 0.7694s | 0.001539s | 650
Norbert Federa [Wed, 15 Feb 2017 16:20:30 +0000 (17:20 +0100)]
primitives: added RGB to AVC444YUV converter
David Fort [Thu, 16 Feb 2017 15:37:27 +0000 (16:37 +0100)]
Merge pull request #3772 from akallabeth/sse_test_fixes
Sse test fixes
Martin Fleisz [Thu, 16 Feb 2017 14:43:02 +0000 (15:43 +0100)]
Merge pull request #3773 from hardening/gfx_and_sample_fixes
Gfx and sample fixes
David Fort [Thu, 16 Feb 2017 13:57:36 +0000 (14:57 +0100)]
Fix plugin loading for the sample client
Some missing initialisation bits were preventing the sample client from loading
the dynamic channel.
David Fort [Thu, 16 Feb 2017 13:46:20 +0000 (14:46 +0100)]
Add some useful debug info for the egfx channel
Armin Novak [Thu, 16 Feb 2017 13:34:43 +0000 (14:34 +0100)]
Fixed warnings.
Armin Novak [Thu, 16 Feb 2017 13:00:25 +0000 (14:00 +0100)]
Added value comparison for all YCbCr functions.
Armin Novak [Thu, 16 Feb 2017 12:51:50 +0000 (13:51 +0100)]
Reduced test runtime.
Armin Novak [Thu, 16 Feb 2017 12:17:49 +0000 (13:17 +0100)]
Fixed compiler warnings.
Armin Novak [Thu, 16 Feb 2017 11:14:36 +0000 (12:14 +0100)]
Improved YCoCgToRGB tests.
Armin Novak [Thu, 16 Feb 2017 10:40:28 +0000 (11:40 +0100)]
Fixed YUV test result print.
Armin Novak [Thu, 16 Feb 2017 10:32:10 +0000 (11:32 +0100)]
Fixed SSE yCbCrToRGB_16s8u_P3AC4R, improved tests.
Armin Novak [Thu, 16 Feb 2017 08:35:42 +0000 (09:35 +0100)]
Fixed SSE checks and RGBToRGB_16s8u_P3AC4R
Martin Fleisz [Thu, 16 Feb 2017 08:51:28 +0000 (09:51 +0100)]
Merge pull request #3767 from akallabeth/ssse3_optimize
Ssse3 optimize and sanitize address
Martin Fleisz [Thu, 16 Feb 2017 08:51:10 +0000 (09:51 +0100)]
Merge pull request #3762 from akallabeth/sspi_init
Use INIT_ONCE for SSPI initialisation. #3471
akallabeth [Wed, 15 Feb 2017 15:43:43 +0000 (16:43 +0100)]
Merge pull request #3770 from Abhineet-Ayan-Verma/patch-1
Fixed undefined behavior in wf_peer_main_loop function
akallabeth [Wed, 15 Feb 2017 14:55:30 +0000 (15:55 +0100)]
Merge pull request #3771 from mfleisz/code_cleanup
core: Get rid of useless settings copy
Bernhard Miklautz [Wed, 15 Feb 2017 14:50:49 +0000 (15:50 +0100)]
Merge pull request #3769 from akallabeth/queue_fix
libwinpr-utils: fix 3 logic errors
Armin Novak [Wed, 15 Feb 2017 14:34:50 +0000 (15:34 +0100)]
Added GFX surface command profiler.
Armin Novak [Wed, 15 Feb 2017 14:34:12 +0000 (15:34 +0100)]
Closing dynamic channels on shutdown.
Armin Novak [Wed, 15 Feb 2017 13:22:15 +0000 (14:22 +0100)]
Fixed possible memory leak.
Martin Fleisz [Wed, 15 Feb 2017 13:59:24 +0000 (14:59 +0100)]
core: Get rid of useless settings copy
Martin Fleisz [Wed, 15 Feb 2017 12:51:11 +0000 (13:51 +0100)]
Merge pull request #3472 from ilammy/x11-cliprdr/raw-data-cache
Fix cached clipboard responses during raw transfers
Armin Novak [Wed, 15 Feb 2017 11:38:26 +0000 (12:38 +0100)]
Fixed alignment checks for SSE yCbCrToRGB
Armin Novak [Wed, 15 Feb 2017 11:37:37 +0000 (12:37 +0100)]
Using aligned RFX buffers.
Armin Novak [Wed, 15 Feb 2017 11:04:11 +0000 (12:04 +0100)]
Refined alignment checks for SSSE3 YUV444ToRGB
Armin Novak [Wed, 15 Feb 2017 10:56:50 +0000 (11:56 +0100)]
Align scanline to multiple of 16, required for ASM
Abhineet-Ayan-Verma [Wed, 15 Feb 2017 10:26:44 +0000 (15:56 +0530)]
Fixed undefined behavior in wf_peer_main_loop function
Undefined behavior on "wfPeerContext *context", as it is accessed before being initialized or assigned. Fixed.
pony [Wed, 15 Feb 2017 03:44:19 +0000 (11:44 +0800)]
libwinpr-utils: fix 3 logic errors
Armin Novak [Wed, 15 Feb 2017 08:28:10 +0000 (09:28 +0100)]
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.
Armin Novak [Tue, 14 Feb 2017 15:34:02 +0000 (16:34 +0100)]
Fixed libavcodec issues.
Armin Novak [Tue, 14 Feb 2017 13:42:33 +0000 (14:42 +0100)]
Reordered SSSE3 YUV444ToRGB
Armin Novak [Tue, 14 Feb 2017 12:39:25 +0000 (13:39 +0100)]
Use bitmap color format in gdi_BitBlt
Armin Novak [Tue, 14 Feb 2017 11:53:14 +0000 (12:53 +0100)]
Fixed freerdp_client_parse_rdp_file_buffer
The parser function needs a modifyable copy of the input buffer.
Armin Novak [Tue, 14 Feb 2017 11:29:07 +0000 (12:29 +0100)]
Print profiler header and footer.
Armin Novak [Tue, 14 Feb 2017 11:28:58 +0000 (12:28 +0100)]
Added FPS in profiler print.
Armin Novak [Tue, 14 Feb 2017 11:12:24 +0000 (12:12 +0100)]
Use aligned malloc/free for GFX surfaces/buffers
Armin Novak [Tue, 14 Feb 2017 11:11:55 +0000 (12:11 +0100)]
SSSE3 YUV444ToRGB process 16 pixel per loop.
akallabeth [Tue, 14 Feb 2017 14:05:36 +0000 (15:05 +0100)]
Merge pull request #3765 from mfleisz/gdi_resize
gdi: Allow changing buffer even if size remains the same
Martin Fleisz [Tue, 14 Feb 2017 11:42:10 +0000 (12:42 +0100)]
Merge pull request #3755 from pentagra/master
ifdef's for Cygwin compilation
Martin Fleisz [Tue, 14 Feb 2017 10:41:27 +0000 (11:41 +0100)]
Merge pull request #3764 from akallabeth/libavcodec
Updated LIBAVCODEC support for H264 decoder.
Armin Novak [Tue, 14 Feb 2017 08:47:36 +0000 (09:47 +0100)]
Updated LIBAVCODEC support for H264 decoder.
Martin Fleisz [Tue, 14 Feb 2017 08:52:44 +0000 (09:52 +0100)]
gdi: Allow changing buffer even if size remains the same
Martin Fleisz [Tue, 14 Feb 2017 08:23:21 +0000 (09:23 +0100)]
Merge pull request #3754 from akallabeth/asm3
NEON and SSSE3 decoder optimisations
Armin Novak [Mon, 13 Feb 2017 17:04:42 +0000 (18:04 +0100)]
Use INIT_ONCE for SSPI initialisation. #3471
Armin Novak [Mon, 13 Feb 2017 16:45:03 +0000 (17:45 +0100)]
Use POSIX cp syntax.
Armin Novak [Mon, 13 Feb 2017 16:15:47 +0000 (17:15 +0100)]
Optimized clear codec line copy.
Norbert Federa [Mon, 13 Feb 2017 15:30:51 +0000 (16:30 +0100)]
Merge pull request #3758 from akallabeth/rfx_tile_crash
Limit RFX update region to screen.
Armin Novak [Mon, 13 Feb 2017 15:11:11 +0000 (16:11 +0100)]
Fixed YUV444ToRGB, do not discard chroma frame.
Armin Novak [Mon, 13 Feb 2017 15:09:57 +0000 (16:09 +0100)]
Fixed primitives sign test buffer size.
Armin Novak [Mon, 13 Feb 2017 15:09:28 +0000 (16:09 +0100)]
NEON optimized YCoCg conversion.
Armin Novak [Mon, 13 Feb 2017 15:01:49 +0000 (16:01 +0100)]
Added NEON and SSSE3 YCbCr conversion functions.
Armin Novak [Mon, 13 Feb 2017 15:00:12 +0000 (16:00 +0100)]
Added NEON and SSSE3 YUV conversion optimisations.
Norbert Federa [Mon, 13 Feb 2017 14:31:05 +0000 (15:31 +0100)]
Merge pull request #3760 from akallabeth/filetime_conversion
Fixed time conversion in FileSetFileTime. #3508
Armin Novak [Sat, 11 Feb 2017 10:13:14 +0000 (11:13 +0100)]
Limit RFX update region to screen.
Armin Novak [Mon, 13 Feb 2017 13:37:13 +0000 (14:37 +0100)]
Fixed time conversion in FileSetFileTime. #3508
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.
bigpjo [Fri, 10 Feb 2017 20:38:52 +0000 (20:38 +0000)]
.RDP Password Attribute
Allow password to be stored in .RDP file and parsed and settings
updated, this will allow for dynamic .RDP files to be created with
complete login credentials, using this method the username, server and
password will no longer be visible within process lists.
Also fixed issue of username and domain being read from .RDP files and
set to null by command line processor.
pentagra [Fri, 10 Feb 2017 15:06:20 +0000 (18:06 +0300)]
ifdef's for Cygwin compilation
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
Ilya Shipitsin [Wed, 1 Feb 2017 19:29:37 +0000 (00:29 +0500)]
Remove redundant condition
[channels/urbdrc/client/data_transfer.c:2310] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2311] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2312] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2313] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2314] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
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