Frank Barchard 431cb3667a YUV to RGB for x64 use registers instead of memory.
On Arm the YVU to RGB conversions move constants into registers.
This change does the same for 64 bit intel builds where additional
registers are available.
The AVX2 saves 3 instructions by because the 2nd argument needs to be a register, so a vmovdqu was avoided.

x64 builds using memory:
AVX2  I420ToARGB_Opt (3059 ms)
SSSE3 I420ToARGB_Opt (3959 ms)

Now using registers
AVX2  I420ToARGB_Opt (2906 ms)
SSSE3 I420ToARGB_Opt (3928 ms)

TBR=harryjin@google.com
BUG=libyuv:520

Review URL: https://codereview.chromium.org/1407353010 .
2015-11-04 16:16:18 -08:00
..
basic_types.h Declare parameters that are unused, since C does not let you give a type without name. 2014-01-07 05:42:27 +00:00
compare_row.h xmmword cast for clang 2015-08-18 11:13:12 -07:00
compare.h Detect Endian of ARGB image. 2014-11-05 18:46:06 +00:00
convert_argb.h Add J444ToARGB conversion function. 2015-10-06 18:46:53 -07:00
convert_from_argb.h Change Sobel to use JPeg Luma calculation instead of extracting G channel. Using luma produces a better sobel that respects all 3 channels of RGB. Historically the G channel was used to improve performance, and because the luma of I420 is a constrained range, hurting quality. Using the JPeg variation of YUV, the luma is more accurate, including cross platform, better optimized for AVX2 and odd widths, and full range. 2015-05-27 22:32:26 +00:00
convert_from.h Dither from I420 to RGB565 in 2 steps - I420ToARGB then ARGBToRGB565. 2015-03-10 01:45:04 +00:00
convert.h rename I400 to J400 and I400 reference to I400. J400 is a simple replication of values to convert to RGB, which is what the old I400 was. I400 reference is the Y part of the YUV formula, so renaming that to I400. 2015-03-17 00:01:18 +00:00
cpu_id.h remove mips dsp detect 2015-11-03 16:57:40 -08:00
mjpeg_decoder.h fixes for blank line lint warnings 2014-08-14 19:42:48 +00:00
planar_functions.h Raw 24 bit RGB to RGB24 (bgr) 2015-11-03 10:30:30 -08:00
rotate_argb.h C header compatible 2013-03-22 08:40:40 +00:00
rotate_row.h clang use scalewin 2015-08-18 14:50:27 -07:00
rotate.h use LIBYUV_BOOL instead of bool 2014-01-07 03:59:31 +00:00
row.h Neon versions of I420AlphaToARGB 2015-11-03 19:21:36 -08:00
scale_argb.h YUV to ARGB scaler low level function. Not hooked up to high level. 2013-06-13 21:05:47 +00:00
scale_row.h Reimplement NV21ToARGB to allow different color matrix. 2015-10-06 20:34:44 -07:00
scale.h scale16 api use LIBYUV_API 2014-09-15 22:01:43 +00:00
version.h YUV to RGB for x64 use registers instead of memory. 2015-11-04 16:16:18 -08:00
video_common.h H420 functionality 2015-09-06 11:01:40 -07:00