tenfourfox/gfx/ycbcr
Ken 3f33f8a6e5
Intel fixes (#608)
* ycbcr: intel assembly fixes for old gcc-as in Tiger

minor changes in assembly that are friendly to the
older gcc-as in Tiger

* libvpx/moz.build: only use force_cpusubtype_all on PPC

this flag is not accepted by the intel assembler

* libvpx: compiler/assembler fixes for intel

use clang-3.4 as the primary compiler
use yasm for the assembly

* nss: use clang-3.4 as compiler on Intel

nss contains assembly that the old gas assembler can't manage
using clang-3.4 is the easiest fix for this, as it is
already needed elsewhere for libvpx

* Intel mozconfig: update

we need to force the old gas assembler to be used
for the majority of the build as the newer clang
one will fail

* client.mk: use original which

MacPorts has a newer version of the which command
that is supposed to be more like current 'which' versions,
but there is an error in it at present and the construct
used in TFF doesn't work correctly.

Until this is fixed, use the original /usr/bin/which (and that
one can in fact be used forever, of course).
2020-06-11 15:31:09 -07:00
..
LICENSE hello FPR 2017-04-19 00:56:45 -07:00
QuellGccWarnings.patch hello FPR 2017-04-19 00:56:45 -07:00
README hello FPR 2017-04-19 00:56:45 -07:00
TypeFromSize.patch hello FPR 2017-04-19 00:56:45 -07:00
YCbCrUtils.cpp hello FPR 2017-04-19 00:56:45 -07:00
YCbCrUtils.h hello FPR 2017-04-19 00:56:45 -07:00
chromium_types.h hello FPR 2017-04-19 00:56:45 -07:00
convert.patch hello FPR 2017-04-19 00:56:45 -07:00
moz.build #470: convert YUV table to AltiVec alignment 2018-01-26 23:56:47 -08:00
update.sh hello FPR 2017-04-19 00:56:45 -07:00
win64.patch hello FPR 2017-04-19 00:56:45 -07:00
ycbcr_to_rgb565.cpp hello FPR 2017-04-19 00:56:45 -07:00
ycbcr_to_rgb565.h hello FPR 2017-04-19 00:56:45 -07:00
yuv_convert.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_convert.h hello FPR 2017-04-19 00:56:45 -07:00
yuv_convert_arm.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_convert_mmx.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_convert_ppc.cpp #470: clean up row filters, collapse into permute 2018-01-27 13:04:49 -08:00
yuv_convert_sse2.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_row.h #470: convert YUV table to AltiVec alignment 2018-01-26 23:56:47 -08:00
yuv_row_arm.s hello FPR 2017-04-19 00:56:45 -07:00
yuv_row_c.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_row_other.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_row_posix.cpp Intel fixes (#608) 2020-06-11 15:31:09 -07:00
yuv_row_table.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_row_table16.cpp #470: convert YUV table to AltiVec alignment 2018-01-26 23:56:47 -08:00
yuv_row_win.cpp hello FPR 2017-04-19 00:56:45 -07:00
yuv_row_win64.cpp hello FPR 2017-04-19 00:56:45 -07:00

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.