70 Commits

Author SHA1 Message Date
akallabeth
8b9335aa90 [CMake,libfreerdp] add pkg-config dependencies 2025-09-11 07:17:42 +02:00
akallabeth
018ce108eb [codec,curso] add option do dump cursor images
* dump raw data and converted image to build binary directory when run
2025-02-20 15:56:15 +01:00
akallabeth
fd13e9b919 [primitives,sse] unify load/store
* Use LOAD_SI128 to load __m128i values
* Use STORE_SI128 to store __m128i values
2025-02-12 14:24:10 +01:00
akallabeth
b4976163cd [CMake,simd] unify WITH_SSE2, WITH_AVX2, WITH_NEON
* Add new CMake option WITH_SIMD to enable best available instruction
  type
* Unify simd related defines in single header
2024-12-03 11:54:36 +01:00
akallabeth
faae38120c [cmake,format] reformat all cmake files 2024-11-27 20:41:48 +01:00
Armin Novak
527db6783b [cmake] split tests
* Keep BUILD_TESTING, but only run tests compatible with API (for
  packaging)
* Add BUILD_TESTING_INTERNAL for all tests including internal function
  tests that modify API to be run on our CI
2024-10-24 09:45:44 +02:00
akallabeth
56d660f258 [cmake] mark dependency includes SYSTEM
Mark all dependency include paths SYSTEM so warnings from system headers
are excluded from ci warning statistics
2024-08-26 11:10:49 +02:00
Armin Novak
99f504640c [codec,dsp] add FDK-AAC support
Support fdk-aac library for sound encoding/decoding
Special thanks to myth0s who posted the working decoder configuration
sample on our matrix chat.
2024-07-10 17:04:26 +02:00
Andrew Benson
80aa6b8fb4 libfreerdp: fix typo (AVX not AVC) 2024-07-09 11:11:38 -05:00
akallabeth
b1355471c5 [cmake,intrinsics] fix NEON detection
* detect 32bit ARM architectures
* do not set -mfpu=neon for 64 bit architectures
2024-07-05 09:45:34 +02:00
Armin Novak
3c41de6382 [cmake] move intrinsic support to file
Create DetectIntrinsicSupport.cmake to unify intrinsic detection and use
2024-07-04 13:25:40 +02:00
Armin Novak
b6dcefb126 [cmake] Add proper SSE/NEON detection
Detect actual use of SSE/NEON depending on defined symbols rather than
CMake flags.
2024-07-04 09:36:45 +02:00
Martin Fleisz
a01639e3c4 Merge pull request #10304 from akallabeth/neon-sse-guard
Neon sse guard
2024-06-25 11:52:27 +02:00
akallabeth
7abf5eb3a7 [cmake,codec] fix WITH_OPUS
detect Opus in libfreerdp directly.
The target definition is there and if we run detection in a subdirectory
the required symbols are not visible
2024-06-25 11:30:42 +02:00
akallabeth
26e570e9fe [cmake] unify clang detection
* Move Clang detection to own CMake file
* Check for Clang and AppleClang
* Use CMAKE_COMPILER_IS_CLANG to check for Clang in code
2024-06-25 09:09:50 +02:00
akallabeth
550a3e40c7 [ci,ios] update defaults 2024-06-11 13:26:09 +02:00
akallabeth
311068e605 [primitives] add image copy primitive
* move freerdp_image_copy_no_overlap implementation to primitives
* add SSE4.1 and AVX2 optimizations
2024-06-11 13:26:06 +02:00
akallabeth
2ee987e665 [cmake,codec] refactor codec
* move sse and neon implementations to own subdirectories
* add stubs for missing optimizations (with log messages)
2024-06-11 12:16:20 +02:00
akallabeth
e8cca22d2a [cmake] refactor libfreerdp
* Move codec and primitives to own CMakeLists.txt
* Add freerdp_object_library_add
* add freerdp_compile_options_add
2024-06-11 09:44:05 +02:00
Bernhard Miklautz
0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Marc-André Moreau
c71e4e18a1 libfreerdp-core: refactor codec context management 2014-09-10 00:42:41 -04:00
erbth
7828725413 YUV data conversion of H.264 implementation (egfx):
only convert invalid areas
SIMD SSSE3 conversion in primitives
compiling all primitives sources with optimization

and cleanup after last merge
2014-09-09 00:13:18 +02:00
erbth
fee370e4b2 YUV data conversion with SSSE3 using intrinsics 2014-09-08 16:29:01 +02:00
erbth
dee50a8ca2 H264 data alignement and 32 bit comilation ... 2014-08-21 00:58:08 +02:00
erbth
497e130c21 YUV data conversion using SSSE3/assembly with libavcodec implementation 2014-08-18 21:21:24 +02:00
erbth
095a7aba99 OpenH264 YUV data conversion with intel SSSE3 in assembly 2014-08-13 20:56:40 +02:00
erbth
64501b895b Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx
Conflicts:
	libfreerdp/codec/h264.c (deleted in my repo in order to get complete remote file)
2014-07-30 13:11:05 +02:00
erbth
20e76411dc H.264 hack and first port of YUV to XRGB format conversion to assembly 2014-07-29 21:42:04 +02:00
Marc-André Moreau
0c408c213c libfreerdp-codec: stub progressive codec decompressor 2014-07-28 17:42:23 -04:00
Marc-André Moreau
6c034f17eb Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx 2014-07-28 17:04:03 -04:00
Mike McDonald
4370c26e0d Added the ability to decode H.264 frames using libavcodec and refactored code to make it a little cleaner. 2014-07-14 09:59:57 -04:00
Armin Novak
ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Marc-André Moreau
bde954107d Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx
Conflicts:
	client/X11/xf_gfx.c
2014-07-03 12:03:39 -04:00
Mike McDonald
4d3d78c487 Initial implementation of H.264 decoder for MS-RDPEGFX 2014-07-01 23:28:09 -04:00
Marc-André Moreau
d6e955e6f1 channels/rdpgfx: stub bitmap decompression 2014-06-03 20:51:28 -04:00
Marc-André Moreau
abd833c27e libfreerdp-codec: stub new ZGFX (RDP8) bulk compressor/decompressor 2014-06-03 13:38:10 -04:00
Hardening
86489f1c9a Merge pull request #1629 from bmiklautz/update_pull_1609
Android jpeg build enhancement
2014-05-20 22:10:17 +02:00
Marc-André Moreau
77790874c8 libfreerdp-codec: stub XCrush data compression 2014-05-04 19:46:40 -04:00
Bernhard Miklautz
b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +02:00
Marc-André Moreau
5951a9178c libfreerdp-codec: remove old NCrush decompressor 2014-03-16 21:16:53 -04:00
Marc-André Moreau
47ed6002f6 libfreerdp-codec: stub ncrush bulk compression 2014-03-15 14:03:05 -04:00
Marc-André Moreau
35a289e14a libfreerdp-codec: start new MPPC compressor 2014-03-03 16:15:29 -05:00
Hardening
0915060f40 Fixes before pullreq
Replaced zmalloc by calloc.
Moved region from utils to codec.
Fixed some typo and corner cases.
2014-02-05 16:24:46 +01:00
Armin Novak
cf71df7881 Fixed include paths and linking for jpeg library. 2013-12-08 14:18:34 +01:00
Marc-André Moreau
7446c6f02b libfreerdp-codec: start unit tests for RDP6 planar compressor 2013-11-25 18:58:01 -05:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
0ee7ca5741 libfreerdp-codec: add bitmap encoder 2013-07-04 16:31:54 -04:00
Marc-André Moreau
96fa4f462f libfreerdp-codec: move audio format processing code to codec library 2013-03-07 14:43:21 -05:00
Bernhard Miklautz
589d32dc56 codec/rfx,primitives: removed cpu-detect.[ch] from build
sysinfo cpu detection is used on android as well.
2013-03-01 09:02:14 +01:00