Martin Fleisz
30c3b86655
core: Move image conversion for icon data into the library
2019-05-08 17:06:17 +02:00
Armin Novak
d49adfcf59
Fixed warnings and cleaned up gfx related xfreerdp code.
2019-05-08 17:01:36 +02:00
Martin Fleisz
50566c2171
Merge pull request #5385 from akallabeth/some_unused_parameter_silenced
...
Some unused parameter silenced
2019-05-08 14:16:05 +02:00
Armin Novak
d7ca2db62e
Fixed doulbe semicolon in C files.
2019-05-08 12:58:01 +02:00
Armin Novak
ca4a1d19a5
Silenced some unused parameter warnings.
2019-05-08 12:21:31 +02:00
Armin Novak
8fdf8eaeb7
Optimized image scaling, copy if factor is 1.0
2019-05-07 12:10:23 +02:00
Armin Novak
6a8755a763
Added image scaling api for software drawing.
...
For future GFX channel functions an image scaling function is required.
This moves the implementation from wayland client to core library
and adds support for the much faster SWScale library.
2019-05-07 08:56:29 +02:00
Armin Novak
8d6a12f312
Fixed unnecessary casts in freerdp_image_copy.
2019-04-05 09:14:35 +02:00
Armin Novak
f9b688a446
Removed duplicate argument checks.
2019-04-05 09:14:35 +02:00
Armin Novak
a3e073442c
Fixed unused store warnings.
2019-04-05 09:14:35 +02:00
Armin Novak
e72d9fd484
Fixed sign-compare warnings
2019-04-05 09:13:24 +02:00
Armin Novak
9610faddaa
Fixed sign-compare warnings
2019-04-05 09:13:24 +02:00
Armin Novak
73a6e7052b
Fixed free checks to eliminate bad free warnings.
2019-04-05 09:13:24 +02:00
Armin Novak
b205ccbd5a
Fixed NSC SSE argument checks.
2019-04-05 09:13:24 +02:00
Martin Fleisz
da66485b3d
Merge pull request #5252 from akallabeth/big_endian_fix
...
Fixed endianess issue with GETPIXEL16 and GETPIXEL32
2019-03-01 10:06:56 +01:00
Ilya Shipitsin
5d7186258a
libfreerdp/codec/include/bitmap.c: resolve possible NULL pointer arithmetic
...
found by cppcheck
[libfreerdp/codec/include/bitmap.c:112] -> [libfreerdp/codec/include/bitmap.c:95]: (warning) Either the condition '!pbSrcBuffer' is redundant or there is pointer arithmetic with NULL pointer.
[libfreerdp/codec/include/bitmap.c:112] -> [libfreerdp/codec/include/bitmap.c:96]: (warning) Either the condition '!pbDestBuffer' is redundant or there is pointer arithmetic with NULL pointer.
2019-02-22 17:18:19 +05:00
Armin Novak
dfb4a411d4
Silenced unused-const-variables for test cases.
2019-02-21 14:02:13 +01:00
Armin Novak
43e13bdfac
Fixed all integer conversion warnings for OpenH264.
...
Added range checks and casts to integer where necessary
to remove warnings.
2019-02-21 11:43:59 +01:00
Armin Novak
18b193a1cf
Fixed endianess issue with GETPIXEL16 and GETPIXEL32
2019-02-13 09:30:34 +01:00
Armin Novak
2a582ed197
Fixed NULL dereferences and uninitialized values
2019-01-30 16:11:10 +01:00
Armin Novak
7b92b91d9a
Fixed warnings found by compiler and static analysis.
2019-01-24 11:53:52 +01:00
Armin Novak
ac12adda93
Fixed warnings found by compiler and static analysis.
2019-01-24 11:53:52 +01:00
Armin Novak
8c41bd21ea
Added version check for dynamic OpenH264 use.
2019-01-15 09:49:48 +01:00
Armin Novak
1c855068a2
Using runtime linking for OpenH264.
...
This allows removing the hard dependency on OpenH264 and use the
cisco provided binary.
2019-01-11 12:00:08 +01:00
Armin Novak
6a175d588f
Fixed #5167 : Memory leak in unit test.
2019-01-08 11:20:00 +01:00
Ilya Shipitsin
bdc039e719
resolve several issues found by cppcheck
...
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:796]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:797]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:798]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[libfreerdp/codec/dsp.c:1156] -> [libfreerdp/codec/dsp.c:1154]: (warning) Either the condition '!srcFormat' is redundant or there is possible null pointer dereference: srcFormat.
[channels/drdynvc/client/drdynvc_main.c:1453] -> [channels/drdynvc/client/drdynvc_main.c:1450]: (warning) Either the condition '!drdynvc' is redundant or there is possible null pointer dereference: drdynvc.
[channels/audin/client/opensles/audin_opensl_es.c:98] -> [channels/audin/client/opensles/audin_opensl_es.c:94]: (warning) Either the condition '!opensles' is redundant or there is possible null pointer dereference: opensles.
[channels/audin/client/opensles/audin_opensl_es.c:159] -> [channels/audin/client/opensles/audin_opensl_es.c:153]: (warning) Either the condition '!opensles' is redundant or there is possible null pointer dereference: opensles.
2019-01-02 20:35:24 +05:00
Martin Fleisz
97c5210dbc
Merge pull request #5096 from akallabeth/dsp_channel_mix
...
Fix #5019 : Added channel up/downmixing code for mono/stereo.
2018-12-10 11:58:43 +01:00
Martin Fleisz
30b31b7fb0
Merge pull request #5062 from akallabeth/init_freerdp_image_copy_from_pointer_data
...
Fix #5061 : Initialize output buffer transparent.
2018-12-05 10:57:43 +01:00
Armin Novak
e46575671c
Fix #5019 : Added channel up/downmixing code for mono/stereo.
2018-12-04 11:38:42 +01:00
David Fort
579a13b054
remotefx: don't require data messages to come all in one chunk
...
The spec doesn't require that FRAME_BEGIN, REGION, TILESET, and FRAME_END come all in one
chunk. This patch adds the necessary state saving.
A unitary test is also added.
2018-12-04 11:38:01 +01:00
Armin Novak
d27cd1b19e
Fixed unit tests, use uniqe file names
2018-12-04 08:45:41 +01:00
Armin Novak
c97d4eec67
Fixed uninitialized value.
2018-11-29 11:25:27 +01:00
Armin Novak
0d8a1e1083
Fix #5061 : Initialize output buffer transparent.
2018-11-23 10:57:17 +01:00
Armin Novak
17c363a516
Fixed CVE-2018-8784
...
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
d1112c279b
Fixed CVE-2018-8788
...
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
602f4a2e14
Fixed CVE-2018-8785
...
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
d2e1248b09
Fixed profiler API
...
* Duplicate the name internally to avoid issues with stack
* Made API opaque and removed direct dereferencing of struct.
2018-11-16 09:32:15 +01:00
Bernhard Miklautz
010e3485cb
Merge pull request #4989 from akallabeth/dsp_encode_resample
...
Added resampling to freerdp_dsp_encode.
2018-11-15 15:54:56 +00:00
Bernhard Miklautz
d6dea852b3
Merge pull request #4976 from hardening/rfx_flush
...
remotefx: fix rlgr last bits of encoder
2018-11-15 15:25:25 +00:00
Armin Novak
9766161f10
Added missing define guards.
2018-11-14 13:27:20 +01:00
Armin Novak
5b363e72aa
Allow building without libsoxr support.
2018-11-14 13:27:20 +01:00
Armin Novak
6af56458ad
Marked custom ADPCM codecs experimental.
2018-11-14 13:27:20 +01:00
Armin Novak
b362b61a1a
Added libsoxr based resampling.
2018-11-14 13:27:20 +01:00
Armin Novak
ab15e34032
Refactored freerdp_dsp_resample, checks now done internally.
2018-11-14 13:27:20 +01:00
Armin Novak
60025dde8e
Fixed unused function warnings when FFMPEG backend is used.
2018-11-14 13:27:20 +01:00
Armin Novak
e8e4800c5e
Added resampling to freerdp_dsp_encode.
2018-11-14 13:27:20 +01:00
Bernhard Miklautz
c5c1bac31a
Merge pull request #4960 from akallabeth/interleaved_fix
...
Fixed #4954 : Check destination buffer bounds.
2018-11-09 12:25:55 +00:00
Armin Novak
fff2454ae6
Make VS2010 happy, reworked UNROLL defines.
2018-11-09 12:18:51 +01:00
Armin Novak
6e61dd9d9f
Unroll bBits loops as well.
2018-11-09 12:12:19 +01:00
Armin Novak
7e932bbfa2
Readded loop unrolling.
2018-11-09 11:32:28 +01:00
Armin Novak
cf8bc72dc4
Fixed profiler naming in tests.
2018-11-08 17:43:50 +01:00
Armin Novak
9e2c203771
Fixed various issues with freerdp_bitmap_compress and interleaved_compress
2018-11-08 17:21:28 +01:00
Armin Novak
c0c1d064be
Added a unit test for interleaved codec compression.
2018-11-08 17:20:31 +01:00
Armin Novak
a544776bd8
Simplified code, moved bounds check out of loops.
2018-11-07 13:10:23 +01:00
Armin Novak
10d3ee131e
Fixed #4954 : Check destination buffer bounds.
2018-11-07 12:18:08 +01:00
Bernhard Miklautz
37f8181735
fix [libfreerdp/codec]: heap buffer overflow in TestFreeRDPCodecClear
...
The examples and the allocated buffers assume that the destination
starts with x 0 and y 0 and not 1/1.
2018-11-05 15:43:12 +01:00
David Fort
af195864e5
remotefx: fix rlgr last bits of encoder
...
The last bits of the bitstream were not flushed in the output, this patch fixes it.
2018-10-31 10:42:04 +01:00
Norbert Federa
0572572eb9
fix issue with fnObjectFree and related casts
...
- remove unnecessary/dangerous OBJECT_xxx function-style casts
- fix -Wstrict-prototypes issue with OBJECT_NEW_FN definition
2018-10-19 11:30:01 +02:00
Martin Fleisz
e46d1d95ff
Merge pull request #4926 from akallabeth/primary_order_checks
...
Order data validation and correction
2018-10-17 16:02:28 +02:00
Armin Novak
bbcba568f4
Added parameter checks.
2018-10-16 17:23:24 +02:00
Armin Novak
d2e08c0aa8
Fixed missing argument check.
2018-10-16 17:14:56 +02:00
Armin Novak
91107beb67
Separate alpha handling for planar codec
...
If the destination does not support an alpha channel ignore it
when decoding and prevent data to be copied unnecessarily
2018-10-16 12:17:25 +02:00
Armin Novak
a29bc16af4
Siplified planar alpha / non alpha paths
2018-10-16 10:05:33 +02:00
Martin Fleisz
00af869cd3
Merge pull request #4889 from akallabeth/shadow_server_audin_refactor
...
Shadow server audin refactor
2018-10-08 12:56:09 +02:00
akallabeth
9cc4f844c4
Merge pull request #4912 from akallabeth/swresample
...
Swresample support with avresample fallback
2018-10-05 11:00:13 +02:00
Armin Novak
fbe95209e7
Readded AVRESAMPLE support as fallback.
2018-10-04 09:16:34 +02:00
Vladimir Lomov
41cc2b63cb
Move from libavresample to libswresample
...
- The libavresample as part of FFmpeg was declared as deprecated in
favor of libswresample on Dec 25 2017 in commit "lavr: deprecate the
entire library"
(c29038f304
;
c29038f304
).
As major Linux distributions (RPM, DEB and Archlinux) provide now
FFmpeg and libswresample as its part use the libswresample instead of
libavresample.
Signed-off-by: Vladimir Lomov <vladimir@smoon7.vl-lomov.ru>
2018-10-04 08:35:04 +02:00
Armin Novak
a8a6accc15
Fixed compiler warnings.
2018-10-03 15:16:59 +02:00
Armin Novak
106dde9571
Working mic redirection for shadow server.
2018-09-26 12:49:09 +02:00
Armin Novak
28efbbc01f
Refactored audio_format* functions.
2018-09-26 12:49:09 +02:00
Armin Novak
7e8d128fc6
Fixed clear codec reset and test cases.
2018-09-19 14:18:29 +02:00
Armin Novak
712a39898c
Fixed buffer size for clear_decompress test.
2018-09-19 14:18:29 +02:00
Armin Novak
13e59b5d6a
Fix #4868 : Allow empty bands data.
2018-09-19 14:18:29 +02:00
Armin Novak
4c491b5a18
Fixed #4857 : Properly reset clear codec.
2018-09-18 09:59:49 +02:00
Armin Novak
6d3beabd54
Removed unused variables in tests.
2018-08-24 13:40:36 +02:00
Armin Novak
8d473af4fb
Fixed missing type cast.
2018-08-24 13:40:36 +02:00
Armin Novak
bff49a9bd0
Fixed invalid argument warnings.
2018-08-24 13:40:36 +02:00
Ondrej Holy
79d0725a80
codec/planar: Fix leak found by covscan
...
The patch changes API of functions instead of fixing unused and broken code.
leaked_storage: Returning without freeing "outPlane" leaks the storage that it points to.
2018-08-22 14:34:02 +02:00
Ondrej Holy
36960e97a4
codec/nsc: Fix leak found by covscan
...
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
2018-08-22 13:35:43 +02:00
Armin Novak
2a3a66b18b
Fixed expression ambiguity
2018-08-01 12:56:18 +02:00
Armin Novak
3b187ef321
Code Cleanup
2018-07-19 16:21:03 +02:00
Armin Novak
a984dd7f56
Updated experimental list.
2018-07-19 15:38:44 +02:00
Armin Novak
d40daedb9c
Fixed FFMPEG backend: Do not drop samples for package alignment.
2018-07-19 15:17:54 +02:00
Armin Novak
c192c17c8c
Fixed mixed declaration.
2018-07-19 12:20:14 +02:00
Armin Novak
00b073adda
Fixed DVI_ADPCM mapping.
2018-07-18 12:33:39 +02:00
Armin Novak
6029a411e2
Fixed ima_adpcm encoder bug.
2018-07-17 12:57:57 +02:00
Armin Novak
7260a4fd8f
Fixed override of stream data in dsp_encode methods.
2018-07-17 10:30:35 +02:00
Armin Novak
2d69e369ba
Fixed #4693 : Fix integer underflow in encoder loop.
2018-06-04 10:14:29 +02:00
Armin Novak
ae765430e9
Fixed #4647 : nsc_context_free must not access possibly uninitialized fields.
2018-05-15 13:41:45 +02:00
David Fort
456b0e8934
Merge pull request #4453 from akallabeth/sound_channel_refactor
...
Sound channel refactoring
2018-05-03 11:56:58 +02:00
Armin Novak
bda925c52d
Added libavcodec version check for dsp-ffmpeg component.
...
Abort compilation with a specific error if the libavcodec module
detected is too old.
2018-04-27 12:27:16 +02:00
Armin Novak
3f712cab70
Fixed formatting of changed files.
2018-04-05 13:14:16 +02:00
Armin Novak
4d45bd6661
Added CMake option WITH_DSP_EXPERIMENTAL
...
Some encoder/decoder formats are currently not really working or
have not been thouroughly tested. To allow fearless hackers
fine tuning this flag is added to easily enable/disable these formats.
2018-04-05 13:14:16 +02:00
Armin Novak
f89c1857b9
Rewrite of sound and microphone channels
...
The sound and microphone redirection channels (and in part TSMF)
did not properly decouple encoding/decoding from the backends used
to play/record sound.
Encapsulating encoding/decoding in rewritten freerdp_dsp_* functions
with variable backends, simplifying alsa/oss/pulse/... audio backends.
2018-04-05 13:14:16 +02:00
Armin Novak
72d574b31e
Fixed type mismatches with H264 backend buffer pointers.
2018-04-05 10:48:45 +02:00
Armin Novak
e0d112d548
Removed all calls to WLog_Init and WLog_Uninit
...
Since the calls are no longer required remove their usage.
2018-04-03 13:06:41 +02:00
Armin Novak
44eebbb6e0
Fixed compiler warnings.
2018-03-07 14:47:06 +01:00
Armin Novak
66cc038c93
Fixed threadpool work function return and arguments.
2018-03-07 14:36:55 +01:00
akallabeth
dd538ccd4b
Merge pull request #4470 from mfleisz/misc_fixes
...
Various fixes after running VS 2017 code analysis
2018-03-07 14:05:22 +01:00
Eric Brown
2e0253ae3a
Clean up mf_uninit
2018-03-07 04:30:15 -06:00
Martin Fleisz
0599a3cdbf
codec: Another realloc fix
2018-03-06 16:02:28 +01:00
Martin Fleisz
ba5ad2e2f4
codec: Prevent invalid mem access on realloc failure
2018-03-06 15:34:55 +01:00
Martin Fleisz
21eeea2cee
codec: Fix broken reallocs
2018-03-06 15:32:04 +01:00
Eric Brown
0c24ade668
Misc fixes for Windows clients
2018-03-02 12:42:04 -06:00
Eric Brown
3c52e3dd7c
Fix H.264 codec init access violation on Windows N/KN systems
2018-03-02 12:39:28 -06:00
Armin Novak
1a902c249c
Fix PROFILER_* macros
...
Add the semicolon to the macro to allow clean
undefinition if the profiler is not used.
This used to break VisualC compilers.
2018-02-15 11:30:38 +01:00
Armin Novak
77a9e2edfc
Do not export internal variables.
2018-02-14 13:51:38 +01:00
David Fort
a07efb73ec
video: an implementation of MS-RDPEVOR for X11
...
Implements the decoding of video streams using common H264 decoders. We also implement
a trivial feedback algorithm.
Sponsored by: Rangee GmbH (http://www.rangee.de )
2018-02-13 10:51:07 +01:00
Armin Novak
50c7777bbb
Prevent malloc of size 0
2018-02-09 11:41:53 +01:00
Armin Novak
fde818c6f6
Fixed FFMPEG log messages.
2018-02-07 13:32:29 +01:00
Armin Novak
fac61bf48b
Use dynamic logger in MediaFoundation backend
2018-02-07 13:26:39 +01:00
Armin Novak
aff9a22367
Fixed obsolete TAG definitions and use.
2018-02-07 13:26:39 +01:00
Armin Novak
77d0c77ed9
Fix OpenH264 trace logging, set up context first
2018-02-07 13:26:39 +01:00
Armin Novak
7adc384d9a
Using dynamic logger for GFX-H264 backend.
2018-02-07 13:26:39 +01:00
Bernhard Miklautz
db8519fd8a
Merge pull request #4397 from SriRamanujam/vaapi
...
Use libavcodec's VA-API to accelerate H.264 decoding.
2018-02-07 12:56:31 +01:00
Sri Ramanujam
26eee4aecf
TO BE SQUASHED: use hw_frames_ctx to set up vaapi on older versions of libavcodec
2018-02-02 15:49:59 -05:00
Sri Ramanujam
edf9c52c6b
TO BE SQUASHED: initial changes from code review
2018-02-02 14:30:31 -05:00
Armin Novak
bc33fa8b1b
Tuned FFMPEG encoder settings.
...
Using preset medium with zerolatency.
2018-02-02 13:59:08 +01:00
Armin Novak
9f57e07a23
Align YUV buffer strides and height.
2018-02-02 10:39:33 +01:00
Armin Novak
3b70d1178b
Added AVC444 chroma support to shadow server.
2018-02-02 10:39:33 +01:00
Sri Ramanujam
bedc1ac4c6
Use libavcodec's VA-API decoding.
...
Leverages libavcodec's hw decode support to provide VA-API based
hardware decoding. Depends on the local build of ffmpeg having hardware
VA-API support compiled in and the appropriate libva drivers and
libraries installed.
2018-02-02 02:31:23 -05:00
David Fort
e1cc601963
Merge pull request #4323 from akallabeth/scanbuild_fixes
...
Scanbuild and other warnings fixed
2018-01-08 11:16:21 +01:00
akallabeth
900ec855de
Merge pull request #4334 from h3xx/fix-ffmpeg-support
...
Fix building against current ffmpeg
2018-01-08 09:21:53 +01:00
akallabeth
4077d55a6c
Merge pull request #4332 from hardening/xrandr_and_fixes
...
Xrandr and fixes
2018-01-08 09:20:56 +01:00
Mike Gilbert
51cdd8df19
codec/nsc_sse2: add runtime CPU feature check
2017-12-29 14:06:49 -05:00
Dan Church
ed571e74a5
Provide support for older versions of libavcodec
...
My method was to find the LIBAVUTIL_VERSION_* at the commit where the
updated AV_ prefixed constants became available, add one "micro" version
to it, then if it's not at least that version, provide the unprefixed
constant. It just so happens that the same commit introduced all
the AV_* constants.
2017-12-29 11:13:03 -06:00
Dan Church
78df32c77f
Fix future ffmpeg support
...
The AV_ prefixed constants have been available since
ffmpeg@def97856de6021965db86c25a732d78689bd6bb0 (2015-07-07), or version
2.8.
The non-prefixed constants are set to be removed in the next ffmpeg
release, and were removed in
ffmpeg@302554835e39b79b977ed60c9afe81b44590dfef (2016-12-05).
2017-12-28 09:41:45 -06:00
David Fort
5e2d6ea029
zgfx: add a check
2017-12-22 17:55:48 +01:00
Armin Novak
50a0968c6a
Removed unused variables.
2017-12-21 11:29:24 +01:00
Martin Fleisz
bfe8359b5b
Merge pull request #4239 from akallabeth/test_memleak_fixes
...
Test memleak fixes
2017-12-20 12:38:38 +01:00
Martin Fleisz
5cec90c781
Merge pull request #4305 from hardening/xrandr_fix
...
Fix XRandr for old systems and MacOSX
2017-12-13 17:24:41 +01:00
Martin Fleisz
f6b8a6eaa2
Merge pull request #4276 from akallabeth/big_endian_more
...
Big endian fixes
2017-12-13 09:58:14 +01:00
Armin Novak
7305828122
Fix #4239 : Various memory leaks
...
* Fixed all tests, now can be run with -DWITH_ADDRESS_SANITIZER=ON compiled.
* Enabled address sanitizer for nightly builds.
2017-12-12 11:40:48 +01:00
David Fort
3b670703fb
Merge pull request #4277 from akallabeth/mac_server
...
Mac fixes
2017-12-12 10:40:14 +01:00
David Fort
41823080f9
Fix users of Stream_GetPosition() that returns size_t
2017-12-11 22:38:58 +01:00
Bernhard Miklautz
aa47c8ebe8
Merge pull request #4268 from akallabeth/big_endian_fixes
...
Fix ZGfx decoder on big endian
2017-11-24 15:44:15 +01:00
Armin Novak
57958cb178
Fixed #3810 : Renamed color functions
2017-11-24 13:21:43 +01:00
Armin Novak
13e0d56574
Fixed endianess issues with ncrush.
2017-11-24 12:03:46 +01:00
Armin Novak
dbdc4f4933
Fixed endianess issues of zgfx decoder.
2017-11-23 09:32:29 +01:00
Armin Novak
b1d2053ad1
Fix #4101 : Rfx decode tile width.
2017-11-21 11:08:16 +01:00
Armin Novak
536ffbc31f
Fixed missing function return check.
2017-11-15 15:56:25 +01:00
Armin Novak
dbe418062f
Fixed missing parameter checks.
2017-11-15 15:56:25 +01:00
Armin Novak
7fd5b6f4a2
Fixed warnings and test return values.
2017-11-15 15:54:38 +01:00
Armin Novak
e4873fe2c4
Added encoder path for libavcodec versions <1.0
2017-11-14 09:15:43 +01:00
Armin Novak
5cd89a3bc5
Added compat define for missing format.
2017-11-13 11:28:43 +01:00
Sri Ramanujam
fef3865ff2
Fallback #ifdefs for older versions of libavcodec
2017-11-12 17:31:22 -05:00
Sri Ramanujam
66c925c9e4
Fix libavcodec encoding errors and set tunables.
2017-11-09 11:39:54 -05:00
KOVACS Krisztian
d396258866
codec/nsc: fix memory corruption in case of chroma subsampling
...
For odd number of rows, the memory copy operation was broken: after exiting
the loop, yplane points to the end of the last row data, and thus (yplane +
rw) points *after* the end of the last row.
2017-11-09 14:38:46 +01:00
Armin Novak
5dc8763b2c
Fixed compilation errors with old FFMPEG versions.
2017-11-08 12:55:11 +01:00
David Fort
504b771686
Merge pull request #4053 from akallabeth/ffmpeg_encoder
...
Implemented FFMPEG based encoder.
2017-11-06 11:25:48 +01:00
Armin Novak
5d96fc9b14
Removed unused function pointer
...
The function was breaking windows 7 compatibility.
2017-10-18 09:52:41 +02:00
Norbert Federa
456ce96618
codec/h264: fix potential segfault and mf_init
2017-10-17 19:28:54 +02:00
Bernhard Miklautz
52fbfb7b12
fix clang warnings, directly include wtypes.h ( #4097 )
...
* build: clang use -Wno-unused-command-line-argument
With clang 5.0 builds are quite noisy otherwise.
* Directly include wtypes.h
Directly include winpr/wtypes.h where _fseeki64 or _ftelli64 is used.
* fix build warnings with clang 5
clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning: parentheses-equality
* fix build warnings with clang 5
clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning: tautological-compare
* fix build warnings with clang 5
clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning:
incompatible pointer types passing 'size_t *' (aka 'unsigned
long *') to parameter of type 'UINT32 *' (aka 'unsigned int *')
[-Wincompatible-pointer-types]
2017-08-29 09:09:38 +02:00
Armin Novak
c3d4b7d262
fseeko and ftello for 64bit file support.
2017-08-14 08:42:49 +02:00
Armin Novak
a63b2c5a4a
Use encoder context for old libavcodec.
2017-08-02 08:53:03 +02:00
Armin Novak
3501f82e95
Implemented FFMPEG based encoder.
2017-07-20 13:27:09 +02:00
Armin Novak
e8b9e4f512
Fixed double free.
2017-07-20 09:35:41 +02:00
Armin Novak
8b9e3fa51e
Fixed use of reserved keywords for include guards.
2017-07-20 09:35:41 +02:00
Armin Novak
0490aeb018
Fixed clang malloc integer overflow warnings.
2017-07-20 09:29:48 +02:00
Armin Novak
88fa131248
Fixed variable assignment.
2017-07-19 11:36:28 +02:00
Armin Novak
42fdb0b8d3
Reordered backends with regard to feature completeness.
2017-07-18 07:46:51 +02:00
Armin Novak
96d53933d2
Deactivated all H264 related code paths.
2017-07-17 10:39:08 +02:00
Armin Novak
2614251e83
Removed H264 dummy, did not work (crash on use)
2017-07-17 09:28:08 +02:00
Armin Novak
5764d5a78a
Disable GFX H264 if no backend compiled in.
2017-07-17 09:25:21 +02:00
David Fort
14969adaec
Fix openh264 backend compilation
2017-06-20 10:01:50 +02:00
David Fort
dcbb61e3b3
Fix variable declaration and win32 compilation
2017-06-19 23:52:31 +02:00
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
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
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
David Fort
b2ee8a19ab
Fixed progressive code style and added error handling
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
a2167d5417
Added surface width and heigth for YUV combine.
2017-04-18 14:12:40 +02:00
Armin Novak
b0d3cfda4d
Added AVC444v2 client support.
2017-04-11 11:29:14 +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
09d43a66f4
Fixed tests and dead store warnings.
2017-03-28 16:49:56 +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
Armin Novak
e1a709cea7
Ignore AND mask for 32bpp cursor. #3863
2017-03-17 09:45:32 +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
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
c249705085
Fixed scanbuild warnings.
2017-02-20 13:45:19 +01:00
Armin Novak
5755cb72a1
Fixed crash on h264 context cleanup (windows).
2017-02-17 11:40:27 +01:00
Armin Novak
198bc6d9e1
Fixed compiler warnings.
2017-02-16 13:17:49 +01:00
Armin Novak
01d24264d2
Using aligned RFX buffers.
2017-02-15 12:37:37 +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
f324b0ef9c
Use aligned malloc/free for GFX surfaces/buffers
2017-02-14 16:02:11 +01:00
Armin Novak
94b9fef049
Updated LIBAVCODEC support for H264 decoder.
2017-02-14 10:34:27 +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
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
Norbert Federa
6001cb710d
Merge pull request #3717 from akallabeth/prim_fixes
...
Fixed primitives.
2017-02-01 11:11:27 +01:00
Armin Novak
16de1bca2b
Removed unused profiler.
2017-01-31 14:18:28 +01:00
Armin Novak
dbfbd5b086
Fixed argument order of yCbCrToRGB_16s8u_P3AC4R
2017-01-31 10:49:59 +01:00
Armin Novak
a926c73641
Fixed compiler warning.
2017-01-31 10:05:45 +01:00
David Fort
a6dbc32cf3
Added missing const modifiers for source pointers in codecs
2017-01-27 11:23:08 +01:00
Armin Novak
d39f4a4d3d
Removed unused functions.
2017-01-24 12:54:02 +01:00
Armin Novak
b04b8303e6
Using faster transformation for RFX decoder.
2017-01-24 11:37:24 +01:00
Armin Novak
b233afc076
Fixed uninitialized variable warning.
2017-01-23 13:27:30 +01:00
Armin Novak
00c32f62d3
Fixed alpha channel for color formats without.
2017-01-23 11:32:26 +01:00
Armin Novak
6188a12b37
Fixed planar with if local framebuffer is 16bpp
2017-01-23 11:32:25 +01:00
Armin Novak
34eb0e5d9d
Progressive structs to private header for tests.
2017-01-18 16:41:02 +01:00
Armin Novak
d9810dd7a4
Progressive struct now opaque.
2017-01-18 16:16:29 +01:00
Armin Novak
ace5100e21
Progressive conversion and speed fixes
...
* Using destination color format and precomputed tile stride
* Using preallocated logger
2017-01-18 15:28:53 +01:00
Armin Novak
7198970a4e
Removed obsolete primitive usage.
2017-01-18 15:28:53 +01:00
Armin Novak
326aafc7f8
Inlined freerdp_image_copy helpers.
2017-01-18 15:28:53 +01:00
Armin Novak
da84552ba7
Inlined interleaved helper functions.
2017-01-18 15:28:53 +01:00
Armin Novak
6be6eb2f18
Optimized freerdp_image_fill
2017-01-18 15:28:53 +01:00
Armin Novak
4d40b3c58e
Inlined heavy used functions.
2017-01-18 15:28:53 +01:00
Bernhard Miklautz
de34329ed6
Merge pull request #3702 from akallabeth/clear_reset_fix
...
ClearCodec fix #3642
2017-01-18 14:28:27 +01:00
Martin Fleisz
e218dc03af
Merge pull request #3701 from akallabeth/progressive_inlined
...
[performance] Progressive inlined
2017-01-16 10:36:28 +01:00
Armin Novak
6fec7e591d
Do not reset V-Bar storage.
2017-01-13 11:14:30 +01:00
Martin Fleisz
99c9195218
Merge pull request #3694 from akallabeth/avc420_black_artifact_fix
...
Fixed solid fill command.
2017-01-13 09:24:52 +01:00
Armin Novak
fa3af20771
Inlined progressive helper functions.
2017-01-12 15:35:19 +01:00
Armin Novak
2f9ec8c61a
Unified clear internal buffer resize.
...
Internal datastructures now opaque.
2017-01-11 15:39:04 +01:00
Armin Novak
c444ccbe6e
Removed duplicated format variable.
2017-01-11 15:39:03 +01:00
Armin Novak
0bae21e619
Initialize alpha channel in planar decode.
2017-01-11 13:41:47 +01:00
Norbert Federa
f71b6b46e8
fix string format specifiers
...
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Bernhard Miklautz
227efd34f3
rfx: fix possible segfault in error case
2016-12-14 10:31:17 +01:00
Armin Novak
1a149e5e1e
Clear codec internal format: keep API compatible
2016-12-12 17:04:41 +01:00
Armin Novak
39b08ebdb7
Provide clear codec intermediate format.
2016-12-07 13:47:56 +01:00
Armin Novak
319c767f7c
Fixed clear codec glyph cache.
2016-12-07 13:28:42 +01:00
Martin Fleisz
055d0126ab
client/win: Too many params in function call
2016-12-05 13:47:19 +01:00
Martin Fleisz
f12100d9de
codec: Fix broken return values
2016-12-05 13:44:08 +01:00
Martin Fleisz
4b65a95f5a
codec: Minor code cleanup
2016-12-05 13:43:45 +01:00
Martin Fleisz
c75142a894
codec: Fix compiler errors
2016-12-02 11:13:20 +01:00
Armin Novak
dc9e748c2f
Extensive debug messages for clear_decompress.
2016-12-02 09:41:02 +01:00
akallabeth
ac9e7530d3
Merge pull request #3637 from mfleisz/rfx_api_simplify
...
codec: Remove src format parameter from rfx_process_message
2016-12-02 09:38:33 +01:00
Martin Fleisz
e059e3dea3
codec: Remove src format parameter from rfx_process_message
...
This parameter is not required. Default param is BGRX32
and if an other format is required rfx_codec_set_pixel_format
can be used.
2016-12-01 17:21:06 +01:00
Armin Novak
c33754ae1d
Fixed unused and uninitialized warnings.
2016-12-01 15:36:49 +01:00
Bernhard Miklautz
00dae7c5ef
Fix some spelling errors
...
Fixes #3633
2016-12-01 15:36:49 +01:00
Norbert Federa
c6e6b44143
countless WLog/printf format specifier fixes
2016-11-25 17:06:25 +01:00
akallabeth
215fbe8446
Merge pull request #3613 from mfleisz/rlgr_api_revamp
...
codec: Revamp of rfx rlgr API
2016-11-25 13:44:23 +01:00
Martin Fleisz
506aa78857
Merge pull request #3619 from akallabeth/image_copy_ignore_alpha
...
Ignore alpha channel in freerdp_image_copy
2016-11-25 10:38:56 +01:00
Armin Novak
9818ed3883
Reduced number of test runs. Fixes 3617.
2016-11-24 10:50:16 +01:00
Armin Novak
d1e2dd3281
Moved format size calculation out of loop.
2016-11-24 10:01:45 +01:00
Armin Novak
1c4c57821b
Ignore alpha channel in freerdp_image_copy
...
When copying image data consider formats that only differ on use
of alpha data equal. This allows using the optimized copy routine
instead of the slower color conversion routine. Fixes #3616
2016-11-24 09:31:14 +01:00
Martin Fleisz
c11211181d
codec: Use context functions for rfx decoding
2016-11-23 14:22:42 +01:00
Martin Fleisz
6c9df44846
codec: Revamp of rfx rlgr API
...
This PR contains following changes:
- Give rlgr encode/decode APIs a similar interface
- Make rlgr encode API accessible again
- Make it possible to exchange rlgr functions
- Make use of RLGR1/3 defines instead of 0/1 in decoding
2016-11-23 13:21:59 +01:00
Martin Fleisz
e45c300824
codec: Fix compilation with VS2010
2016-11-22 12:12:08 +01:00
Armin Novak
9c50e1a635
Replaced _VF formats with copy flags.
2016-10-14 10:36:52 +02:00
Armin Novak
99ade05330
Fixed uninitialized variable.
2016-10-13 16:57:51 +02:00