| Index: include/libyuv/row.h
|
| diff --git a/include/libyuv/row.h b/include/libyuv/row.h
|
| index 8695d894dcc48615138909fe3c2062a441798963..5352209b340c29f15e96f70c00674c0a53399483 100644
|
| --- a/include/libyuv/row.h
|
| +++ b/include/libyuv/row.h
|
| @@ -91,6 +91,7 @@ extern "C" {
|
| #define HAS_ARGBTOARGB4444ROW_SSE2
|
| #define HAS_ARGBTORAWROW_SSSE3
|
| #define HAS_ARGBTORGB24ROW_SSSE3
|
| +#define HAS_ARGBTORGB565DITHERROW_SSE2
|
| #define HAS_ARGBTORGB565ROW_SSE2
|
| #define HAS_ARGBTOUV422ROW_SSSE3
|
| #define HAS_ARGBTOUV444ROW_SSSE3
|
| @@ -102,8 +103,12 @@ extern "C" {
|
| #define HAS_BGRATOYROW_SSSE3
|
| #define HAS_COPYROW_ERMS
|
| #define HAS_COPYROW_SSE2
|
| +#define HAS_H422TOABGRROW_SSSE3
|
| +#define HAS_H422TOARGBROW_SSSE3
|
| #define HAS_I400TOARGBROW_SSE2
|
| #define HAS_I411TOARGBROW_SSSE3
|
| +#define HAS_I422ALPHATOABGRROW_SSSE3
|
| +#define HAS_I422ALPHATOARGBROW_SSSE3
|
| #define HAS_I422TOABGRROW_SSSE3
|
| #define HAS_I422TOARGB1555ROW_SSSE3
|
| #define HAS_I422TOARGB4444ROW_SSSE3
|
| @@ -115,11 +120,11 @@ extern "C" {
|
| #define HAS_I422TORGBAROW_SSSE3
|
| #define HAS_I422TOUYVYROW_SSE2
|
| #define HAS_I422TOYUY2ROW_SSE2
|
| +#define HAS_I444TOABGRROW_SSSE3
|
| +#define HAS_I444TOARGBROW_SSSE3
|
| #define HAS_J400TOARGBROW_SSE2
|
| -#define HAS_J422TOARGBROW_SSSE3
|
| #define HAS_J422TOABGRROW_SSSE3
|
| -#define HAS_H422TOARGBROW_SSSE3
|
| -#define HAS_H422TOABGRROW_SSSE3
|
| +#define HAS_J422TOARGBROW_SSSE3
|
| #define HAS_MERGEUVROW_SSE2
|
| #define HAS_MIRRORROW_SSSE3
|
| #define HAS_MIRRORROW_UV_SSSE3
|
| @@ -145,10 +150,6 @@ extern "C" {
|
| #define HAS_YUY2TOUV422ROW_SSE2
|
| #define HAS_YUY2TOUVROW_SSE2
|
| #define HAS_YUY2TOYROW_SSE2
|
| -#define HAS_I444TOARGBROW_SSSE3
|
| -#define HAS_I444TOABGRROW_SSSE3
|
| -#define HAS_I422ALPHATOARGBROW_SSSE3
|
| -#define HAS_I422ALPHATOABGRROW_SSSE3
|
|
|
| // Effects:
|
| #define HAS_ARGBADDROW_SSE2
|
| @@ -184,10 +185,10 @@ extern "C" {
|
| // The following are also available on x64 Visual C.
|
| #if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && \
|
| (!defined(__clang__) || defined(__SSSE3__))
|
| -#define HAS_I422TOARGBROW_SSSE3
|
| -#define HAS_I422TOABGRROW_SSSE3
|
| -#define HAS_I422ALPHATOARGBROW_SSSE3
|
| #define HAS_I422ALPHATOABGRROW_SSSE3
|
| +#define HAS_I422ALPHATOARGBROW_SSSE3
|
| +#define HAS_I422TOABGRROW_SSSE3
|
| +#define HAS_I422TOARGBROW_SSSE3
|
| #endif
|
|
|
| // The following are available for AVX2 Visual C and clangcl 32 bit:
|
| @@ -199,17 +200,16 @@ extern "C" {
|
| #define HAS_ARGBTOARGB1555ROW_AVX2
|
| #define HAS_ARGBTOARGB4444ROW_AVX2
|
| #define HAS_ARGBTORGB565DITHERROW_AVX2
|
| -#define HAS_ARGBTORGB565DITHERROW_SSE2
|
| #define HAS_ARGBTORGB565ROW_AVX2
|
| #define HAS_I411TOARGBROW_AVX2
|
| #define HAS_I422TOARGB1555ROW_AVX2
|
| #define HAS_I422TOARGB4444ROW_AVX2
|
| #define HAS_I422TORGB565ROW_AVX2
|
| -#define HAS_I444TOARGBROW_AVX2
|
| #define HAS_I444TOABGRROW_AVX2
|
| +#define HAS_I444TOARGBROW_AVX2
|
| #define HAS_J400TOARGBROW_AVX2
|
| -#define HAS_RGB565TOARGBROW_AVX2
|
| #define HAS_NV12TORGB565ROW_AVX2
|
| +#define HAS_RGB565TOARGBROW_AVX2
|
| #endif
|
|
|
| // The following are available on all x86 platforms, but
|
| @@ -226,7 +226,11 @@ extern "C" {
|
| #define HAS_ARGBTOYJROW_AVX2
|
| #define HAS_ARGBTOYROW_AVX2
|
| #define HAS_COPYROW_AVX
|
| +#define HAS_H422TOABGRROW_AVX2
|
| +#define HAS_H422TOARGBROW_AVX2
|
| #define HAS_I400TOARGBROW_AVX2
|
| +#define HAS_I422ALPHATOABGRROW_AVX2
|
| +#define HAS_I422ALPHATOARGBROW_AVX2
|
| #define HAS_I422TOABGRROW_AVX2
|
| #define HAS_I422TOARGBROW_AVX2
|
| #define HAS_I422TOBGRAROW_AVX2
|
| @@ -234,12 +238,12 @@ extern "C" {
|
| #define HAS_I422TORGB24ROW_AVX2
|
| #define HAS_I422TORGBAROW_AVX2
|
| #define HAS_INTERPOLATEROW_AVX2
|
| -#define HAS_J422TOARGBROW_AVX2
|
| #define HAS_J422TOABGRROW_AVX2
|
| -#define HAS_H422TOARGBROW_AVX2
|
| -#define HAS_H422TOABGRROW_AVX2
|
| +#define HAS_J422TOARGBROW_AVX2
|
| #define HAS_MERGEUVROW_AVX2
|
| #define HAS_MIRRORROW_AVX2
|
| +#define HAS_NV12TOARGBROW_AVX2
|
| +#define HAS_NV21TOARGBROW_AVX2
|
| #define HAS_SPLITUVROW_AVX2
|
| #define HAS_UYVYTOARGBROW_AVX2
|
| #define HAS_UYVYTOUV422ROW_AVX2
|
| @@ -249,10 +253,6 @@ extern "C" {
|
| #define HAS_YUY2TOUV422ROW_AVX2
|
| #define HAS_YUY2TOUVROW_AVX2
|
| #define HAS_YUY2TOYROW_AVX2
|
| -#define HAS_NV12TOARGBROW_AVX2
|
| -#define HAS_NV21TOARGBROW_AVX2
|
| -#define HAS_I422ALPHATOARGBROW_AVX2
|
| -#define HAS_I422ALPHATOABGRROW_AVX2
|
|
|
| // Effects:
|
| #define HAS_ARGBADDROW_AVX2
|
| @@ -273,10 +273,12 @@ extern "C" {
|
| #define HAS_ARGB4444TOARGBROW_NEON
|
| #define HAS_ARGB4444TOUVROW_NEON
|
| #define HAS_ARGB4444TOYROW_NEON
|
| +#define HAS_ARGBSETROW_NEON
|
| #define HAS_ARGBTOARGB1555ROW_NEON
|
| #define HAS_ARGBTOARGB4444ROW_NEON
|
| #define HAS_ARGBTORAWROW_NEON
|
| #define HAS_ARGBTORGB24ROW_NEON
|
| +#define HAS_ARGBTORGB565DITHERROW_NEON
|
| #define HAS_ARGBTORGB565ROW_NEON
|
| #define HAS_ARGBTOUV411ROW_NEON
|
| #define HAS_ARGBTOUV422ROW_NEON
|
| @@ -288,19 +290,12 @@ extern "C" {
|
| #define HAS_BGRATOUVROW_NEON
|
| #define HAS_BGRATOYROW_NEON
|
| #define HAS_COPYROW_NEON
|
| -#define HAS_J400TOARGBROW_NEON
|
| +#define HAS_I400TOARGBROW_NEON
|
| #define HAS_I411TOARGBROW_NEON
|
| -#define HAS_I422TOARGBROW_NEON
|
| #define HAS_I422TOABGRROW_NEON
|
| #define HAS_I422TOARGB1555ROW_NEON
|
| #define HAS_I422TOARGB4444ROW_NEON
|
| -// TODO(fbarchard): Implement aarch64 neon version
|
| -#ifndef __aarch64__
|
| -#define HAS_J422TOARGBROW_NEON
|
| -#define HAS_J422TOABGRROW_NEON
|
| -#define HAS_H422TOARGBROW_NEON
|
| -#define HAS_H422TOABGRROW_NEON
|
| -#endif
|
| +#define HAS_I422TOARGBROW_NEON
|
| #define HAS_I422TOBGRAROW_NEON
|
| #define HAS_I422TORAWROW_NEON
|
| #define HAS_I422TORGB24ROW_NEON
|
| @@ -309,6 +304,7 @@ extern "C" {
|
| #define HAS_I422TOUYVYROW_NEON
|
| #define HAS_I422TOYUY2ROW_NEON
|
| #define HAS_I444TOARGBROW_NEON
|
| +#define HAS_J400TOARGBROW_NEON
|
| #define HAS_MERGEUVROW_NEON
|
| #define HAS_MIRRORROW_NEON
|
| #define HAS_MIRRORUVROW_NEON
|
| @@ -327,29 +323,28 @@ extern "C" {
|
| #define HAS_RGBATOUVROW_NEON
|
| #define HAS_RGBATOYROW_NEON
|
| #define HAS_SETROW_NEON
|
| -#define HAS_ARGBSETROW_NEON
|
| #define HAS_SPLITUVROW_NEON
|
| #define HAS_UYVYTOARGBROW_NEON
|
| #define HAS_UYVYTOUV422ROW_NEON
|
| #define HAS_UYVYTOUVROW_NEON
|
| #define HAS_UYVYTOYROW_NEON
|
| -#define HAS_I400TOARGBROW_NEON
|
| #define HAS_YUY2TOARGBROW_NEON
|
| #define HAS_YUY2TOUV422ROW_NEON
|
| #define HAS_YUY2TOUVROW_NEON
|
| #define HAS_YUY2TOYROW_NEON
|
| -#define HAS_ARGBTORGB565DITHERROW_NEON
|
|
|
| // Effects:
|
| #define HAS_ARGBADDROW_NEON
|
| #define HAS_ARGBATTENUATEROW_NEON
|
| #define HAS_ARGBBLENDROW_NEON
|
| +#define HAS_ARGBCOLORMATRIXROW_NEON
|
| #define HAS_ARGBGRAYROW_NEON
|
| #define HAS_ARGBMIRRORROW_NEON
|
| #define HAS_ARGBMULTIPLYROW_NEON
|
| #define HAS_ARGBQUANTIZEROW_NEON
|
| #define HAS_ARGBSEPIAROW_NEON
|
| #define HAS_ARGBSHADEROW_NEON
|
| +#define HAS_ARGBSHUFFLEROW_NEON
|
| #define HAS_ARGBSUBTRACTROW_NEON
|
| #define HAS_INTERPOLATEROW_NEON
|
| #define HAS_SOBELROW_NEON
|
| @@ -357,8 +352,6 @@ extern "C" {
|
| #define HAS_SOBELXROW_NEON
|
| #define HAS_SOBELXYROW_NEON
|
| #define HAS_SOBELYROW_NEON
|
| -#define HAS_ARGBCOLORMATRIXROW_NEON
|
| -#define HAS_ARGBSHUFFLEROW_NEON
|
| #endif
|
|
|
| // The following are available on Mips platforms:
|
| @@ -457,9 +450,9 @@ struct YuvConstants {
|
| #define KYTORGB 192
|
| #endif
|
|
|
| -extern struct YuvConstants kYuvConstants;
|
| -extern struct YuvConstants kYuvJConstants;
|
| -extern struct YuvConstants kYuvHConstants;
|
| +extern struct YuvConstants kYuvConstants; // BT.601
|
| +extern struct YuvConstants kYuvJConstants; // JPeg color space
|
| +extern struct YuvConstants kYuvHConstants; // BT.709
|
|
|
| #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__)
|
| #define OMITFP
|
|
|