- 09 Dec, 2015 1 commit
-
-
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 .
-
- 19 Nov, 2015 1 commit
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:524 Review URL: https://codereview.chromium.org/1461013002 .
-
- 10 Nov, 2015 1 commit
-
-
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 .
-
- 04 Nov, 2015 1 commit
-
-
Frank Barchard authored
Add alpha version of YUV to RGB to neon code for ARMv7 and aarch64. For other YUV to RGB conversions, hoist alpha set to 255 out of loop. TBR=harryjin@google.com BUG=libyuv:516 Review URL: https://codereview.chromium.org/1413763017 .
-
- 03 Nov, 2015 1 commit
-
-
Frank Barchard authored
Add unittests that do 1 step conversion vs 2 step conversion. Tests end swapping versions match direct conversions. R=harryjin@google.com BUG=libyuv:518 Review URL: https://codereview.chromium.org/1419103007 .
-
- 02 Nov, 2015 1 commit
-
-
Frank Barchard authored
Removes low levels for I420ToBGRA and I420ToRAW and reimplements them as I420ToRGBA and I420ToRGB24 with transposed color matrix. Adds unittests that do 1 step conversion vs 2 steps to test end swapping versions match direct conversions. R=harryjin@google.com BUG=libyuv:518 Review URL: https://codereview.chromium.org/1427993004 .
-
- 30 Oct, 2015 1 commit
-
-
Frank Barchard authored
Using a transposed conversion matrix, I420ToARGB can output ABGR. R=harryjin@google.com, xhwang@chromium.org BUG=libyuv:473 Review URL: https://codereview.chromium.org/1413573010 .
-
- 27 Oct, 2015 2 commits
-
-
Frank Barchard authored
swap U and V and transpose conversion matrix, so I420AlphaToARGB and I420AlphaToABGR share low level code. Having less code with same performance allows more focused optimization for future ARM versions. R=harryjin@google.com TBR=harryjin@chromium.org BUG=libyuv:473,libyuv:516 Review URL: https://codereview.chromium.org/1422263002 .
-
Frank Barchard authored
U contributes to B and G. V contributes to R and G. By swapping U and V, they contribute to the opposite channels. Adjust the matrix so the U contribution is in the matrix location such that it till contribute to the new B channel and vice versa. This allows ABGR versions of YUV conversion to use the same low level code as ARGB, just using a different matrix and swapping U and V pointers. As a result the existing I444ToABGRRow functions are no longer needed and are removed. Previously this function was only Intel AVX2 optimized for Windwos. Now it is also optimized for Arm and GCC. ARMv7 Neon Was LibYUVConvertTest.I444ToABGR_Opt (75971 ms) Now LibYUVConvertTest.I444ToABGR_Opt (3672 ms) 20.6 times faster. R=xhwang@chromium.org BUG=libyuv:515 Review URL: https://codereview.chromium.org/1414133006 .
-
- 22 Oct, 2015 2 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:510 Review URL: https://codereview.chromium.org/1415583003 .
-
Frank Barchard authored
A bug was introduced on arm when the code for 'any' width switch to a temporary stack buffer and simd. The C version handles odd width by doing 1 pixel, instead of averaging 2. But the SIMD any version is supposed to replicate the last pixel, then the subsampling in Neon will average the pixel with itself, producing the same result. The previous version did this, but only for ARGB 32 bit, which was to avoid introducing issues with subsampled YUY2 source. This CL adds replication for RGB 16 bit values. TBR=harryjin@google.com BUG=libyuv:510 Review URL: https://codereview.chromium.org/1418983003 .
-
- 21 Oct, 2015 2 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1415213002 .
-
Frank Barchard authored
The any function for handling ARGBToI411 was not handling the pixel replication correctly. On 422 and odd width was handled by duplicating a pixel of source. 411 needs replication for remainders of 1, 2 or 3 pixels. The C version was handling odd width but with an average of the remainder pixels, which does not match the SIMD 'any' handling off remainder. This changes the odd width handling to mimic the any version. TBR=harryjin@google.com BUG=libyuv:491 Review URL: https://codereview.chromium.org/1411733004 .
-
- 15 Oct, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:507 Review URL: https://codereview.chromium.org/1410643002 .
-
- 08 Oct, 2015 1 commit
-
-
Frank Barchard authored
yuv constants for bt.601 were previously ported to neon64, as well as the code to respect other color spaces. But the jpeg and bt.709 colour conversion constants were still in armv7 form. This changes the constants for aarch64 builds to be compatible with the code. yuv constants are now passed as const * Remove Yvu constants which were used for older version on nv21 but not new code. TBR=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1398623002 .
-
- 07 Oct, 2015 1 commit
-
-
Frank Barchard authored
Low level for NV21ToARGB written to accept yuv matrix used by other YUV to ARGB functions. Previously NV21 was implemented for Windows using NV12 with a different matrix that swapped U and V. But the Arm version of the low level does not allow the matrix U and V contributions to be swapped. Using a new low level function that reads NV21 and uses the same yuvconstants as other YUV conversion functions allows an Arm port of this function. TBR=harryjin@google.com BUG=libyuv:500 Review URL: https://codereview.chromium.org/1388273002 .
-
- 30 Sep, 2015 1 commit
-
-
Frank Barchard authored
ARGBBlendRow_SSE2, ARGBAttenuateRow_SSE2, and MirrorRow_SSE2 Since vast majority of CPUs have SSSE3 now, removing the SSE2 improves the performance of CPU dispatching. R=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1377053003 .
-
- 25 Sep, 2015 2 commits
-
-
Frank Barchard authored
C I420AlphaToARGB_Opt (5169 ms) SSSE3 I420AlphaToARGB_Opt (432 ms) AVX2 I420AlphaToARGB_Opt (358 ms) and with premultiplication as 2 step process: I420AlphaToARGB_Premult (7029 ms) I420AlphaToARGB_Premult (757 ms) I420AlphaToARGB_Premult (508 ms) R=harryjin@google.com BUG=libyuv:496,libyuv:473 Review URL: https://codereview.chromium.org/1372653003 .
-
Frank Barchard authored
API change - I420AlphaToARGB takes flag indicating if RGB should be premultiplied by alpha. This version implements an efficient SSSE3 version for Windows. C version done in 2 steps. Was libyuvTest.I420AlphaToARGB_Any (1136 ms) libyuvTest.I420AlphaToARGB_Unaligned (1210 ms) libyuvTest.I420AlphaToARGB_Invert (966 ms) libyuvTest.I420AlphaToARGB_Opt (1031 ms) libyuvTest.I420AlphaToABGR_Any (1020 ms) libyuvTest.I420AlphaToABGR_Unaligned (1359 ms) libyuvTest.I420AlphaToABGR_Invert (1082 ms) libyuvTest.I420AlphaToABGR_Opt (986 ms) R=harryjin@google.com BUG=libyuv:496 Review URL: https://codereview.chromium.org/1367093002 .
-
- 22 Sep, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1363503002 .
-
- 18 Sep, 2015 1 commit
-
-
Frank Barchard authored
Reimplements I444ToARGB as a matrix function. new I444ToABGR as matrix functions with wrappers and any functions. Allows for future J444 and H444 versions. I444ToABGR user level function added. BUG=libyuv:490, libyuv:449 R=harryjin@google.com Review URL: https://codereview.chromium.org/1355733002 .
-
- 17 Sep, 2015 3 commits
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1353923003 .
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:493 Review URL: https://codereview.chromium.org/1348203004 .
-
Frank Barchard authored
Patch provided by zhongwei.yao@linaro.org R=fbarchard@chromium.org, fbarchard@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1344393002 .
-
- 15 Sep, 2015 1 commit
-
-
Frank Barchard authored
R=fbarchard@chromium.org, fbarchard@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1334173005 .
-
- 06 Sep, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:488 Review URL: https://webrtc-codereview.appspot.com/54869004 .
-
- 03 Sep, 2015 2 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:488 Review URL: https://webrtc-codereview.appspot.com/57679004 .
-
Frank Barchard authored
Allows direct conversion from JPeg to ABGR for android. BUG=libyuv:488 R=harryjin@google.com Review URL: https://webrtc-codereview.appspot.com/55719004 .
-
- 18 Aug, 2015 1 commit
-
-
Frank Barchard authored
clangcl use compare_win for 32 bit, allowing fallback and enabling avx2 code for clang. move defines/protos to compare_row.h fix issue with odd width ARGBCopyAlpha functions by copying destination to temp buffer, then doing alpha copy, then copy back to destination. R=harryjin@google.com TBR=harryjin@google.com BUG=libyuv:484 Review URL: https://webrtc-codereview.appspot.com/59379004.
-
- 13 Aug, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=none Review URL: https://webrtc-codereview.appspot.com/59369004.
-
- 28 Jul, 2015 1 commit
-
-
Frank Barchard authored
Add rotate any support. Fix for sobel for neon which does 16 at a time, not 8. Disable scaling color test that fails on arm. Test is not complete. R=harryjin@google.com BUG=libyuv:479 Review URL: https://webrtc-codereview.appspot.com/52229004.
-
- 07 Jul, 2015 1 commit
-
-
Frank Barchard authored
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.
-
- 04 Jul, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:461 Review URL: https://webrtc-codereview.appspot.com/55649004.
-
- 02 Jul, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:461 Review URL: https://webrtc-codereview.appspot.com/54779004.
-
- 24 Jun, 2015 2 commits
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:448 Review URL: https://webrtc-codereview.appspot.com/54769004.
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:448 Review URL: https://webrtc-codereview.appspot.com/54759004.
-
- 23 Jun, 2015 2 commits
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:457 Review URL: https://webrtc-codereview.appspot.com/52139004.
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:448 Review URL: https://webrtc-codereview.appspot.com/50279004.
-
- 22 Jun, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:448 Review URL: https://webrtc-codereview.appspot.com/57619004.
-
- 20 Jun, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:448 Review URL: https://webrtc-codereview.appspot.com/50269004.
-