Clone this repo:
  1. 1170363 Add Gemini implementation for NEON32 RGB to YUV matrix operations by Dale Curtis · 10 days ago main upstream/main
  2. 4183733 Rename MergeUVRow_ variable to MergeUVRow by Frank Barchard · 2 weeks ago
  3. b1cacfb Unify X86/X64 versions of ARGBToI4xxMatrix functions by Dale Curtis · 2 weeks ago
  4. f69a479 Add ARGBToNV12Matrix implementation by Dale Curtis · 2 weeks ago
  5. 2c21d57 Add ABGR versions of the ArgbConstants structures by Dale Curtis · 2 weeks ago

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/SVE2/SME on Arm.
  • Optimized for MSA on Mips.
  • Optimized for RVV on RISC-V.

Development

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

You can also browse the docs directory for more documentation.