fbarchard@google.com
|
c7161d1c36
|
Remove code alignment declspec from Visual C versions for vs2014 compatibility.
BUG=422
TESTED=local vs2013 build still passes.
Review URL: https://webrtc-codereview.appspot.com/45959004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1365 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-04-12 23:54:26 +00:00 |
|
fbarchard@google.com
|
bb5a009d11
|
ARGB4444ToARGB and ARGB1555ToARGB ported to AVX2.
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGB4444ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/48009004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1363 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-04-07 23:52:57 +00:00 |
|
fbarchard@google.com
|
8b9f908134
|
RGB565ToARGB AVX2 vzeroupper before the ret, not after.
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*RGB565ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/51549004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1362 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-04-07 22:53:12 +00:00 |
|
fbarchard@google.com
|
8f0b32773c
|
ARGBToUV AVX2 functions hooked up.
BUG=none
TESTED=RGB565ToI420
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/46829004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1359 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-04-07 00:10:52 +00:00 |
|
fbarchard@google.com
|
2827277496
|
port RGB565ToARGB to AVX2.
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*RGB565ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/49609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1357 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-04-06 19:24:23 +00:00 |
|
fbarchard@google.com
|
d28cd77f99
|
Enable assembly for clangcl build on Windows. Previously assembly was disabled so clangcl would work, but only with C code. As clangcl mimics both Visual C and GCC, ifdefs need to pick one or the other or often you'll end up with both. In this CL we disable most Visual C code and use the GCC versions which allow assembly for both 32 and 64 bit intel.
BUG=412
TESTED=clang=1 build on windows
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/51389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1341 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-19 20:36:31 +00:00 |
|
fbarchard@google.com
|
3b4f5eb7b8
|
Port J422 colorspace to GCC
BUG=414
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/43809004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1334 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-17 00:54:50 +00:00 |
|
fbarchard@google.com
|
92f7f421fd
|
rename I400 to J400 and I400 reference to I400. J400 is a simple replication of values to convert to RGB, which is what the old I400 was. I400 reference is the Y part of the YUV formula, so renaming that to I400.
BUG=none
TESTED=libyuvTest (5925 ms total)
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/50369005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1333 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-17 00:01:18 +00:00 |
|
fbarchard@google.com
|
f2fad0faa5
|
Optimized J422ToARGB.
BUG=414
TESTED=J422ToARGB unittest
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/42799004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1328 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-16 18:08:30 +00:00 |
|
fbarchard@google.com
|
685b92b0a6
|
I400ToARGB_AVX2 port from SSE2 to AVX2.
BUG=403
TESTED=libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*I400ToARGB*
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/46569004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1322 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-11 18:12:17 +00:00 |
|
fbarchard@google.com
|
f5a7b2b48a
|
I411ToARGB AVX2 version
BUG=403
TESTED=I411ToARGB unittest
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/42689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1321 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-11 00:08:56 +00:00 |
|
fbarchard@google.com
|
cdd80e04c9
|
Port I444ToARGB to AVX2.
BUG=403
TESTED=I444ToARGB unittests
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/45589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1314 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-09 21:56:48 +00:00 |
|
fbarchard@google.com
|
697c5aa831
|
disable nv12 avx2 for vs9/10 that dont support avx2 instructions.
BUG=409
TESTED=try bots
R=harryjin@google.com, johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/43629004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1311 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-06 19:12:21 +00:00 |
|
fbarchard@google.com
|
bdeb9ac584
|
switch from 8x8 to 4x4 matrix for dithering
BUG=407
TESTED=Dither unittests
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/46459004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1310 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-06 18:28:00 +00:00 |
|
fbarchard@google.com
|
0fe4abbc5c
|
ARGBToRGB565 AVX2 with dithering
BUG=407
TESTED=ARGBToRGB565Dither unittest
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/44519004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1309 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-04 22:31:43 +00:00 |
|
fbarchard@google.com
|
9245317e16
|
ARGBToRGB565 SSE2 port.
BUG=407
TESTED=ARGBToRGB565Dither unittest
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41039004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1308 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-03-04 00:00:50 +00:00 |
|
fbarchard@google.com
|
933bd40c3c
|
port ARGBToRGB565 and ARGB1555 to AVX2. Enable functions that use ARGBToRGB565 AVX2 code. Add ARGBToRGB565Dither function.
BUG=403
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/42109004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1302 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-27 21:15:28 +00:00 |
|
fbarchard@google.com
|
bffd326f74
|
AVX2 version of ARGBToARGB4444
BUG=403
TESTED=local build on windows
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/43429004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1297 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-25 17:26:28 +00:00 |
|
fbarchard@google.com
|
d96047761e
|
AVX2 version of NV12ToARGB
BUG=403
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/40089004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1295 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-24 23:45:08 +00:00 |
|
fbarchard@google.com
|
975dd5a699
|
macros for storing RGB on windows.
BUG=403
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38119004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1283 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-14 00:50:48 +00:00 |
|
fbarchard@google.com
|
2f56d2859f
|
Macro to store ARGB value
BUG=396
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38109004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1279 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-11 18:53:54 +00:00 |
|
fbarchard@google.com
|
d1ac8b17e6
|
use matrix for win64 version of I420ToARGB
BUG=396
TESTED=local unittests build/pass
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41899004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1276 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-11 00:57:46 +00:00 |
|
fbarchard@google.com
|
3bb829a44f
|
Add a macro for YUV to RGB on Windows. Allows multiple color matrix structures in the future.
BUG=393
TESTED=local build
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1275 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-10 23:03:37 +00:00 |
|
fbarchard@google.com
|
0887315390
|
Remove bayer format support from libyuv. This format is very rare and used on legacy hardware. Its not well optimized and has bugs related to odd widths. Removing the format will allow tests to pass under more circumstances, run faster and allow focus on higher priority quality and performance issues.
BUG=301
TESTED=local unittests build/pass on windows gyp build.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38059004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1270 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-09 19:58:19 +00:00 |
|
fbarchard@google.com
|
baafc97d6b
|
port YToARGB AVX2 to GCC
BUG=393
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39819004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1262 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-05 20:17:27 +00:00 |
|
fbarchard@google.com
|
c4e032c543
|
change Y multiplier and bias to compensate for 257/256 which makes YToARGB exactly match float math.
Histogram Before
hist -3 -2 -1 0 1 2 3
red 0 0 1809408 13140736 1827072 0 0
green 0 0 1679912 13471329 1625975 0 0
blue 168448 994816 1876480 10655488 1893376 1006336 182272
Histogram After
hist -3 -2 -1 0 1 2 3
red 0 0 558848 15632128 586240 0 0
green 0 0 209907 16350588 216721 0 0
blue 14848 642816 1989376 11363328 2053120 695040 18688
BUG=394
TESTED=more stringent luma tests
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/38859004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1259 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-04 19:45:26 +00:00 |
|
fbarchard@google.com
|
3982998c7c
|
YToARGB AVX2 port from SSE2
BUG=393
TESTED=YToARGB unittest
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41679004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1258 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-02-03 01:35:11 +00:00 |
|
fbarchard@google.com
|
29db9b0b89
|
C version of YToARGB with ubias removed to produce consistent luma ramp.
BUG=392
TESTED=TestGreyYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35869004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1251 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-26 23:07:46 +00:00 |
|
fbarchard@google.com
|
080a316492
|
port yuv chroma improvements to gcc. YUV to RGB is more accurate using a negative matrix. 2% slower but half as much error.
BUG=324
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41629004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1249 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-26 04:35:51 +00:00 |
|
fbarchard@google.com
|
d12a08712b
|
adjust ubias to minimize error histogram centering error.
BUG=324
TESTED=TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37739004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1248 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-23 22:16:33 +00:00 |
|
fbarchard@google.com
|
eb8dda3ac7
|
fix for ybias on YToARGB function.
BUG=324
TESTED=libyuvTest.YToARGB_Any
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/36939004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1247 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-23 18:31:29 +00:00 |
|
fbarchard@google.com
|
b114986477
|
Change YUV to RGB to subtract the chroma contributions from the bias.
BUG=324
TESTED=win64 build and TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/33999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1246 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-23 04:22:35 +00:00 |
|
fbarchard@google.com
|
c62d30111f
|
adjust bias on Y channel so error histogram is better centered on green channel
BUG=324
TESTED=FullYUVTest
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/38689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1245 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-22 19:43:34 +00:00 |
|
fbarchard@google.com
|
319f047710
|
Compute chroma using negative coefficients to extend range of U contribution on B to 2
BUG=324
TESTED=TestI420
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/41569004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1238 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-21 18:45:13 +00:00 |
|
fbarchard@google.com
|
e7873910df
|
port YUV luma accuracy to posix
BUG=324
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/33049004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1236 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-21 00:36:30 +00:00 |
|
fbarchard@google.com
|
c3d09f6021
|
Improve accuracy of luma channel in YUV to RGB conversion
BUG=324
TESTED=TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/36859004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1233 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-20 23:42:15 +00:00 |
|
fbarchard@google.com
|
b2a6af1be6
|
Change rectangle low level functions to use more conventional row functions including 'any' variations. Previously the yuv function SetPlane stored 32 bit values. Now a more conventional memset() style function is used for YUV that stores bytes. On Haswell a rep stosb is used for YUV. Overall benefit of this CL is improved performance for 'any' width, and simpler row assembly instead of full image assembly. Previously ARGBRect used a low level function that supported a rectangle in assembly. Now it uses a row function, and relies on row coalesce to combine into a single low level call.
BUG=371
TESTED=untested
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1222 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-12 03:58:24 +00:00 |
|
fbarchard@google.com
|
992c3b089a
|
Use HAS_ARGBSETROWS_X86 to detect presence of function.
BUG=none
TESTED=rectangle unittests
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35639004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1218 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-07 00:11:51 +00:00 |
|
fbarchard@google.com
|
966233e5eb
|
Remove sub 16 from yuv conversions and change bias to include it.
BUG=388
TESTED=out\release\libyuv_unittest --gtest_catch_exceptions=0 --gtest_filter=*420ToARGB_Opt | sortms
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/34609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1216 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-31 01:07:02 +00:00 |
|
fbarchard@google.com
|
7892ea1fe1
|
Fix for ARGBToUV on AVX2
BUG=269
TESTED=local testing
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/33669004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1202 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-15 18:59:23 +00:00 |
|
fbarchard@google.com
|
ddee77cdbd
|
Fix for I422ToRGBA when I422ToARGB is not enabled for AVX2
BUG=269
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32339004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1201 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-15 18:28:59 +00:00 |
|
fbarchard@google.com
|
f5f5d15dcd
|
Fix register order for ARGBToUV_AVX2
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29249004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1200 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-15 18:07:09 +00:00 |
|
fbarchard@google.com
|
540e8af80c
|
remove add 16 from ARGBToYJ and add rounding, for consistency with Windows version. row.h header macros sorted alphabetically.
BUG=269
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32579005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1185 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-02 22:37:47 +00:00 |
|
fbarchard@google.com
|
c5aac16af9
|
Remove loop alignment for benefit of modern cpus that dont require alignment.
BUG=none
TESTED=local libyuv unittest passes
R=brucedawson@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1180 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-24 21:26:22 +00:00 |
|
fbarchard@google.com
|
ef14972df0
|
MergeUV AVX2 use vextractf128 to store results to avoid shuffling.
BUG=none
TESTED=intel sde on unittests
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/33369004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1178 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-22 03:33:33 +00:00 |
|
fbarchard@google.com
|
ef67597b48
|
ARGBMirror use SSE2 pshufd instruction instead of SSSE3 pshufb.
BUG=269
TESTED=local benchmark for ARGBMirror
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32509004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1176 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-21 19:25:14 +00:00 |
|
fbarchard@google.com
|
91f240c5db
|
Move sub before branch for loops.
Remove CopyRow_x86
Add CopyRow_Any versions for AVX, SSE2 and Neon.
BUG=269
TESTED=local build
R=harryjin@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/26209004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1175 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-20 21:14:27 +00:00 |
|
fbarchard@google.com
|
b9d17e1d79
|
Fix offset in addresses for windows. Wants it within [] now.
BUG=none
TESTED=local windows build.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1168 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-17 19:50:42 +00:00 |
|
fbarchard@google.com
|
5822505e0a
|
Remove extra unaligned loop from alphablender. Both aligned and unaligned loops were the same, so remove the extra.
BUG=none
TESTED=try bots.
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29059004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1166 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-17 18:33:07 +00:00 |
|
fbarchard@google.com
|
1eb636d249
|
remove initial lea in mirror functions and add the offset in the address mode.
BUG=none
TESTED=local libyuv unittests on windows
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26169004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1165 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-17 18:16:23 +00:00 |
|
fbarchard@google.com
|
35508d0979
|
Mirror_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1164 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-13 23:11:10 +00:00 |
|
fbarchard@google.com
|
91000425a3
|
ARGBUnattenuate_AVX2 ported to GCC. Minor cleanup of constants to use broadcast to make 16 byte constant instead of 32 byte.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1163 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-13 17:57:33 +00:00 |
|
fbarchard@google.com
|
ec1f854f86
|
Use broadcast to duplicate constants from 16 bytes to 32 bytes to save data space.
BUG=none
TESTED=intelsde
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/32029004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1161 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-12 01:45:27 +00:00 |
|
fbarchard@google.com
|
ee4bc0d834
|
vzeroupper moved to just before ret. in one case it was done after ret, which is a bug that would cause a performance stall.
BUG=none
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1149 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-30 19:27:21 +00:00 |
|
fbarchard@google.com
|
2edea9454d
|
Fix lint extraneous warning on row_win assembly by disabling the warning for those affected lines.
BUG=none
TESTED=line row_win.cc
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29969004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1144 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-27 16:27:48 +00:00 |
|
fbarchard@google.com
|
f2fa453b94
|
Port I422ToABGR to AVX2.
BUG=269
TESTED=intelsde on I422ToABGR
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/23149004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1138 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-23 17:20:22 +00:00 |
|
fbarchard@google.com
|
22eb5965fc
|
Optimize I422ToRGBA for AVX2 by hoisting ymm5 initialization and using different register for output of unpack.
BUG=269
TESTED=intelsde on I422ToABGR
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29889004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1137 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-22 23:39:16 +00:00 |
|
fbarchard@google.com
|
c000955bc0
|
Port I422ToRGBA to AVX.
BUG=269
TESTED=intelsde on I422ToRGBA
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/28769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1136 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-22 22:41:39 +00:00 |
|
fbarchard@google.com
|
af6f25245e
|
Reenable AVX2 scaling with bug fix for any width
BUG=376
TESTED=unittest on scale functions
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30759004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1135 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-22 01:15:20 +00:00 |
|
fbarchard@google.com
|
4ec55a21cf
|
Use macros to simplify I422ToARGB for AVX code.
BUG=269
TESTED=local build with Visual C
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1133 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-21 22:48:32 +00:00 |
|
fbarchard@google.com
|
a063a66de4
|
Change I422ToARGB_AVX2 register usage to match SSSE3. ymm0 = B, ymm1 = G, ymm2 = R.
BUG=269
TESTED=intelsde passes on unittests.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/28759004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1132 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-21 19:02:06 +00:00 |
|
fbarchard@google.com
|
d81dddd3d0
|
port I420ToBGRA to AVX2.
BUG=269
TESTED=c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_filter=*I420ToBGRA*
R=brucedawson@google.com, harryjin@google.com, magjed@chromium.org
Review URL: https://webrtc-codereview.appspot.com/26869004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1127 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-20 19:35:55 +00:00 |
|
fbarchard@google.com
|
3dbaaf0032
|
switch win64 intrinsics to loadu / storeu for unaligned memory.
BUG=372
TESTED=untested
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30729004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1124 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-16 23:46:48 +00:00 |
|
fbarchard@google.com
|
205c1440cf
|
Use movdqu then pavgb to allow unaligned memory for rgb subsampling code. Allows this assembly to be used for unaligned pointers as well as aligned ones with no performance hit when memory is aligned on a modern cpu.
BUG=365
TESTED=libyuvTest.ARGBToI420_Unaligned (453 ms)
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30679004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1116 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-07 19:47:06 +00:00 |
|
fbarchard@google.com
|
ca308327d2
|
Remove unaligned functions, since most function support unaligned memory now. This reduces complexity and improves performance for unaligned cases because C code can be avoided, and overhead is less. Downside is old cpus (core2 and earlier) will be slower for aligned memory case. Except mips, which has alignment requirement, but remove unaligned variant.
BUG=365
TESTED=unittest builds and passes locally
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24839004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1113 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-07 00:59:31 +00:00 |
|
fbarchard@google.com
|
b720049a54
|
Make row functions used for planarfunctions and convert use movdqu to relax alignment constraint. Step 1 - make functions unaligned.
BUG=365
TESTED=libyuv_unittest passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1111 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-03 21:11:37 +00:00 |
|
fbarchard@google.com
|
d83f63a3b4
|
InterpolateRow used for scale handle unaligned memory. Remove HalfRow which is not used.
BUG=367
TESTED=unittest on I422ToI420
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/28639004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1107 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-03 17:37:11 +00:00 |
|
fbarchard@google.com
|
455ae94c60
|
Make rotate SIMD allow unaligned pointers.
BUG=365
TESTED=libyuv_unittest
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/22899004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1102 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-02 17:56:48 +00:00 |
|
fbarchard@google.com
|
044f914c29
|
Change scale to unaligned movdqu.
BUG=365
TESTED=scale unittests
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/22879004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1101 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-01 01:16:04 +00:00 |
|
fbarchard@google.com
|
d33bf86b25
|
CopyRow_AVX which supports unaligned pointers for Sandy Bridge CPU.
BUG=363
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToARGB_*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/31489004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1097 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-09-29 23:53:18 +00:00 |
|
fbarchard@google.com
|
aec76f2e30
|
add stride to pointer in C and pass as register to inline.
BUG=357
TESTED=clang on ios
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/29489004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1086 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-09-19 22:51:39 +00:00 |
|
fbarchard@google.com
|
6e95f6f7e1
|
ifdef headers to avoid intrinsics if built with gcc 64 bit on windows.
BUG=351
TESTED=untested
R=jzern@chromium.org
Review URL: https://webrtc-codereview.appspot.com/22419004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1058 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-08-21 22:44:49 +00:00 |
|
fbarchard@google.com
|
9e0f21af0b
|
fixes for blank line lint warnings
BUG=348
TESTED=cpplint.py --filter=-casting source/*.cc include/libyuv/*.h
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/18139004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1045 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-08-14 19:42:48 +00:00 |
|
fbarchard@google.com
|
e6dd1fa024
|
Port I420ToARGB to intrinsics for win64
BUG=336
TESTED=out\release_x64\libyuv_unittest --gunit_also_run_disabled_tests --gtest_filter=*I420To*B*
R=bryan.bernhart@intel.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/15809005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1018 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-06-24 20:45:45 +00:00 |
|
fbarchard@google.com
|
a1f5254a95
|
Switch to c style casts for all source and includes.
BUG=303
TESTED=try
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6629004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@952 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-01-07 03:03:00 +00:00 |
|
fbarchard@google.com
|
5dba58cb1e
|
FixedDiv1 using a single 64/32 divide. Removes size restriction from slope.
BUG=302
TESTED=libyuv scale tests
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6489004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@940 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-01-02 22:32:09 +00:00 |
|
fbarchard@google.com
|
c2295807bd
|
Reduce alignment for loops from 16 bytes to 4 bytes. Reduces outer loop overhead without hurting innerloop time.
BUG=none
TESTED=try bots
R=fbarchard@chromium.org, mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4659004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@880 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-12-02 15:57:39 +00:00 |
|
fbarchard@google.com
|
a0630d77f0
|
Report of affine to nacl using %k0
BUG=none
TEST=none
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/3929004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@855 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-11-15 17:42:44 +00:00 |
|
fbarchard@google.com
|
c2a889eb55
|
Bump reciprocal up by 1
BUG=none
TEST=none
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3599004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@847 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-11-11 05:14:13 +00:00 |
|
fbarchard@google.com
|
191ab18073
|
Use fixed point for small blurs
BUG=none
TEST=libyuvTest.ARGBBlurSmall_Opt
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/3389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@843 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-11-05 18:19:11 +00:00 |
|
fbarchard@google.com
|
4a4b7374c1
|
Load matrix with one vector and splat to 4 different ones.
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/3299004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@838 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-11-01 21:29:45 +00:00 |
|
fbarchard@google.com
|
11a0d48e45
|
pass parameter for yuv conversion
BUG=267
TEST=Luma
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3169005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@834 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-31 05:47:13 +00:00 |
|
fbarchard@google.com
|
21796c94aa
|
Move constant to its own asm block to save 3 GPR registers for main loop
BUG=267
TESTED=32 bit mac build
Review URL: https://webrtc-codereview.appspot.com/3099004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@832 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-29 08:43:13 +00:00 |
|
fbarchard@google.com
|
ca8f826ba3
|
Luma fetch 4 pixels
BUG=267
TEST=Luma*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/3079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@831 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-28 22:53:22 +00:00 |
|
fbarchard@google.com
|
4c736098d6
|
Use packssdw which is SSE2 not packusdw which is SSSE4.
BUG=none
TEST=Sobel* on AMD cpu
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/3069004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@829 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-28 19:12:49 +00:00 |
|
fbarchard@google.com
|
6f7e514caa
|
Full metal BCS
BUG=none
TEST=Luma* unittest
R=thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/3029004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@828 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-28 17:10:49 +00:00 |
|
fbarchard@google.com
|
08b24a4232
|
Bayer GG specialized version for Sobel
BUG=none
TEST=Sobel
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/2849004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@826 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-25 07:39:43 +00:00 |
|
fbarchard@google.com
|
092099507e
|
Sobel using max to get abs for SSE2
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@824 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-23 00:51:52 +00:00 |
|
fbarchard@google.com
|
38157bdc71
|
Change Attenuate and Unattenuate to unaligned memory ops.
BUG=279
TEST=ARGBAttenuate_Unaligned
R=nfullagar@google.com, ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@821 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-21 21:44:23 +00:00 |
|
fbarchard@google.com
|
8be4b289c7
|
ARGBSobelToPlane which produces a planar output.
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2415005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@818 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-21 18:39:07 +00:00 |
|
fbarchard@google.com
|
adef267edf
|
CopyYToAlpha to copy from a plane to alpha channel of ARGB
BUG=275
TESTED=untested
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2415004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@814 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-17 07:32:16 +00:00 |
|
fbarchard@google.com
|
3075de8285
|
Use simple masking for AVX2 version of CopyAlpha so it can be implemented using a more generic bit mask function in future, and use more broadly known and optimized opcodes that will always be fast. Same performance as vblend.
BUG=none
TEST=CopyAlpha*
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/2393005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@813 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-15 00:32:29 +00:00 |
|
fbarchard@google.com
|
f6631bb814
|
CopyAlpha AVX2
BUG=none
TEST=Alpha*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2392004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@812 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-14 19:37:21 +00:00 |
|
fbarchard@google.com
|
7f67961ec5
|
ARGBCopyAlpha for effects
BUG=none
TEST=none
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/2385004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@810 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-12 22:27:37 +00:00 |
|
fbarchard@google.com
|
8b0cdb4a6e
|
ARGBShuffle_SSE2 ported to GCC and NaCL, and HalfRow_SSE2 ported to NaCL.
BUG=271
TESTED=ABGRToARGB on linux
R=johannkoenig@google.com, nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/2362004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@808 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-08 00:15:34 +00:00 |
|
fbarchard@google.com
|
212a1a5000
|
ARGBShuffle_SSE2 for lower end CPUs
BUG=271
TESTED=out\release\libyuv_unittest --gtest_filter=**R*ToARGB*
R=johannkoenig@google.com, ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2361004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@807 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-05 04:17:50 +00:00 |
|
fbarchard@google.com
|
c99db063e2
|
Change ARGBColorMatrix to a 4x4.
BUG=none
TEST=planar_unitest updates
R=johannkoenig@google.com, ryanpetrie@google.com, thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2320008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@805 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-10-01 01:27:30 +00:00 |
|
fbarchard@google.com
|
446f91d040
|
Use vbroadcastf128 to copy m128 to ymm duplicating the value to high and low 128 bits. Allows shared variables.
BUG=none
TEST=avx2 unittests still pass.
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2324004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@803 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-09-30 06:49:10 +00:00 |
|
fbarchard@google.com
|
0d19fc5ed3
|
disable lint warning on movzx instructions
BUG=none
TEST=lint
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/2290004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@802 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-09-24 21:48:50 +00:00 |
|
fbarchard@google.com
|
47e856c632
|
Make I411ToARGB read 2 bytes to avoid overread.
BUG=262
TESTED=I411ToARGB
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2278004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@799 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2013-09-24 10:07:16 +00:00 |
|