gecko-dev/gfx/ycbcr
Makoto Kato 5a2c91137e Bug 1360429 - Part 1. inline arm assember for YCBCR should be on arm only. r=sotaro
ycvcr_to_rgb565 uses inline assember for arm neon.  Since it is different for aarch64's assembler, we should define HAVE_YCBCR_TO_RGB565 on arm32 only.

MozReview-Commit-ID: 4c2n1luvVvC

--HG--
extra : rebase_source : 8ae3f9deb6d0f4e3ab6036b7ce7ec57e0c7e1b57
2017-04-28 13:22:07 +09:00
..
chromium_types.h
convert.patch
LICENSE
moz.build
QuellGccWarnings.patch
README
scale_yuv_argb.cpp
scale_yuv_argb.h
TypeFromSize.patch
update.sh
win64.patch
ycbcr_to_rgb565.cpp
ycbcr_to_rgb565.h
YCbCrUtils.cpp
YCbCrUtils.h
yuv_convert_arm.cpp
yuv_convert_mmx.cpp
yuv_convert_sse2.cpp
yuv_convert.cpp
yuv_convert.h
yuv_row_arm.s
yuv_row_c.cpp
yuv_row_other.cpp
yuv_row_posix.cpp
yuv_row_table.cpp
yuv_row_win64.cpp
yuv_row_win.cpp
yuv_row.h

This color conversion code is from the Chromium open source project available here:

http://code.google.com/chromium/

The code comes from svn revision 63840 on 2010-10-26.

If you just want to check out this individual directory, use:

svn co -r 63840 http://src.chromium.org/svn/trunk/src/media/base

The code was copied from a Chromium svn checkout using the 'update.sh' script which then applies patches for our build and to add dynamic CPU detection.

convert.patch contains the following changes:

  * Change Chromium code to build using Mozilla build system.
  * Add runtime CPU detection for MMX
  * Move default C implementation to work on all platforms.
  * Change Chromium code to allow a picture region.
  * The YUV conversion will convert within this picture region only.
  * Add YCbCr 4:4:4 support
  * Bug 619178 - Update CPU detection in yuv_convert to new SSE.h interface.
  * Bug 616778 - Split yuv_convert FilterRows vectorized code into separate files so it can
    be properly guarded with cpuid() calls.

win64.patch: SSE2 optimization for Microsoft Visual C++ x64 version

TypeFromSize.patch: Bug 656185 - Add a method to detect YUVType from plane sizes.

QuellGccWarnings.patch: Bug 711895 - Avoid some GCC compilation warnings.