Armin Novak
2a582ed197
Fixed NULL dereferences and uninitialized values
2019-01-30 16:11:10 +01:00
Armin Novak
53cdd95de0
Refactored RGB to AVC444v2
2018-02-07 10:48:43 +01:00
Armin Novak
46159c4cab
Added UV average to AVC444v1
2018-02-07 10:48:43 +01:00
Armin Novak
8f7bc7990f
Added SSE optimized RGB to AVC444 frame split and test.
2018-01-30 11:17:16 +01:00
Armin Novak
ce10e22b86
Added optimized C function for specific color format.
2018-01-30 11:17:15 +01:00
Martin Haimberger
94a58bd18d
YUV conversation: fixed luma frame creation
...
in the conversation function general_RGBToAVC444YUVv2_ANY
2018-01-12 00:16:45 -08:00
Armin Novak
23e1afb44a
Added new and optimized YUV primitives.
...
* RGBToAVC444YUVv2: Split a RGB frame in luma and/or chroma v2 YUV420 frames
* RGBX specific versions of RGBToAVC444YUV and RGBToYUV420_8u_P3AC4R
2018-01-10 14:46:18 +01:00
Armin Novak
e4766c656e
Fixed missing initialization warnings.
2017-12-21 11:04:32 +01: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
13a60ae138
primitives: added RGB to AVC444YUV converter
2017-02-16 17:03:40 +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
6b7b1cec39
Optimized general_YUV444ToRGB_8u_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
Armin Novak
7a8f7c2f1b
Added optimized pixel write functions for colors.
2016-11-28 09:21:12 +01:00
Martin Fleisz
cf4b8a1ae9
primitives: Fix compiler error
2016-11-25 10:47:00 +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
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
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
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
bcf1266f51
libfreerdp-primitives: integrate H264 SSE3 color converter
2014-09-09 19:15:07 -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
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