Clone this repo:
  1. 364b7fa Remove redundant unsigned integer overflow tests by Wan-Teh Chang · 14 hours ago main upstream/main
  2. ffd791f Check malloc allocation sizes are less than SIZE_MAX by Frank Barchard · 19 hours ago
  3. dfa279f Re-enable SME when building for AArch64 Android by George Steed · 6 days ago
  4. 77f3aca ScalePlaneDown34: test dst_width%24 == 0 for armv7 by Wan-Teh Chang · 11 days ago
  5. 61bf0b6 Fix for ARGB scaling down by 4x horizontally but not vertically by Frank Barchard · 14 days 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.