- 11 Oct, 2016 1 commit
-
-
Frank Barchard authored
YUV 411 is very uncommon format. Remove support. Update documentation to reflect that 411 is deprecated. Simplify tests for YUV to only test with the new side by side YUV but keep old 3 plane test around with a macro for now. BUG=libyuv:645 R=kjellander@chromium.org Review URL: https://codereview.chromium.org/2406123002 .
-
- 29 Sep, 2016 1 commit
-
-
Frank Barchard authored
BUG=libyuv:560,chromium:445071 TEST=untested R=hubbe@chromium.org Review URL: https://codereview.chromium.org/2371293002 .
-
- 28 Sep, 2016 1 commit
-
-
Frank Barchard authored
Original bt709 color space coefficients were full range yuv for higher quality. This change makes the coefficients use the video constrained color space the same as bt601 which is 16 to 240 for Y and 16 to 235 for chroma channels. BUG=libyuv:639 TEST=libyuv unittests run locally R=hubbe@chromium.org Review URL: https://codereview.chromium.org/2367253003 .
-
- 30 Aug, 2016 1 commit
-
-
Frank Barchard authored
On visual c 2013 and earlier a warning is generated if externs are not declared with the same alignment as the declaration, when using /ltcg BUG=libyuv:633 TEST=standalong test built with cl /Bv /GL /Ox /nologo a.cc b.cc /link /ltcg R=skal@google.com Review URL: https://codereview.chromium.org/2291533004 .
-
- 14 Jul, 2016 1 commit
-
-
Frank Barchard authored
R=braveyao@chromium.org BUG=None Review URL: https://codereview.chromium.org/2152623002 .
-
- 13 Jul, 2016 1 commit
-
-
Frank Barchard authored
Fix for unaligned memory exception. R=braveyao@chromium.org BUG=libyuv:616 Review URL: https://codereview.chromium.org/2152553002 .
-
- 12 Jul, 2016 1 commit
-
-
Frank Barchard authored
to Y,U,V and a pixel stride for U and V. The pixel stride is expected to be 1 or 2. TEST=LibYUVConvertTest.Android420ToI420_Opt BUG=libyuv:604 R=braveyao@chromium.org Review URL: https://codereview.chromium.org/2114843002 .
-
- 26 May, 2016 1 commit
-
-
Magnus Jedvert authored
BUG=libyuv:572 R=fbarchard@google.com Review URL: https://codereview.chromium.org/1995293002 .
-
- 08 Apr, 2016 1 commit
-
-
Frank Barchard authored
When using C version of I420Interpolate for msan, a 50% interpolation would cause stride to be cast to int, which could cause erroneous memory reads on 64 bit build. This CL makes the stride use ptrdiff_t for HalfRow_C BUG=libyuv:582 TESTED=try bots tests R=dhrosa@google.com Review URL: https://codereview.chromium.org/1872953002 .
-
- 10 Feb, 2016 2 commits
-
-
Frank Barchard authored
NV12ToRGB565Row for Intel is implemented as a 2 step conversion: NV12ToARGBRow_SSSE3 and ARGBToRGB565Row_SSE2 NV12ToARGBRow has an AVX2 version, so this CL implements NV12ToRGB565Row_AVX2 with call to NV12ToARGBRow_AVX2 and ARGBToRGB565Row_SSE2. R=harryjin@google.com BUG=libyuv:554 Review URL: https://codereview.chromium.org/1687953002 .
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:557 Review URL: https://codereview.chromium.org/1687713002 .
-
- 13 Jan, 2016 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:546 Review URL: https://codereview.chromium.org/1574253004 .
-
- 21 Dec, 2015 1 commit
-
-
Frank Barchard authored
BUG=libyuv:535 R=dhrosa@google.com Review URL: https://codereview.chromium.org/1535833003 .
-
- 17 Dec, 2015 1 commit
-
-
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 .
-
- 07 Dec, 2015 1 commit
-
-
Frank Barchard authored
R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1502343003 .
-
- 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 .
-
- 10 Nov, 2015 1 commit
-
-
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 .
-
- 04 Nov, 2015 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1429693006 .
-
- 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 1 commit
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:510 Review URL: https://codereview.chromium.org/1415583003 .
-
- 21 Oct, 2015 1 commit
-
-
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
YuvPixel for arm was miscomputing YG. TBR=harryjin@google.com BUG=libyuv:506 Review URL: https://codereview.chromium.org/1402333002 .
-
- 12 Oct, 2015 1 commit
-
-
Frank Barchard authored
fill in aarch64 yuv constants to match how the code expects them. TBR=harryjin@google.com BUG=libyuv:502 Review URL: https://codereview.chromium.org/1396253004 .
-
- 08 Oct, 2015 2 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1398633002 .
-
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 2 commits
-
-
Frank Barchard authored
SETUP provided by zhongwei.yao@linaro.org Previously the 64 bit Neon code had hard coded constants in the setup macro for YUV conversion, while 32 bit Neon code supported the yuvconstants parameter. This change accepts the constants passed to the YUV conversion row function, allowing different color spaces to be respected - naming JPEG and BT.709. As well as the existing BT.601. TBR=harryjin@google.com BUG=libyuv:472 Review URL: https://codereview.chromium.org/1384323002 .
-
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 .
-
- 25 Sep, 2015 2 commits
-
-
Frank Barchard authored
Was I420AlphaToARGB_Premult (8861 ms) I420AlphaToARGB_Opt (7119 ms) Now I420AlphaToABGR_Premult (2840 ms) I420AlphaToARGB_Opt (484 ms) C function switched to 1 step. Was I420AlphaToARGB_Premult (8862 ms) I420AlphaToABGR_Opt (6718 ms) Now I420AlphaToARGB_Premult (8706 ms) I420AlphaToARGB_Opt (6541 ms) R=harryjin@google.com BUG=libyuv:496, libyuv:473 Review URL: https://codereview.chromium.org/1359183003 .
-
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 .
-
- 23 Sep, 2015 1 commit
-
-
Frank Barchard authored
Includes UYVYToARGB ssse3 fix. Was YUY2ToARGB_Opt (433 ms) 69.79% libyuv_unittest libyuv_unittest [.] I422ToARGBRow_AVX2 20.73% libyuv_unittest libyuv_unittest [.] YUY2ToUV422Row_AVX2 6.04% libyuv_unittest libyuv_unittest [.] YUY2ToYRow_AVX2 0.77% libyuv_unittest libyuv_unittest [.] YUY2ToARGBRow_AVX2 Now YUY2ToARGB_Opt (280 ms) 95.66% libyuv_unittest libyuv_unittest [.] YUY2ToARGBRow_AVX2 BUG=libyuv:494 R=harryjin@google.com Review URL: https://codereview.chromium.org/1364813002 .
-
- 22 Sep, 2015 2 commits
-
-
Frank Barchard authored
read in read function for yuv conversion R=harryjin@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1355393002 .
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1363503002 .
-
- 18 Sep, 2015 2 commits
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1359443005 .
-
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 2 commits
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:488 Review URL: https://codereview.chromium.org/1353923003 .
-
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 .
-