Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This re-rolls r1503, which is code changes for aarch64, but includes a fix for yuvconstants matrix data affecting yuv to rgb for jpeg and bt.709. Also includes a code change for the C version of yuv to rgb for jpeg and bt.709 on aarch64. Normally this code is not used, except for unittests. Reason for rolling this libyuv into chromium media, is improvements for aarch64 build of jpeg and BT.709 YUV conversion to ARGB. Previous versions supports Intel and armv7, but aarch64 (arm64) version was still using BT.601 color space constants. This version accepts a color matrix parameter. NV21ToARGB was reimplemented to accept the same color matrix as NV12ToARGB. YUV box filter scaling performance improved for gcc/clang builds. SSE2 and AVX2 filtering ported from Windows. Add J444ToARGB conversion for jpeg color space with 444 subsampling. Speed up unittests - roundtobyte test reduced from 419442 ms to 1140 ms. Add additional xsave bit test for VM that implements AVX cpuid incorrectly. Contains the following libyuv revisions https://chromium.googlesource.com/libyuv/libyuv/+log/d09ad6e9..3e38762d R=xhwang@chromium.org BUG=libyuv:472 Review URL: https://codereview.chromium.org/1392303002 Cr-Commit-Position: refs/heads/master@{#353328}
- Loading branch information