Jeremy Maitin-Shepard c365da9c6c Use find_package(JPEG) in place of include(FindJPEG)
The former allows the package to be overridden with a local build by
`FetchContent`.

Also includes the fix to _MSC_VER conditions from:
https://aomedia.googlesource.com/aom/+/refs/heads/main/third_party/libyuv/README.libaom

Change-Id: I666e591becb3efaa7b5b68d27476319a2909b88e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3933570
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2022-10-03 22:19:28 +00:00
build_overrides Roll chromium_revision 829c6df33d..7d683aeda8 (945687:1050091) 2022-09-22 14:56:57 +00:00
docs RAWToJNV21 function with 2 step conversion 2022-03-01 19:33:49 +00:00
include YUY2ToNV12 using YUY2ToY and YUY2ToNVUV 2022-09-30 22:41:21 +00:00
infra/config [code-health] Migrate presubmit to python3 2022-09-26 21:57:55 +00:00
source Use find_package(JPEG) in place of include(FindJPEG) 2022-10-03 22:19:28 +00:00
tools_libyuv Update PRESUBMIT, cleanup_links and autoroller to py3 2022-02-24 13:34:14 +00:00
unit_test YUY2ToNV12 using YUY2ToY and YUY2ToNVUV 2022-09-30 22:41:21 +00:00
util I420ToRGB24MatrixFilter function added 2022-09-16 19:46:47 +00: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 Roll chromium_revision 829c6df33d..7d683aeda8 (945687:1050091) 2022-09-22 14:56:57 +00:00
.vpython remove swarming_client 2021-09-09 07:11:45 +00:00
.vpython3 Add .vpython3 to libyuv. 2022-07-15 18:43:49 +00:00
Android.bp Android.bp: Remove reference to LICENSE_THIRD_PARTY 2022-08-02 22:13:44 +00:00
Android.mk RGBScale function using 3 steps: RGB24ToARGB, ARGBScale, ARGBToRGB24 2022-03-19 01:44:06 +00:00
AUTHORS Fix compile errors for ARM targets when libyuv_use_neon = false 2022-05-13 10:12:38 +00:00
BUILD.gn Add I210ToI420 2022-06-09 08:07:50 +00:00
cleanup_links.py Update PRESUBMIT, cleanup_links and autoroller to py3 2022-02-24 13:34:14 +00:00
CM_linux_packages.cmake Reduce cmake verbosity and update min version 2022-08-03 06:59:54 +00:00
CMakeLists.txt Use find_package(JPEG) in place of include(FindJPEG) 2022-10-03 22:19:28 +00:00
codereview.settings [infra] remove no longer supported git cl upload setting. 2021-04-28 12:47:52 +00:00
DEPS Install CIPD ninja using DEPS 2022-10-03 13:40:07 +00: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 gclient instructions + environment 2022-02-24 15:19:23 +00:00
libyuv.gni [code-health] Migrate presubmit to python3 2022-09-26 21:57:55 +00:00
libyuv.gyp Add libyuv.gyp build files 2022-03-21 23:48:16 +00:00
libyuv.gypi Add libyuv.gyp build files 2022-03-21 23:48:16 +00:00
LICENSE Update Copyright notice to follow new chromium conventions. 2012-08-08 19:04:24 +00:00
linux.mk RGBScale function using 3 steps: RGB24ToARGB, ARGBScale, ARGBToRGB24 2022-03-19 01:44:06 +00:00
OWNERS Add wtc as owner 2022-05-25 12:46:00 +00:00
PATENTS LibYuv: Adding PATENT and LICENSE files 2011-10-25 16:15:49 +00:00
PRESUBMIT.py Update PRESUBMIT, cleanup_links and autoroller to py3 2022-02-24 13:34:14 +00:00
public.mk use unix line endings 2018-06-20 23:19:59 +00:00
pylintrc Use DEPS for all dependencies + add PRESUBMIT.py 2017-02-03 11:36:53 +00:00
README.chromium Enable unlimited data for YUV to RGB 2022-09-23 12:51:37 +00:00
README.md README: fix doc links 2018-08-13 18:28:55 +00:00
winarm.mk NV12 Copy, include scale_uv.h 2020-12-08 18:54:16 +00: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 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.