David Fort
0308123592
Split h264 subsystems in different files
2017-06-14 16:04:54 +02:00
Armin Novak
8adc2ba201
Align width and height for AVC444 decoding to 16.
2017-06-01 13:01:23 +02:00
Ilya Shipitsin
a9ab65a935
resolve an issue found by cppcheck:
...
[libfreerdp/crypto/certificate.c:315] -> [libfreerdp/crypto/certificate.c:316]: (warning) Either the condition 'if(fingerprint&&fprint)' is redundant or there is possible null pointer dereference: fingerprint.
2017-06-01 00:05:51 +05:00
Armin Novak
22f1fbe3d2
Fixed missing external declaration ( #3982 )
2017-05-31 11:44:33 +02:00
Jura Sasek
4edb5cf7e6
Build for Solaris
2017-05-24 04:27:01 -07:00
David Fort
48163a27db
Merge pull request #3906 from akallabeth/addin_cast_fix
...
Addin cast fix
2017-05-22 11:12:05 +02:00
David Fort
b92a789dfd
Merge pull request #3963 from akallabeth/qoe_ack
...
Added client RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU
2017-05-22 11:10:03 +02:00
David Fort
ee8ae987bf
Merge pull request #3967 from akallabeth/sec_encrypt_fix
...
SEC_ENCRYPT check in rdp_client_connect_auto_detect
2017-05-22 11:08:32 +02:00
davewheel
4bfb4dddbf
Add a callback to provide NTLM hashes on server-side
...
Adds a callback that allows servers to compute NTLM hashes by themselves. The typical
use of this callback is to provide a function that gives precomputed hash values.
Sponsored by: Wheel Systems (http://www.wheelsystems.com )
2017-05-18 14:24:24 +02:00
Armin Novak
f414522b7a
Added setting for QoeAck.
2017-05-18 14:07:09 +02:00
Armin Novak
8904c15cc9
Fixed missing state reset.
2017-05-17 15:58:44 +02:00
Armin Novak
6649eed659
Fixed missing argument checks.
2017-05-17 15:58:32 +02:00
Armin Novak
8c52dcbdc2
SEC_ENCRYPT check in rdp_client_connect_auto_detect
...
Fix by @wizwizaco for #3951
2017-05-15 13:10:10 +02:00
David Fort
17a4e95a5b
Drop some annoying warning
...
Probably that some unused functions should be removed, but at least it makes
it compile with no warnings.
2017-05-12 13:54:16 +02:00
Armin Novak
b1d631f1e5
Added support for Set Keyboard IME Status
2017-05-12 09:43:58 +02:00
Armin Novak
3eb882dd53
Check arguments for Bitmap_SetSurface
...
The function may be called during connection phase
where there is no valid GDI available.
2017-05-11 13:34:37 +02:00
Armin Novak
21e20ac9f2
Initialize H264 context size for GFX surfaces.
2017-05-10 12:36:08 +02:00
akallabeth
8df8cc6fb5
Merge pull request #3937 from hardening/h264_multimon
...
Fix h264 in multimon scenario
2017-05-09 11:16:12 +02:00
Martin Fleisz
16111e7e7f
codec: Fix multi-threading support for OpenH264 1.6 or later
2017-05-05 12:37:27 +02:00
Armin Novak
80f6fcf38c
Added missing callbacks.
2017-05-03 09:30:22 +02:00
Armin Novak
614d5f0a8e
Fixed use after free of region.
2017-05-03 08:48:36 +02:00
Armin Novak
f3e0c95d45
Added a GFX area update callback.
2017-05-03 08:48:03 +02:00
David Fort
b2ee8a19ab
Fixed progressive code style and added error handling
2017-05-02 18:39:33 +02:00
David Fort
d170c10ee6
Fix H264 in multi monitor case
...
The H264 context is surface specific, so in multi-monitor (with multiple surfaces)
the decoding was failing. This patch fixes that by introducing a surface specific
h264 context.
2017-05-02 18:39:33 +02:00
David Fort
40baadb471
Merge pull request #3911 from akallabeth/avc444_v2
...
Added AVC444v2 client support.
2017-05-02 16:02:21 +02:00
Armin Novak
2da8dcf8ed
Fixed MF H264 buffer allocation.
2017-04-20 12:35:51 +02:00
Armin Novak
f1a296a32e
Fixed AVC444v2 NEON chroma decoder.
2017-04-18 15:08:44 +02:00
Armin Novak
06d4e9ac73
Fixed SSE AVC444v2 chroma decoder.
2017-04-18 15:03:38 +02:00
Armin Novak
a2167d5417
Added surface width and heigth for YUV combine.
2017-04-18 14:12:40 +02:00
Armin Novak
fcd2d820af
Added SSE AVC444v2
2017-04-13 13:09:16 +02:00
Armin Novak
1a0f56baa7
Fixed AVC444 NEON, added AVC444v2.
2017-04-12 14:39:32 +02:00
Armin Novak
0c15455d8f
Upaded YUV tests.
2017-04-11 11:40:04 +02:00
Armin Novak
b0d3cfda4d
Added AVC444v2 client support.
2017-04-11 11:29:14 +02:00
Armin Novak
9713b63c26
Fixed addin tables and casts.
2017-04-10 10:38:57 +02:00
Armin Novak
4be62f7047
Fixed OpenSSL 1.1 no legacy compile issues.
2017-04-06 11:25:25 +02:00
Armin Novak
4f6beb0815
Fixed NEON YUV to RGB conversion issues.
2017-04-05 12:20:29 +02:00
Norbert Federa
1739f27b82
rdpegfx: fix RemoteFX Progressive Codec decoding
...
Since this comes via a Wire-To-Surface-2 PDU we don't have
any left/top/right/bottom destination values.
The current code has always dealt with zeros when updating the
invalid region which resulted in black rectangles.
The correct update region is determined during decompression.
2017-04-03 18:59:58 +02:00
Armin Novak
8d116e6ee9
Use exclusive coordinates in CacheToSurface.
2017-03-31 12:06:21 +02:00
Norbert Federa
0bb67a0a69
improve rdpegfx drawing for software gdi
...
process the region's rectangles individually instead of
just copying the extents
2017-03-30 15:42:13 +02:00
Armin Novak
ed0024d11b
Fixed AVC420 SSE implementation and test.
2017-03-28 17:42:35 +02:00
Armin Novak
09d43a66f4
Fixed tests and dead store warnings.
2017-03-28 16:49:56 +02:00
Armin Novak
9f9254504e
Fixed leak of client random.
2017-03-28 14:33:02 +02:00
Armin Novak
d46d0c3d4a
Fixed invalid return from xf_rail_window_icon
2017-03-28 11:47:46 +02:00
Norbert Federa
fa2086686b
some performance fixes
...
- draw only the updated region in the gdi and x11 surface bits implementation
- don't repeatedly call IsProcessorFeaturePresentEx in rfx rlgr decoder
- fix ugly and unaligned profiler print layout and remove an unnecessary value
2017-03-27 20:14:13 +02:00
David Fort
b0b3a78a20
Store client_random in server mode
...
We need the client_random in server mode when the client does RDP security and
tries to reconnect using the cookie.
2017-03-21 10:32:17 +01:00
Bernhard Miklautz
96b486b8f9
Merge pull request #3870 from akallabeth/mouse_cursor_23bpp
...
Ignore AND mask for 32bpp cursor. #3863
2017-03-20 10:09:23 +01:00
Aric Belsito
70ab61c8e6
Support LibreSSL
...
Broken by the addition of OpenSSL 1.1.0 support.
2017-03-19 13:58:24 -07:00
Armin Novak
e1a709cea7
Ignore AND mask for 32bpp cursor. #3863
2017-03-17 09:45:32 +01:00
David Fort
716eab2405
Add more RAIL option flags
2017-03-10 10:36:26 +01:00
David Fort
7b61dbdd0f
Don't forget to send the RAIL capabilities in server mode
2017-03-09 23:15:49 +01:00
Norbert Federa
f77b4a57dc
Merge pull request #3796 from akallabeth/scan_warning_fixes_v2
...
Scan warning fixes v2
2017-03-03 14:41:11 +01:00
Armin Novak
88b6ff00d9
Fixed argument checks, formatting.
2017-03-03 14:11:28 +01:00
Armin Novak
99c45405cb
Fixed GetEnvironmentVariable.
2017-03-03 12:43:00 +01:00
Martin Fleisz
14c236d682
Merge pull request #3829 from akallabeth/logon_error_info_string
...
String representation of logon_error_info
2017-03-03 09:39:24 +01:00
Armin Novak
b2c29158be
Scanbuild warning, argument checks and leak fixes.
...
* Added Stream_GetRemainingCapacity to check remaining stream size
before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
Armin Novak
d119745d97
String representation of logon_error_info
2017-03-02 18:09:51 +01:00
Armin Novak
f0b61eb4b9
Fixed index for YUV filter in NEON path.
2017-03-02 17:56:23 +01:00
David Fort
815c97efb2
The LongCredentials capability were not parsed or used
2017-03-02 00:39:08 +01:00
David Fort
67607ce916
Take in account and set the LogonNotify flag
...
This flag was not read in the server case and was always sent in the
case of a client.
2017-03-02 00:29:48 +01:00
David Fort
5bb7a05026
Merge pull request #3823 from akallabeth/ssl_error_check_fix
...
Fixed SSL error checks in transport_ssl_cb
2017-03-01 11:21:41 +01:00
Armin Novak
e455cc1745
Fixed SSL error checks in transport_ssl_cb
...
Fix error define use. The callback is called from
ssl3_dispatch_alert or dtls1_dispatch_alert where the alert define
is left shifted by 8. Additionally ignore close notifcation. (#3814 )
2017-03-01 10:46:00 +01:00
Armin Novak
b11de26f98
Fixed GetComputerNameExA return checks.
2017-02-27 11:49:53 +01:00
akallabeth
8a22052b61
Fixed memory leaks.
2017-02-25 08:35:37 +01:00
akallabeth
705c0c1e12
Fixed GetComputerNameExA calls. #3815
2017-02-24 21:58:08 +01:00
Norbert Federa
689d2696d2
Merge pull request #3800 from mfleisz/channel_fixes
...
Cleanup channel structs in channels_close to allow instance reuse
2017-02-24 13:25:52 +01:00
akallabeth
7ce1dd0a6c
Merge pull request #3791 from akallabeth/kerberos
...
Kerberos (Rebased #3417 )
2017-02-23 13:46:34 +01:00
Armin Novak
b905e0c26d
Fixed initialisation of kerberos context.
2017-02-23 11:06:47 +01:00
Martin Fleisz
eeae688ed3
core: Cleanup channel structs in close to allow instance reuse
2017-02-22 13:45:25 +01:00
Martin Fleisz
f4efbd9a2c
Merge pull request #3797 from hardening/clientCapabilities
...
Misc patches around capabilities
2017-02-22 12:53:51 +01:00
akallabeth
65b51a6ca3
Merge pull request #3798 from mfleisz/vc10_comp_fix
...
primitives: Fix compilation with VS 2010
2017-02-22 12:47:52 +01:00
Armin Novak
6366868222
Fixed argument check of sse2_RGBToRGB_16s8u_P3AC4R
2017-02-22 10:59:18 +01:00
Martin Fleisz
966dbdf236
primitives: Fix compilation with VS 2010
2017-02-22 10:21:01 +01:00
Armin Novak
70baa6fe26
Added additional connect errors.
2017-02-22 09:50:59 +01:00
Armin Novak
363109c581
Using preloaded logger.
2017-02-22 09:42:56 +01:00
Armin Novak
1497b5654e
Using SSL defines instead of magic numbers.
2017-02-22 09:34:20 +01:00
David Fort
7b437178bb
Add a ClientCapabilities callback
...
This callback is called when the client capabilities have been received. This callback
appears to be more useful than the Capabilities one that is called just before the server
sends its capabilities.
2017-02-21 23:44:47 +01:00
David Fort
6894ed3af6
Dropped some warnings and fix code style
...
Dropped some warning that were caused by the DEBUG_CAPABILTIES define.
Also adjusted some lines that were quite ugly after the automatic truncation
to 80 characters.
2017-02-21 23:00:41 +01:00
Norbert Federa
43a4903e3d
Merge pull request #3795 from hardening/monitor_limit
...
Limit the number of client announced monitors
2017-02-21 17:35:57 +01:00
David Fort
59dafc2573
Added the spec reference for the 16 monitors limit
2017-02-21 15:03:00 +01:00
Martin Fleisz
0ed0ecb397
Merge pull request #3789 from akallabeth/scan_warning_fixes
...
Scanbuild warning and error fixes
2017-02-21 11:07:57 +01:00
David Fort
837491ba24
Limit the number of client announced monitors
...
The specs says that only 16 are allowed, so let's make that limitation a
reality.
2017-02-21 11:02:12 +01:00
Armin Novak
50cd702a15
Updated KRB5 detection, added error case handler
...
* Linking against KRB5 library now, no dynamic usage.
* Added proper CMake detection script for KRB5 detection
* Added some additional error conditions.
2017-02-21 10:54:34 +01:00
HenryJacques
56c0219907
Update transport.c
2017-02-20 16:04:33 +01:00
HenryJacques
56d6c2396e
Update errconnect.c
2017-02-20 15:59:56 +01:00
Armin Novak
e9b5d78673
Fixed scanbuild warnings.
2017-02-20 14:28:33 +01:00
Armin Novak
c0671b49b4
Fixed scanbuild warnings.
2017-02-20 14:18:18 +01:00
Armin Novak
844919defe
Fixed scanbuild issues.
2017-02-20 14:15:25 +01:00
Armin Novak
a1003ab6f0
Fixed scanbuild warnings.
2017-02-20 14:12:39 +01:00
Bernhard Miklautz
23cfd34525
Merge pull request #3746 from volth/command-line-action-script-rebased
...
Add command line option to override action script path
2017-02-20 14:08:14 +01:00
Armin Novak
c249705085
Fixed scanbuild warnings.
2017-02-20 13:45:19 +01:00
Armin Novak
4c7d01374c
Fixed warings #3784
2017-02-20 13:30:16 +01:00
akallabeth
3115c1e28d
Merge pull request #3783 from chipitsine/master
...
fix several defects found by cppcheck
2017-02-20 13:07:12 +01:00
Ilya Shipitsin
33f38da6b6
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
2017-02-17 18:36:03 +05:00
Volth
c333aa359f
Add command line option to override action script path
2017-02-17 13:09:32 +00:00
Martin Fleisz
c325ec5325
Merge pull request #3780 from akallabeth/win_compile_fix
...
Win compile fix
2017-02-17 13:22:51 +01:00
Armin Novak
5755cb72a1
Fixed crash on h264 context cleanup (windows).
2017-02-17 11:40:27 +01:00
Armin Novak
f8d22c00d6
Fixed compiler warnings and uninitialized data.
2017-02-17 11:17:45 +01:00
Armin Novak
bee73adc5b
Replaced random() with winpr_RAND
2017-02-17 10:59:22 +01:00
Armin Novak
8bffcad7b8
Replaced snprintf with _snprintf.
2017-02-17 10:56:16 +01:00
Norbert Federa
a50242c636
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
2017-02-16 17:48:23 +01:00
Norbert Federa
13a60ae138
primitives: added RGB to AVC444YUV converter
2017-02-16 17:03:40 +01:00
David Fort
c0f4b6bcad
Merge pull request #3772 from akallabeth/sse_test_fixes
...
Sse test fixes
2017-02-16 16:37:27 +01:00
David Fort
be41769506
Add some useful debug info for the egfx channel
2017-02-16 14:49:08 +01:00
Armin Novak
c50e5ba57e
Fixed warnings.
2017-02-16 14:34:43 +01:00
Armin Novak
c04918d6c2
Added value comparison for all YCbCr functions.
2017-02-16 14:00:25 +01:00
Armin Novak
4891ae62b1
Reduced test runtime.
2017-02-16 13:52:27 +01:00
Armin Novak
198bc6d9e1
Fixed compiler warnings.
2017-02-16 13:17:49 +01:00
Armin Novak
4d03a9aa6f
Improved YCoCgToRGB tests.
2017-02-16 12:16:58 +01:00
Armin Novak
799afe0cca
Fixed YUV test result print.
2017-02-16 12:16:58 +01:00
Armin Novak
dda6b14402
Fixed SSE yCbCrToRGB_16s8u_P3AC4R, improved tests.
2017-02-16 12:16:58 +01:00
Armin Novak
ee3a3a787b
Fixed SSE checks and RGBToRGB_16s8u_P3AC4R
2017-02-16 09:57:13 +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
Armin Novak
6960ca209b
Added GFX surface command profiler.
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
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
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
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
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
e3ed91ea7a
Optimized clear codec line copy.
2017-02-13 17:29:29 +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
Armin Novak
85d8157b41
Limit RFX update region to screen.
2017-02-13 15:26:21 +01:00
Armin Novak
57db52237c
Fixed AVC444 luma/chroma checks.
2017-02-10 08:31:32 +01:00
Armin Novak
ef0a7cf5d1
Fixed missing chroma data for AVC444
2017-02-09 19:55:40 +01:00
Armin Novak
7ef90497c7
Respect width and height in rfx_process_message
2017-02-09 12:36:54 +01:00
David Fort
4e0003533e
Parses the SupportStatusInfoPdu early capability and send it to clients if supported
2017-02-09 11:50:46 +01:00
Volth
e7487cea27
Add command line option to override action script path
2017-02-08 08:30:24 +00:00
David Fort
6d8969ece6
Merge pull request #3747 from nfedera/improve-generic-rgb-to-yuv420
...
primitives: RGB to YUV420 (non SIMD) optimizations
2017-02-07 11:19:25 +01:00
Norbert Federa
490473d26f
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
2017-02-06 15:48:52 +01:00
Norbert Federa
246801ec11
Merge pull request #3740 from akallabeth/gdi_color_conversion
...
Fix for GDI color decoding issues.
2017-02-06 15:13:56 +01:00
Armin Novak
8845b3ffa2
Added warning for unsupported color depth.
2017-02-06 10:31:43 +01:00
Norbert Federa
cb5dfd831f
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
2017-02-03 13:56:50 +01:00
Norbert Federa
6001cb710d
Merge pull request #3717 from akallabeth/prim_fixes
...
Fixed primitives.
2017-02-01 11:11:27 +01:00
Armin Novak
df764f5aad
Fixed GDI color decoding issues.
2017-02-01 11:02:23 +01:00
Armin Novak
16de1bca2b
Removed unused profiler.
2017-01-31 14:18:28 +01:00
Martin Fleisz
c2eacd3b31
Build: Use correct pdb names when installing with symbols
2017-01-31 13:32:51 +01:00