gecko-dev/gfx/ycbcr
Jean-Yves Avenard 0fc33ae81a Bug 1215089 - P5: Convert 10/12 bits YUV image to 8 bits prior conversion to RGB. r=mattwoodrow
For now, convert 10/12 bits YUV image to 8 bits. Native support will be tracked in bug 1379948

MozReview-Commit-ID: LOr9X5xxKY7

--HG--
extra : rebase_source : 279e00832543501616af0a4a5958917b72533a4c
2017-09-29 13:43:09 +02:00
..
chromium_types.h Bug 1256475 - Use libyuv for non scaling YUV color conversion r=jrmuizel 2016-06-08 18:46:42 -07:00
convert.patch
LICENSE
moz.build Bug 1284800: Fix build fallout from moving libyuv into a subdirectory r=ted 2017-02-24 14:01:56 -05:00
QuellGccWarnings.patch
README
scale_yuv_argb.cpp Bug 1306521 - Handle VP9 colorspace BT.709 on BasicCompositor r=nical,jwwang,jya,jrmuizel 2016-10-11 19:46:28 -07:00
scale_yuv_argb.h Bug 1306521 - Handle VP9 colorspace BT.709 on BasicCompositor r=nical,jwwang,jya,jrmuizel 2016-10-11 19:46:28 -07:00
TypeFromSize.patch
update.sh
win64.patch
ycbcr_to_rgb565.cpp
ycbcr_to_rgb565.h Bug 1360429 - Part 1. inline arm assember for YCBCR should be on arm only. r=sotaro 2017-04-28 13:22:07 +09:00
YCbCrUtils.cpp Bug 1215089 - P5: Convert 10/12 bits YUV image to 8 bits prior conversion to RGB. r=mattwoodrow 2017-09-29 13:43:09 +02:00
YCbCrUtils.h Bug 1321076 - Added util functions to help with YUVA to BGRA conversion. r=jya 2016-12-21 15:00:46 +13:00
yuv_convert_arm.cpp Bug 1278940 - avoid using __attribute__((optimize)) with clang in yuv; r=jrmuizel 2016-06-24 23:26:40 -04:00
yuv_convert_mmx.cpp
yuv_convert_sse2.cpp
yuv_convert.cpp Bug 1341543: don't use internal-only I4xxToARGBMatrix() functions from libyuv r=sotaro 2017-02-24 14:01:56 -05:00
yuv_convert.h Bug 1321076 - Added util functions to help with YUVA to BGRA conversion. r=jya 2016-12-21 15:00:46 +13:00
yuv_row_arm.s
yuv_row_c.cpp
yuv_row_other.cpp
yuv_row_posix.cpp Bug 1254010 - Scaling during RGB -> YUV conversion with BasicCompositor if possible. basic_compositor_video improved on windows. r=jrmuizel 2016-08-15 18:54:17 -07:00
yuv_row_table.cpp
yuv_row_win64.cpp
yuv_row_win.cpp
yuv_row.h Bug 1341543: Update SIMD_ALIGNED in gfx to match libyuv's definition r=sotaro 2017-02-24 14:01:56 -05:00

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.