Frank Barchard 8783eb9d10 [libyuv] Remove prototypes and HAS_ macros for nonexistent functions
Remove 63 function declarations and 7 HAS_ feature macros from
include/libyuv/ headers that have no corresponding implementation in
source/:

- include/libyuv/convert_from_argb.h: Remove unimplemented ARGBToG and
  RGBToNV21Matrix declarations.
- include/libyuv/mjpeg_decoder.h: Remove unimplemented
  MJpegDecoder::GetComponentScanlinePadding declaration.
- include/libyuv/scale.h: Remove obsolete SetUseReferenceImpl
  declaration.
- include/libyuv/scale_row.h: Remove 10 unimplemented ScaleUVRowDown2
  and ScaleUVRowDownEven SSSE3/NEON declarations.
- include/libyuv/row.h: Remove 49 orphaned row function declarations
  (ABGR/BGRA/RGBA ToYRow/ToYJRow/ToUVRow/ToUVJRow _Any wrappers,
  RGB24/RAW ToUVRow_C/ToUVJRow_C, MirrorRow_Any_SSE2, DetileRow_AVX,
  DetileRow_Any_AVX, I444ToARGBRow_AVX512BW, and
  I444ToARGBRow_Any_AVX512BW) and 7 unused HAS_ macros
  (HAS_ABGRTOYJROW_SSSE3, HAS_RGBATOYJROW_SSSE3,
  HAS_ABGRTOYJROW_NEON_DOTPROD, HAS_ABGRTOYROW_NEON_DOTPROD,
  HAS_BGRATOYROW_NEON_DOTPROD, HAS_RGBATOYJROW_NEON_DOTPROD, and
  HAS_RGBATOYROW_NEON_DOTPROD).
- include/libyuv/row.h: Fix typo HAS_I422TORGBBAROW_SSSE3 to
  HAS_I422TORGBAROW_SSSE3 to re-enable I422ToRGBARow_SSSE3.

Bug: None
Change-Id: I969a3c5060173aa46b4d1f085837e284fbed1a85
2026-10-27 03:42:16 -07:00
build_overrides [vpython] Migrate .vpython3 to vpython.toml 2026-09-18 00:28:26 -07:00
docs [libyuv] Add Qualcomm Hexagon HVX SIMD support 2026-10-19 14:16:18 -07:00
include [libyuv] Remove prototypes and HAS_ macros for nonexistent functions 2026-10-27 03:42:16 -07:00
infra/config Use default xcode version in libyuv 2025-11-24 07:54:14 -08:00
riscv_script [libyuv] Fix RISC-V CMake/GN/Bazel builds and C compiler driver linking 2026-09-28 10:59:30 -07:00
source [libyuv] Add AVX-512 VNNI row functions for ARGB to YUV and Gray 2026-10-26 14:07:50 -07:00
tools_libyuv Remove libyuv dependency on base/ 2025-01-08 09:04:21 -08:00
unit_test [libyuv] Add ARGBOr and ARGBAlphaBlend with multi-platform SIMD 2026-10-26 11:24:16 -07:00
util [libyuv] Optimize SsimWindowRow with SIMD and use compare_win on x86 2026-10-20 15:00:52 -07:00
.clang-format clang-format libyuv 2016-11-07 17:37:23 -08:00
.gitignore DetilePlane and unittest for NEON 2022-01-31 20:05:55 +00:00
.gn [build] Use hermetic python3 for script_executable in .gn 2026-09-28 06:02:39 -07:00
Android.bp [libyuv] Add Qualcomm Hexagon HVX SIMD support 2026-10-19 14:16:18 -07:00
Android.mk [libyuv] Add Qualcomm Hexagon HVX SIMD support 2026-10-19 14:16:18 -07:00
AUTHORS Fix same-width vertical point upsampling 2026-08-24 19:28:50 -07:00
BUILD.bazel [libyuv] Add WASM SIMD128 and Relaxed SIMD for RAWToRGB24Row 2026-10-05 17:45:41 -07:00
BUILD.gn [libyuv] Add Qualcomm Hexagon HVX SIMD support 2026-10-19 14:16:18 -07:00
CM_linux_packages.cmake Use grep extended regex for version 2024-11-13 02:11:17 +00:00
CMakeLists.txt [libyuv] Add Qualcomm Hexagon HVX SIMD support 2026-10-19 14:16:18 -07:00
codereview.settings [infra] remove no longer supported git cl upload setting. 2021-04-28 12:47:52 +00:00
DEPS [build] Use hermetic python3 for script_executable in .gn 2026-09-28 06:02:39 -07:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-09 19:34:43 +00:00
download_vs_toolchain.py Update pylintrc to a pep-8 like style 2024-12-18 05:38:56 -08:00
GEMINI.md [libyuv] Add Qualcomm Hexagon HVX SIMD support 2026-10-19 14:16:18 -07:00
libyuv.bzl [libyuv] Simplify RVV configuration in BUILD.bazel and libyuv.bzl 2026-09-08 17:50:17 -07:00
libyuv.gni [libyuv] Fix RISC-V CMake/GN/Bazel builds and C compiler driver linking 2026-09-28 10:59:30 -07:00
libyuv.gyp Stop setting --dynamic-linker for target_os="android" 2026-05-27 04:34:07 -07:00
libyuv.gypi [libyuv] Add Qualcomm Hexagon HVX SIMD support 2026-10-19 14:16:18 -07:00
LICENSE Update Copyright notice to follow new chromium conventions. 2012-08-08 19:04:24 +00:00
linux.mk [libyuv] Optimize SsimWindowRow with SIMD and use compare_win on x86 2026-10-20 15:00:52 -07:00
OWNERS Remove magjed from OWNERS 2026-08-24 10:43:21 -07:00
PATENTS LibYuv: Adding PATENT and LICENSE files 2011-10-25 16:15:49 +00:00
PRESUBMIT.py Update pylintrc to a pep-8 like style 2024-12-18 05:38:56 -08:00
public.mk use unix line endings 2018-06-20 23:19:59 +00:00
pylintrc Update pylintrc to a pep-8 like style 2024-12-18 05:38:56 -08:00
README.chromium [libyuv] Add AVX-512 VNNI row functions for ARGB to YUV and Gray 2026-10-26 14:07:50 -07:00
README.md Update README.md and environment_variables.md for Arm 2024-09-20 00:29:33 +00:00
vpython.toml [vpython] Migrate .vpython3 to vpython.toml 2026-09-18 00:28:26 -07:00
vpython.toml.uv.lock [vpython] Migrate .vpython3 to vpython.toml 2026-09-18 00:28:26 -07:00
winarm.mk NV12 Copy, include scale_uv.h 2020-12-08 18:54:16 +00:00
WORKSPACE.bazel Add Bazel build support 2026-04-15 18:20:26 -07:00

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.