Armin Novak
1b78c45eca
Fixed alignment checks for SSE yCbCrToRGB
2017-02-15 12:39:57 +01:00
Armin Novak
dce3604bcf
Refined alignment checks for SSSE3 YUV444ToRGB
2017-02-15 12:08:32 +01:00
Armin Novak
e44158ee29
Reordered SSSE3 YUV444ToRGB
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
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
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
57db52237c
Fixed AVC444 luma/chroma checks.
2017-02-10 08:31:32 +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
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
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
c4122d342c
Added performance profiler to YUV test.
2017-01-31 10:31:34 +01:00
Armin Novak
d7426d4516
Reverted RGB2V
2017-01-31 10:04:00 +01:00
Armin Novak
b04b8303e6
Using faster transformation for RFX decoder.
2017-01-24 11:37:24 +01:00
Armin Novak
0d6fb17921
Fixed NEON primitives.
2017-01-24 09:08:03 +01:00
Armin Novak
dd430f78f6
Fixed YUV tests.
2017-01-24 09:08:03 +01:00
Armin Novak
adcd09cd46
Enabled ASM primitives.
2017-01-24 09:08:03 +01:00
Armin Novak
7e4c6c6a48
Optimized functions, removed duplicates.
2017-01-18 15:28:53 +01:00
Armin Novak
9cf6af36fb
Inlined shift operations.
2017-01-18 15:28:53 +01:00
Armin Novak
6b7b1cec39
Optimized general_YUV444ToRGB_8u_P3AC4R for BGRX
2017-01-18 15:28:53 +01:00
Armin Novak
948e633ed3
Optimized general_RGBToRGB_16s8u_P3AC4R for BGRX
2017-01-18 15:28:53 +01:00
Armin Novak
d76ecc7662
Optimized general_yCbCrToRGB_16s8u_P3AC4R for BGRX
2017-01-18 15:28:53 +01:00
Armin Novak
ebfa0ccc7d
Unified clipping of byte values.
2017-01-12 15:30:06 +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
d1e0d44f22
Merge pull request #3626 from akallabeth/primitives_speedup
...
Added optimized pixel write functions for colors.
2016-12-06 14:34:35 +01:00
Armin Novak
c33754ae1d
Fixed unused and uninitialized warnings.
2016-12-01 15:36:49 +01:00
Armin Novak
7a8f7c2f1b
Added optimized pixel write functions for colors.
2016-11-28 09:21:12 +01:00
Norbert Federa
c6e6b44143
countless WLog/printf format specifier fixes
2016-11-25 17:06:25 +01:00
Martin Fleisz
cf4b8a1ae9
primitives: Fix compiler error
2016-11-25 10:47:00 +01:00
Armin Novak
b9072bf0ea
Added optimized write functions.
2016-11-24 10:37:21 +01:00
Armin Novak
4cc291869a
Added optimized write functions.
2016-11-24 10:36:57 +01:00
Armin Novak
d1e2dd3281
Moved format size calculation out of loop.
2016-11-24 10:01:45 +01:00
Armin Novak
64c5d78b3f
Fixed clang warnings.
2016-10-06 13:43:09 +02:00
Armin Novak
c7448c03fb
Added FREERDP_LOCAL
...
CMake 2.8 does not support default visibility on windows.
To allow building tests add the FREERDP_LOCAL define for each
function that is internal to FreeRDP.
When build with testing these functions are exported and available
for use by tests.
2016-10-06 13:43:09 +02:00
Armin Novak
d0f09c8d15
Fixed warnings and stride default.
2016-10-06 13:43:04 +02:00
Armin Novak
076b92dd72
Fixed primitives misuse.
2016-10-06 13:43:00 +02:00
Armin Novak
99c418766c
Updated primitives API and tests.
2016-10-06 13:43:00 +02:00
Armin Novak
df35c135d1
Fixed color conversion, unified GFX and updated API.
2016-10-06 13:42:58 +02:00
Norbert Federa
e8c4910e2e
fix segfaults casused by size_t format specifier
...
win32/msvc cc does not recognize the %z format specifier which caused
invalid references and segfaults on win32.
Until FreeRDP gets format specifier macros we'll cast size_t to
unsigned long and use the %lu specifier.
Also simplified winpr_backtrace_symbols() a little bit and fixed it
to allocate the correct amount of bytes for the return buffer.
2016-05-27 15:55:28 +02:00
Armin Novak
dfdc4c38f9
Fixed comments.
2016-03-16 13:43:18 +01:00
Armin Novak
5bc333c626
Implemented GFX AVC444 support.
2016-03-16 13:43:18 +01:00
Armin Novak
3309bf8f9c
Implemented YUV444 related primitives.
2016-03-16 13:43:17 +01:00
Armin Novak
10956f3179
Fixed constant definition.
2016-02-03 11:51:31 +01:00
Martin Fleisz
c9c8f8cc89
Merge pull request #2435 from llyzs/llyzs
...
Add openh264 encoder support.
2015-03-06 11:33:30 +01:00
Bernhard Miklautz
a371723c4f
build: fix compiler warnings
...
warning: redundant redeclaration
Tested with: 4.7.2 and 3.5.0-1~exp1
2015-03-03 19:36:54 +01:00
Vic Lee
3c3c7068a0
Add openh264 encoder support.
2015-03-02 18:11:28 +08:00
Marc-André Moreau
2a5192b027
Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
...
Conflicts:
client/Windows/wf_cliprdr.h
client/Windows/wf_event.h
client/X11/xf_client.c
client/X11/xf_gdi.c
libfreerdp/gdi/gdi.c
server/Mac/mf_input.c
2014-09-17 19:09:56 -04:00
Marc-André Moreau
1837c34e6e
libfreerdp-codec: add BGR support to egfx
2014-09-16 16:55:47 -04: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
Martin Fleisz
54b96290c9
Merge branch 'fix_2036' of git://github.com/akallabeth/FreeRDP into akallabeth-fix_2036
...
Conflicts:
libfreerdp/codec/test/TestFreeRDPCodecPlanar.c
libfreerdp/codec/test/TestFreeRDPCodecProgressive.c
libfreerdp/core/transport.c
libfreerdp/primitives/test/TestPrimitivesYCbCr.c
2014-09-11 13:03:01 +02:00
Marc-André Moreau
89e5fef11f
wfreerdp: fix build on Windows
2014-09-10 11:38:38 -04:00
Armin Novak
f18a4b8252
Fixed winpr_HexDump calls in tests.
2014-09-10 08:48:49 +02:00
Marc-André Moreau
c71e4e18a1
libfreerdp-core: refactor codec context management
2014-09-10 00:42:41 -04:00
Marc-André Moreau
3d4fea7d8e
libfreerdp-primitives: fix YUV420 color conversion matrix
2014-09-09 19:18:07 -04:00
Marc-André Moreau
bcf1266f51
libfreerdp-primitives: integrate H264 SSE3 color converter
2014-09-09 19:15:07 -04:00
Marc-André Moreau
666919d157
Merge branch 'egfx_new' of https://github.com/erbth/FreeRDP into egfx
2014-09-09 18:04:55 -04:00
Marc-André Moreau
5c5eedc85b
libfreerdp-codec: allow error margin of 1 on YCbCr to RGB color decoding
2014-09-09 17:34:02 -04:00
Marc-André Moreau
1931dc546f
Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
2014-09-09 13:45:08 -04:00
Marc-André Moreau
12ca7b3391
libfreerdp-primitives: update YCbCr test code
2014-09-09 13:44:57 -04:00
erbth
2d6a59e34b
added some commits, I didn't understand my own code anymore
2014-09-09 12:34:08 +02: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
Marc-André Moreau
a427a46ba5
libfreerdp-primitives: start porting tests to Windows
2014-09-08 16:24:43 -04:00
Marc-André Moreau
81454c1171
libfreerdp-primitives: add more YCbCr test coefficients
2014-09-08 15:47:03 -04:00
Marc-André Moreau
e21202ee61
libfreerdp-primitives: add per-pixel YCbCr test code
2014-09-08 15:16:03 -04:00
Marc-André Moreau
cc16ddea2d
libfreerdp-primitives: update YCbCr color converter
2014-09-08 12:28:35 -04:00
Marc-André Moreau
bd516e04fa
libfreerdp-primitives: cleanup YCoCg
2014-09-06 21:13:37 -04:00
Marc-André Moreau
3203d37bdf
libfreerdp-primitives: optimize YUV420p to RGB conversion
2014-09-06 20:15:40 -04:00
Marc-André Moreau
437583aa9a
libfreerdp-primitives: add YUV420 to RGB conversion
2014-09-06 17:10:27 -04:00
Marc-André Moreau
be60bddec0
libfreerdp-primitives: add YCbCr color converter test
2014-09-04 16:34:29 -04:00
Marc-André Moreau
ccb31efe63
libfreerdp-primitives: migrate tests to ctest
2014-09-04 15:46:20 -04:00
Marc-André Moreau
37aabc50d1
libfreerdp-codec: improve YCbCr to RGB color conversion
2014-09-04 13:09:46 -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
Daryl Poe
fa06452a4b
add YCoCg->RGB and 16-to-32bit SSE
2014-07-02 14:30:04 -06:00
Bernhard Miklautz
b817e92e5e
cmake: mark required libraries for export
2014-04-23 10:16:02 +02:00
Bernhard Miklautz
2b6b4a6685
updated file headers
2013-12-04 11:44:22 +01:00
Marc-André Moreau
55565e056c
freerdp: export targets
2013-10-28 23:06:39 -04:00
Marc-André Moreau
cd8091a315
freerdp: fix monolithic build with Intel IPP linking
2013-05-16 14:45:49 -04:00
Marc-André Moreau
cd7edbbc81
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-03-04 16:07:29 -05:00
Martin Fleisz
52deaeaddd
cmake: Fix for monolithic Android build
2013-03-04 10:16:40 +01:00
Martin Fleisz
a822d736f0
Fixed issues with new sysinfo on windows
2013-03-04 09:40:26 +01:00
Bernhard Miklautz
50a4f6d97b
primitives: fixed flag detection for sign functions
2013-03-01 09:02:15 +01:00
Bernhard Miklautz
eb194014d3
primitives: use alias define for SSE2
2013-03-01 09:02:15 +01:00
Bernhard Miklautz
fe91121706
primitves/test: use Ex function for extended flags
2013-03-01 09:02:15 +01:00
Bernhard Miklautz
08772f6402
primitives: removed build warnings on arm
2013-03-01 09:02:15 +01:00
Bernhard Miklautz
081be8b01f
primitives: updated tests, cleanup and build fixes
2013-03-01 09:02:14 +01: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
Bernhard Miklautz
84a3dbc115
primitives: make use of winprs processor feature detection
...
- Removed the cpu flag detection
- Fixed and updated the tests
2013-03-01 09:02:14 +01:00
Bernhard Miklautz
bf7f7f0f60
winpr/sysinfo: added IsProcessorFeaturePresent and IsProcessorFeaturePresentEx
...
These functions can be used to check if an processor feature is supported.
IsProcessorFeaturePresentEx is a extended version which is not available
in the windows API and allows to query additional features.
Currently it works on the following platforms:
- i386/amd64 when compiling with gcc
- ARM on linux
2013-03-01 09:02:14 +01:00
Marc-André Moreau
62e686f62a
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-02-28 10:42:13 -05:00
Marc-André Moreau
9873ce28d0
libwinpr-utils: experiment with printf replacement
2013-02-28 08:41:51 -05:00
Bernhard Miklautz
071c528331
primitives: test build fixed
2013-02-28 14:30:12 +01:00
Martin Fleisz
e819223939
primitives: renamed NEON detection function
2013-02-21 03:31:07 -08:00
Martin Fleisz
22cc6341a6
codec/primitives: NEON now enabled for iOS
2013-02-21 03:27:10 -08:00
Martin Fleisz
343d210a75
primitives: separating optimized functions into their own .c files.
...
This way we use certain compiler flags (like -msse3) only on files
containing optimized code. This avoids problems that occured when
using these flags compiling generic code and running it on platforms
that don't support these optimizations (i.e. NEON optimization on
ARM platforms).
2013-02-21 02:45:10 -08:00
Martin Fleisz
b5d6b43700
Fixed and improved performance of NEON yCbCr to RGB conversion
2013-02-20 05:33:42 -08:00