clamp C functions use compare

Intel
Was ARGBSubtract_Opt (1760 ms)
Now ARGBSubtract_Opt (1546 ms)

ARM
Was ARGBAdd_Opt (1747 ms)
Now ARGBAdd_Opt (1260 ms)

Bug: None
Change-Id: I52436f6390b6b7313f2a8820833bb4f60ae958be
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2299639
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
8 files changed
tree: dc50dbdf1f25140833ee60544eda6002cb54b328
  1. build_overrides/
  2. docs/
  3. include/
  4. source/
  5. tools_libyuv/
  6. unit_test/
  7. util/
  8. .clang-format
  9. .gitignore
  10. .gn
  11. .vpython
  12. Android.bp
  13. Android.mk
  14. AUTHORS
  15. BUILD.gn
  16. cleanup_links.py
  17. CM_linux_packages.cmake
  18. CMakeLists.txt
  19. codereview.settings
  20. DEPS
  21. download_vs_toolchain.py
  22. libyuv.gni
  23. LICENSE
  24. linux.mk
  25. OWNERS
  26. PATENTS
  27. PRESUBMIT.py
  28. public.mk
  29. pylintrc
  30. README.chromium
  31. README.md
  32. winarm.mk
README.md

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.