Hao Chen 2dd3ea6f39 Fix Bugs on mips platform V2.
This patch adds some deleted control macros so that these MSA
optimization functions can be called normally on mips platform.
There are also some modifications to adapt to the clang compiler.

Bug: libyuv:918
Change-Id: I6ffadc6582682b5eaeae2e0f4033d66d370b48b9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3494667
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-03-01 13:16:31 +00:00
build_overrides Roll chromium_revision 64c8c30faa..eaac4f14d9 (824854:902913) 2021-07-19 17:22:35 +00:00
docs Update gclient instructions + environment 2022-02-24 15:19:23 +00:00
include Fix Bugs on mips platform V2. 2022-03-01 13:16:31 +00:00
source Fix Bugs on mips platform V2. 2022-03-01 13:16:31 +00:00
tools_libyuv Update PRESUBMIT, cleanup_links and autoroller to py3 2022-02-24 13:34:14 +00:00
unit_test Fix RotatePlane by 90 on Neon when source width is not a multiple of 8 2022-02-23 19:16:53 +00:00
util Remove MMI support 2022-01-26 08:41:33 +00:00
.clang-format clang-format libyuv 2016-11-07 17:37:23 -08:00
.gitignore DetilePlane and unittest for NEON 2022-01-31 20:05:55 +00:00
.gn Roll chromium_revision 64c8c30faa..eaac4f14d9 (824854:902913) 2021-07-19 17:22:35 +00:00
.vpython remove swarming_client 2021-09-09 07:11:45 +00:00
Android.bp Remove MMI support 2022-01-26 08:41:33 +00:00
Android.mk Remove MMI support 2022-01-26 08:41:33 +00:00
AUTHORS Revert "Allow negative height when ConvertToI420/ARGB is called with NV12/NV21" 2018-06-01 00:19:40 +00:00
BUILD.gn Remove MMI support 2022-01-26 08:41:33 +00:00
cleanup_links.py Update PRESUBMIT, cleanup_links and autoroller to py3 2022-02-24 13:34:14 +00:00
CM_linux_packages.cmake Add installer builds to cmake for linux 2017-01-26 23:05:17 +00:00
CMakeLists.txt [libyuv] - Switch from gflags to absl/flags. 2021-02-19 08:54:30 +00:00
codereview.settings [infra] remove no longer supported git cl upload setting. 2021-04-28 12:47:52 +00:00
DEPS Roll chromium_revision eaac4f14d9..829c6df33d (902913:945687) 2021-12-21 13:20:14 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-09 19:34:43 +00:00
download_vs_toolchain.py Update gclient instructions + environment 2022-02-24 15:19:23 +00:00
libyuv.gni libyuv:loongson optimize compare/row/scale/rotate files with mmi. 2018-07-20 22:53:04 +00:00
LICENSE Update Copyright notice to follow new chromium conventions. 2012-08-08 19:04:24 +00:00
linux.mk Remove MMI support 2022-01-26 08:41:33 +00:00
OWNERS Move metadata in OWNERS files to DIR_METADATA files 2021-02-09 19:34:43 +00:00
PATENTS LibYuv: Adding PATENT and LICENSE files 2011-10-25 16:15:49 +00:00
PRESUBMIT.py Update PRESUBMIT, cleanup_links and autoroller to py3 2022-02-24 13:34:14 +00:00
public.mk use unix line endings 2018-06-20 23:19:59 +00:00
pylintrc Use DEPS for all dependencies + add PRESUBMIT.py 2017-02-03 11:36:53 +00:00
README.chromium Fix RotatePlane by 90 on Neon when source width is not a multiple of 8 2022-02-23 19:16:53 +00:00
README.md README: fix doc links 2018-08-13 18:28:55 +00:00
winarm.mk NV12 Copy, include scale_uv.h 2020-12-08 18:54:16 +00:00

libyuv is an open source project that includes YUV scaling and conversion functionality.

  • Scale YUV to prepare content for compression, with point, bilinear or box filter.
  • Convert to YUV from webcam formats for compression.
  • Convert to RGB formats for rendering/effects.
  • Rotate by 90/180/270 degrees to adjust for mobile devices in portrait mode.
  • Optimized for SSSE3/AVX2 on x86/x64.
  • Optimized for Neon on Arm.
  • Optimized for MSA on Mips.

Development

See Getting started for instructions on how to get started developing.

You can also browse the docs directory for more documentation.