Clone this repo:
  1. 8e18fc9 infra: Move libyuv ci/try jobs from Ubuntu-18.04 to Ubuntu-22.04 by Ben Pastene · 2 days ago main
  2. d0c28db [AArch64] Optimize Merge{ARGB,XRGB}16To8Row_NEON by George Steed · 9 weeks ago
  3. 4f7fd80 [AArch64] Use full vectors in TransposeWx{8 => 16}_NEON by George Steed · 2 weeks ago
  4. 9fac9a4 [AArch64] Add Neon implementations for {ARGB,ABGR}ToAR30Row by George Steed · 6 weeks ago
  5. 83c48c7 [AArch64] Improve ARGB4444TOARGB using SRI instructions by George Steed · 10 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 on Arm.
  • Optimized for MSA on Mips.
  • Optimized for RVV on RISC-V.


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

You can also browse the docs directory for more documentation.