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
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