Frank Barchard 4b3b310e66 Enable optimize max for GN builds + update docs
Optimize max enables O2 for official builds.  Normally release builds
are O2 but the official build is Os, affecting performance.
The GYP file was previously updated to enable optimize max,
which enables ltcg and O2.

Documentation updated to show GN builds in docs/getting_started.md

BUG=libyuv:642
R=kjellander@chromium.org

Review URL: https://codereview.chromium.org/2386093003 .
2016-10-04 11:50:19 -07:00
build_overrides GN: Add GN test targets. 2016-09-13 12:02:40 +02:00
chromium Enable building with Native Client. 2016-04-12 06:40:04 +02:00
docs Enable optimize max for GN builds + update docs 2016-10-04 11:50:19 -07:00
include Add MSA optimized I422ToYUY2Row, I422ToUYVYRow functions 2016-10-03 18:21:31 -07:00
source Add MSA optimized I422ToYUY2Row, I422ToUYVYRow functions 2016-10-03 18:21:31 -07:00
third_party/gflags Roll chromium_revision 1d144ca7f86..2a818f5413 (375480:395512) 2016-05-24 11:41:04 +02:00
tools Add new OWNERS and remove drover.properties. 2016-02-16 19:53:11 +01:00
unit_test Add low level support for 12 bit 420, 422 and 444 YUV video frame conversion. 2016-09-29 15:06:30 -07:00
util remove guard nolints from all headers 2016-09-26 18:02:09 -07:00
.gitignore GN: Add GN test targets. 2016-09-13 12:02:40 +02:00
.gn Roll libyuv chromium deps to same as webrtc jun8 2016-08-02 14:42:33 -07:00
all.gyp Android support 2013-11-21 19:57:10 +00:00
Android.mk Add MIPS SIMD Arch (MSA) optimized MirrorRow function 2016-09-22 16:12:22 -07:00
AUTHORS Adding AUTHORS file to libyuv 2011-11-01 20:44:21 +00:00
BUILD.gn Enable optimize max for GN builds + update docs 2016-10-04 11:50:19 -07:00
CMakeLists.txt Add MIPS SIMD Arch (MSA) optimized MirrorRow function 2016-09-22 16:12:22 -07:00
codereview.settings Remove references to svn version control. 2016-09-14 14:54:47 -07:00
DEPS Remove references to svn version control. 2016-09-14 14:54:47 -07:00
download_vs_toolchain.py Roll chromium_revision 260824:262938 + fix binutils. Since it's not possible to have platform-specific hooks executing, binutils must be downloaded for all platforms in order for the download.py hook to execute properly on non-unix platforms. 2014-04-11 23:40:41 +00:00
gyp_libyuv Skip running GYP if GYP_CHROMIUM_NO_ACTION is set in environment 2016-04-08 14:01:29 +02:00
gyp_libyuv.py Minor fixes to gyp_libyuv.py 2014-03-28 19:38:05 +00:00
libyuv_nacl.gyp NaCl/GYP: remove references to prep_toolchain from libyuv. prep_toolchain is now a no-op. 2015-04-22 17:42:21 +00:00
libyuv_test.gyp fix warning on visual C for mips cpu detect 2016-09-22 18:25:52 -07:00
libyuv.gni Add MIPS SIMD Arch (MSA) optimized MirrorRow function 2016-09-22 16:12:22 -07:00
libyuv.gyp fix warning on visual C for mips cpu detect 2016-09-22 18:25:52 -07:00
libyuv.gypi Add MIPS SIMD Arch (MSA) optimized MirrorRow function 2016-09-22 16:12:22 -07:00
LICENSE Update Copyright notice to follow new chromium conventions. 2012-08-08 19:04:24 +00:00
LICENSE_THIRD_PARTY README.chromium license field for WebView and LICENSE_THIRD_PARTY to show files with special licenses. 2013-04-24 00:12:28 +00:00
linux.mk Remove -lc++ link and document -fno-exceptions 2016-07-06 16:02:17 -07:00
OWNERS Add new OWNERS and remove drover.properties. 2016-02-16 19:53:11 +01:00
PATENTS LibYuv: Adding PATENT and LICENSE files 2011-10-25 16:15:49 +00:00
PRESUBMIT.py Add more trybots to the default set. 2016-06-17 08:53:04 +02:00
public.mk Android.mk moved into libyuv to central support 2012-09-19 07:27:17 +00:00
README.chromium HalfFloat_SSE2 port from C algorithm to SSE2 2016-09-30 09:47:16 -07:00
README.md Docs: Fix broken links from README.md 2016-03-15 17:38:14 -07:00
setup_links.py setup_links.py: Use junctions instead of symlinks on Windows. 2016-09-22 18:26:32 -07:00
sync_chromium.py Enable building with Native Client. 2016-04-12 06:40:04 +02:00
winarm.mk Adds files and functions for rotate any, but does not hook them up to the caller. 2015-07-27 10:32:08 -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.
  • Convert from YUV to formats for rendering/effects.
  • Rotate by 90/180/270 degrees to adjust for mobile devices in portrait mode.
  • Optimized for SSE2/SSSE3/AVX2 on x86/x64.
  • Optimized for Neon on Arm.
  • Optimized for DSP R2 on Mips.

Development

See [Getting started] 1 for instructions on how to get started developing.

You can also browse the [docs directory] 2 for more documentation.