- 17 Dec, 2015 3 commits
-
-
Frank Barchard authored
Remove inaccurate specializations for 1/4 and 3/4, since they round incorrectly. Specialize for 100% and 50% are kept due to performance. Make C and ARM code match SSSE3. Make unittests expect zero difference. BUG=libyuv:535 R=harryjin@google.com Review URL: https://codereview.chromium.org/1533643005 .
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:533 Review URL: https://codereview.chromium.org/1535433003 .
-
Frank Barchard authored
BUG=libyuv:533 TBR=harryjin@google.com Review URL: https://codereview.chromium.org/1531143002 .
-
- 16 Dec, 2015 3 commits
-
-
Frank Barchard authored
BUG=libyuv:534 R=kjellander@chromium.org Review URL: https://codereview.chromium.org/1535493002 .
-
Frank Barchard authored
Fixing the failure: 'TransposeWx8_Fast_MIPS_DSPR2' was not declared in this scope BUG=none R=fbarchard@chromium.org Review URL: https://codereview.chromium.org/1527243002 .
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:447 Review URL: https://codereview.chromium.org/1525033005 .
-
- 15 Dec, 2015 4 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:534 Review URL: https://codereview.chromium.org/1526163002 .
-
Frank Barchard authored
R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1520423003 .
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:533 Review URL: https://codereview.chromium.org/1527903002 .
-
Frank Barchard authored
When scaling down by 2 the formula should round consistently. (a+b+c+d+2)/4 The C version did but the SSE2 version was doing 2 averages. avg(avg(a,b),avg(c,d)) This change uses a sum, then rounds. R=dhrosa@google.com, harryjin@google.com BUG=libyuv:447,libyuv:527 Review URL: https://codereview.chromium.org/1513183004 .
-
- 14 Dec, 2015 1 commit
-
-
Frank Barchard authored
BUG=568883 R=fbarchard@chromium.org Review URL: https://codereview.chromium.org/1516653004 .
-
- 11 Dec, 2015 2 commits
-
-
Frank Barchard authored
remove include from unittest.cc that is already done by unittest.h TBR=harryjin@google.com BUG=libyuv:530 Review URL: https://codereview.chromium.org/1513263004 .
-
Frank Barchard authored
include paths break for gtest TBR=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1517123002 .
-
- 10 Dec, 2015 2 commits
-
-
Frank Barchard authored
Some functions run out of registers when compiled for debug, fpic, with stack frames on 32 bit x86 with clang. Previously they were enabled based on _DEBUG but that macro is not set in some build systems. This CL adds DEBUG macro as well to cover those environments. R=harryjin@google.com BUG=libyuv:532 Review URL: https://codereview.chromium.org/1517693005 .
-
Frank Barchard authored
BUG=none R=harryjin@google.com Review URL: https://codereview.chromium.org/1506023009 .
-
- 09 Dec, 2015 6 commits
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:531 Review URL: https://codereview.chromium.org/1515503005 .
-
Frank Barchard authored
was using wrong register on 32 pixel version. R=harryjin@google.com, dhrosa@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1511433006 .
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:529 Review URL: https://codereview.chromium.org/1512793002 .
-
Frank Barchard authored
Benchmark out\release\libyuv_unittest --libyuv_width=1279 --libyuv_height=719 --libyuv_repeat=999 --libyuv_flags=-1 --gtest_filter=*Blend* | sortms Was I420Blend_Any (2321 ms) I420Blend_Unaligned (1684 ms) I420Blend_Opt (1675 ms) I420Blend_Invert (1653 ms) BlendPlane_Invert (1556 ms) BlendPlane_Any (1552 ms) BlendPlane_Unaligned (1548 ms) BlendPlane_Opt (1535 ms) ARGBBlend_Unaligned (659 ms) ARGBBlend_Any (596 ms) ARGBBlend_Invert (591 ms) ARGBBlend_Opt (508 ms) BlendPlaneRow_Unaligned (186 ms) BlendPlaneRow_Opt (171 ms) Now ARGBBlend_Any (621 ms) ARGBBlend_Unaligned (585 ms) ARGBBlend_Invert (564 ms) ARGBBlend_Opt (512 ms) I420Blend_Unaligned (347 ms) I420Blend_Invert (345 ms) I420Blend_Any (337 ms) I420Blend_Opt (327 ms) BlendPlane_Unaligned (187 ms) BlendPlaneRow_Unaligned (187 ms) BlendPlane_Invert (186 ms) BlendPlane_Any (186 ms) BlendPlaneRow_Opt (173 ms) BlendPlane_Opt (171 ms) which is comparable to aligned case out\release\libyuv_unittest --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1 --gtest_filter=*Blend* | sortms ARGBBlend_Any (625 ms) ARGBBlend_Unaligned (602 ms) ARGBBlend_Invert (508 ms) ARGBBlend_Opt (506 ms) I420Blend_Any (353 ms) I420Blend_Unaligned (322 ms) I420Blend_Invert (304 ms) I420Blend_Opt (301 ms) BlendPlaneRow_Unaligned (188 ms) BlendPlane_Unaligned (186 ms) BlendPlane_Invert (185 ms) BlendPlane_Any (184 ms) BlendPlaneRow_Opt (173 ms) BlendPlane_Opt (169 ms) R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1513443002 .
-
Frank Barchard authored
out/Release/libyuv_unittest --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=9999 --libyuv_flags=-1 --gtest_filter=*I420Blend_Opt Was LibYUVPlanarTest.I420Blend_Opt (2335 ms) Now LibYUVPlanarTest.I420Blend_Opt (1937 ms) vs SSSE3 LibYUVPlanarTest.I420Blend_Opt (2599 ms) BUG=libyuv:527 R=dhrosa@google.com Review URL: https://codereview.chromium.org/1505673003 .
-
Frank Barchard authored
xgetbv is generating bad code, falsely disabling AVX2 and AVX512. disable optimization for the function affected on older versions of Visual C 32 bit. R=brucedawson@chromium.org, dhrosa@google.com, harryjin@google.com BUG=libyuv:529 Review URL: https://codereview.chromium.org/1503393004 .
-
- 07 Dec, 2015 3 commits
-
-
Frank Barchard authored
R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1507683003 .
-
Frank Barchard authored
R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1502343003 .
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:528 Review URL: https://codereview.chromium.org/1506973002 .
-
- 06 Dec, 2015 1 commit
-
-
Frank Barchard authored
AVX2 version can process 16 pixels at a time for improved memory bandwidth and fewer instructions. unittests improved to test unaligned memory, and test exactness when alpha is 0 or 255. R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1505433002 .
-
- 04 Dec, 2015 1 commit
-
-
Frank Barchard authored
R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1490273006 .
-
- 02 Dec, 2015 1 commit
-
-
Frank Barchard authored
R=dhrosa@google.com, harryjin@google.com, jzern@chromium.org BUG=libyuv:527 Review URL: https://codereview.chromium.org/1491533002 .
-
- 26 Nov, 2015 1 commit
-
-
Frank Barchard authored
YUV version of interpolation between two images. R=dhrosa@google.com, harryjin@google.com BUG=libyuv:526 Review URL: https://codereview.chromium.org/1479593002 .
-
- 20 Nov, 2015 1 commit
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:524 Review URL: https://codereview.chromium.org/1468523002 .
-
- 19 Nov, 2015 2 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:524 Review URL: https://codereview.chromium.org/1461013002 .
-
Frank Barchard authored
TBR=harrjin@google.com BUG=libyuv:525 Review URL: https://codereview.chromium.org/1461693004 .
-
- 18 Nov, 2015 3 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libtyv:525 Review URL: https://codereview.chromium.org/1460723003 .
-
Frank Barchard authored
previously the I411 format used movd to read U, V pixels. But this reads 4 bytes, and can cause a memory exception. pinsrw can be used, but fails on drmemory 1.5, and is slow. So in this change a movzxw is used to read 2 bytes into EBX, then copy to xmm0 with movd. Slightly slower, but no memory exception Was LibYUVConvertTest.I411ToARGB_Opt (577 ms) Now LibYUVConvertTest.I411ToARGB_Opt (608 ms) TBR=harryjin@google.com BUG=libyuv:525 Review URL: https://codereview.chromium.org/1457783004 .
-
Frank Barchard authored
Before I420ToARGB_Opt (594 ms) I422ToARGB_Opt (483 ms) I411ToARGB_Opt (748 ms) *** I444ToARGB_Opt (452 ms) I400ToARGB_Opt (218 ms) After I420ToARGB_Opt (591 ms) I422ToARGB_Opt (454 ms) I411ToARGB_Opt (502 ms) *** I444ToARGB_Opt (441 ms) I400ToARGB_Opt (216 ms) TBR=harryjin@google.com BUG=libyuv:525 Review URL: https://codereview.chromium.org/1459513002 .
-
- 17 Nov, 2015 2 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:524 Review URL: https://codereview.chromium.org/1452083002 .
-
Frank Barchard authored
improves performance on older CPUs where movdqa is faster. TBR=harryjin@google.com BUG=libyuv:492 Review URL: https://codereview.chromium.org/1455463002 .
-
- 14 Nov, 2015 1 commit
-
-
Frank Barchard authored
SSSE3 Note: Google Test filter = *I444ToARGB* [==========] Running 8 tests from 1 test case. [----------] Global test environment set-up. [----------] 8 tests from LibYUVConvertTest [ RUN ] LibYUVConvertTest.I444ToARGB_Any [ OK ] LibYUVConvertTest.I444ToARGB_Any (435 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_Unaligned [ OK ] LibYUVConvertTest.I444ToARGB_Unaligned (418 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_Invert [ OK ] LibYUVConvertTest.I444ToARGB_Invert (417 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_Opt [ OK ] LibYUVConvertTest.I444ToARGB_Opt (411 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Any [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Any (419 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Unaligned [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Unaligned (432 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Invert [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Invert (435 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Opt [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Opt (421 ms) [----------] 8 tests from LibYUVConvertTest (3389 ms total) AVX2 Note: Google Test filter = *I444ToARGB* [==========] Running 8 tests from 1 test case. [----------] Global test environment set-up. [----------] 8 tests from LibYUVConvertTest [ RUN ] LibYUVConvertTest.I444ToARGB_Any [ OK ] LibYUVConvertTest.I444ToARGB_Any (340 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_Unaligned [ OK ] LibYUVConvertTest.I444ToARGB_Unaligned (325 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_Invert [ OK ] LibYUVConvertTest.I444ToARGB_Invert (316 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_Opt [ OK ] LibYUVConvertTest.I444ToARGB_Opt (316 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Any [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Any (315 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Unaligned [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Unaligned (341 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Invert [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Invert (331 ms) [ RUN ] LibYUVConvertTest.I444ToARGB_ARGB_Opt [ OK ] LibYUVConvertTest.I444ToARGB_ARGB_Opt (329 ms) [----------] 8 tests from LibYUVConvertTest (2615 ms total) TBR=harryjin@google.com BUG=libyuv:492 Review URL: https://codereview.chromium.org/1445893002 .
-
- 13 Nov, 2015 1 commit
-
-
Frank Barchard authored
a prototype function to implement the yuv to rgb with conversion and scale. replace with 1 step function in future version, using same API. R=harryjin@google.com BUG=libyuv:471 Review URL: https://codereview.chromium.org/1421553016 .
-
- 10 Nov, 2015 2 commits
-
-
Frank Barchard authored
the yvu matrix for yuv to rgb had an incorrect entry, affecting yuv to bgra, yuv to abgr and yuv to raw. fix the matrix and reenable avx2 functions. R=harryjin@google.com BUG=libyuv:522 Review URL: https://codereview.chromium.org/1411763004 .
-
Frank Barchard authored
libyuv builds/runs, but when integrated into chromium, produces link errors. unclear why but this disables affected functions. will followup with re-enabling them once the root cause in the runtime error is found. TBR=harryjin@google.com BUG=libyuv:522 Review URL: https://codereview.chromium.org/1427683004 .
-