spiderweb/gfx/ycbcr
..
LICENSE
QuellGccWarnings.patch
README
TypeFromSize.patch
YCbCrUtils.cpp
YCbCrUtils.h
chromium_types.h
convert.patch
moz.build
scale_yuv_argb.cpp
scale_yuv_argb.h
update.sh
win64.patch
ycbcr_to_rgb565.cpp
ycbcr_to_rgb565.h
yuv_convert.cpp
yuv_convert.h
yuv_convert_arm.cpp
yuv_convert_mmx.cpp
yuv_convert_sse2.cpp
yuv_row.h
yuv_row_arm.s
yuv_row_c.cpp
yuv_row_other.cpp
yuv_row_posix.cpp
yuv_row_table.cpp
yuv_row_win.cpp
yuv_row_win64.cpp

README

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.