Frank Barchard
|
316e1ab996
|
avx2 width parameter bug fix
R=harryjin@google.com
BUG=libyuv:489
Review URL: https://codereview.chromium.org/1321773004 .
|
2015-09-09 11:56:35 -07:00 |
|
Frank Barchard
|
ed55d24d9f
|
H420 functionality
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://webrtc-codereview.appspot.com/54869004 .
|
2015-09-06 11:01:40 -07:00 |
|
Frank Barchard
|
7060e0d826
|
I420ToABGRMatrix functions with J420ToABGR wrapper.
Allows direct conversion from JPeg to ABGR for android.
BUG=libyuv:488
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/55719004 .
|
2015-09-03 10:42:36 -07:00 |
|
Frank Barchard
|
925c3d9e26
|
I420ToARGB conversion with matrix.
Take color conversion constants as a parameter to row function for I420ToARGBMatrixRow_SSSE3.
Allows future variations of color space using a single low level.
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://webrtc-codereview.appspot.com/56669004 .
|
2015-09-02 10:45:42 -07:00 |
|
Frank Barchard
|
0bc626a5d7
|
nolint removed
R=harryjin@google.com
BUG=none
Review URL: https://webrtc-codereview.appspot.com/59389004.
|
2015-08-31 10:52:13 -07:00 |
|
Frank Barchard
|
0735245c52
|
pinsrw instruction allows reading 2 bytes directly into an xmm register.
Saving a gpr register allows the register to not be pushed for now, and in future it can be used to point to color conversion matrix or alpha channel.
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://webrtc-codereview.appspot.com/52789004.
|
2015-08-28 17:03:54 -07:00 |
|
Frank Barchard
|
be11f500f0
|
Use ebp to point to conversion table.
Proof of concept that conversions can table color matrix as a parameter.
R=harryjin@google.com
BUG=libyuv:472, libyuv:488
Review URL: https://webrtc-codereview.appspot.com/58489004.
|
2015-08-28 12:00:49 -07:00 |
|
Frank Barchard
|
3c4f5735ce
|
use pointer to inverse table for clangcl
R=harryjin@google.com
TBR=harryjin@google.com
BUG=none
Review URL: https://webrtc-codereview.appspot.com/54859004.
|
2015-08-26 12:53:03 -07:00 |
|
Frank Barchard
|
5452cce452
|
port row to clangcl
BUG=libyuv:487
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/53799005.
|
2015-08-25 16:15:42 -07:00 |
|
Frank Barchard
|
fa7ce4af3f
|
fixed table for clangcl
R=harryjin@google.com
BUG=libyuv:487
Review URL: https://webrtc-codereview.appspot.com/53799004.
|
2015-08-25 10:47:30 -07:00 |
|
Frank Barchard
|
ee9aaea02f
|
i422torgb565 is asm for clangcl as well
Merge branch 'master' of https://chromium.googlesource.com/libyuv/libyuv into convertcl
allow lto for llvm but not gcc
R=harryjin@google.com
BUG=libyuv:469
Review URL: https://webrtc-codereview.appspot.com/52769004.
|
2015-08-19 10:46:30 -07:00 |
|
Frank Barchard
|
715a29195b
|
vpermq for avx2 ARGB4444ToARGB, ARGB1555ToARGB and RGB565ToARGB
R=harryjin@google.com
BUG=libyuv:462
Review URL: https://webrtc-codereview.appspot.com/52759004.
|
2015-07-07 17:06:04 -07:00 |
|
Frank Barchard
|
97b35daf75
|
disable faulty avx2 in argb conversions and box filter. and extend temporary buffer to 128 for an avx2 any function.
R=harryjin@google.com
BUG=libyuv:462
TESTED=libyuv_unittest run on haswell laptop
Review URL: https://webrtc-codereview.appspot.com/53759004.
|
2015-07-07 15:40:24 -07:00 |
|
Frank Barchard
|
0686f26938
|
blend remove alignment 1 pixel loop for less overhead.
R=tpsiaki@google.com
BUG=none
TESTED=libyuvTest.ARGBBlend_Opt
Review URL: https://webrtc-codereview.appspot.com/50289005.
|
2015-06-24 11:34:12 -07:00 |
|
fbarchard@google.com
|
2e9f3e5cf5
|
rename source files from row_posix.cc etc to row_gcc.cc to avoid gyp build filtering out source files from build when on windows with clang. The source code contained in row_gcc.cc is gcc syntax inline assembly available for any platform that supports gcc or clang for intel cpus.
BUG=440
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/56579004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1430 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-06-09 17:27:52 +00:00 |
|
fbarchard@google.com
|
b07de879b6
|
enable intrinsics for clangcl if -mssse3 is enabled.
BUG=451
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/52699004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1427 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-06-08 22:48:18 +00:00 |
|
fbarchard@google.com
|
cfce47efc8
|
Change Sobel to use JPeg Luma calculation instead of extracting G channel. Using luma produces a better sobel that respects all 3 channels of RGB. Historically the G channel was used to improve performance, and because the luma of I420 is a constrained range, hurting quality. Using the JPeg variation of YUV, the luma is more accurate, including cross platform, better optimized for AVX2 and odd widths, and full range.
BUG=444
TESTED=ARGBSobelXY_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/57479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1414 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-05-27 22:32:26 +00:00 |
|
fbarchard@google.com
|
632c50f29c
|
include posix source for 64 bit clang builds.
BUG=440
TESTED=ninja -C out\Release_x64
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/46259004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1407 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-05-14 21:40:05 +00:00 |
|
fbarchard@google.com
|
2c44965e8d
|
make row_win windows code built with clangcl include the _posix source code.
depot_tools excludes these source files now, so they need to be manually
included.
BUG=435
TESTED=clangcl local build on windows
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/49879004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1395 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-05-02 00:39:29 +00:00 |
|
fbarchard@google.com
|
01db3d1d1d
|
Remove declspec(align(32)) from AVX2 functions.
BUG=422
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/43229004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1374 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-04-20 22:57:04 +00:00 |
|
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 |
|