Port HammingDistance to SSSE3

Bug: libyuv:701
Test: BenchmarkHammingDistance_Opt
Change-Id: Ibdd5d382677ebef4f82a62e0d5c3b88614a3b6e4
Reviewed-on: https://chromium-review.googlesource.com/696290
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
8 files changed
tree: 170e9b1812e83221c32215fc25bff63de7691ce5
  1. build_overrides/
  2. docs/
  3. include/
  4. infra/
  5. source/
  6. tools_libyuv/
  7. unit_test/
  8. util/
  9. .clang-format
  10. .gitignore
  11. .gn
  12. .vpython
  13. all.gyp
  14. Android.mk
  15. AUTHORS
  16. BUILD.gn
  17. cleanup_links.py
  18. CM_linux_packages.cmake
  19. CMakeLists.txt
  20. codereview.settings
  21. DEPS
  22. download_vs_toolchain.py
  23. gyp_libyuv
  24. gyp_libyuv.py
  25. libyuv.gni
  26. libyuv.gyp
  27. libyuv.gypi
  28. libyuv_nacl.gyp
  29. libyuv_test.gyp
  30. LICENSE
  31. LICENSE_THIRD_PARTY
  32. linux.mk
  33. OWNERS
  34. PATENTS
  35. PRESUBMIT.py
  36. public.mk
  37. pylintrc
  38. README.chromium
  39. README.md
  40. 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.
  • Convert from YUV to formats for rendering/effects.
  • Rotate by 90/180/270 degrees to adjust for mobile devices in portrait mode.
  • Optimized for SSE2/SSSE3/AVX2 on x86/x64.
  • Optimized for Neon on Arm.
  • Optimized for DSP R2 on Mips.

Development

See [Getting started] 1 for instructions on how to get started developing.

You can also browse the [docs directory] 2 for more documentation.