Add AYUVToNV12 and NV21ToNV12

BUG=libyuv:832
TESTED=out/Release/libyuv_unittest --gtest_filter=*ToNV12* --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=1000 --libyuv_flags=-1 --libyuv_cpu_info=-1

R=rrwinterton@gmail.com

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