Index: source/libvpx/third_party/libyuv/include/libyuv/row.h |
=================================================================== |
--- source/libvpx/third_party/libyuv/include/libyuv/row.h (revision 291857) |
+++ source/libvpx/third_party/libyuv/include/libyuv/row.h (working copy) |
@@ -252,6 +252,94 @@ |
// The following are available on arm64 platforms: |
#if !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) |
+// #define HAS_I444TOARGBROW_NEON |
+// #define HAS_I422TOARGBROW_NEON |
+// #define HAS_I411TOARGBROW_NEON |
+// #define HAS_I422TOBGRAROW_NEON |
+// #define HAS_I422TOABGRROW_NEON |
+// #define HAS_I422TORGBAROW_NEON |
+// #define HAS_I422TORGB24ROW_NEON |
+// #define HAS_I422TORAWROW_NEON |
+// #define HAS_I422TORGB565ROW_NEON |
+// #define HAS_I422TOARGB1555ROW_NEON |
+// #define HAS_I422TOARGB4444ROW_NEON |
+// #define HAS_YTOARGBROW_NEON |
+// #define HAS_I400TOARGBROW_NEON |
+// #define HAS_NV12TOARGBROW_NEON |
+// #define HAS_NV21TOARGBROW_NEON |
+// #define HAS_NV12TORGB565ROW_NEON |
+// #define HAS_NV21TORGB565ROW_NEON |
+// #define HAS_YUY2TOARGBROW_NEON |
+// #define HAS_UYVYTOARGBROW_NEON |
+#define HAS_SPLITUVROW_NEON |
+#define HAS_MERGEUVROW_NEON |
+#define HAS_COPYROW_NEON |
+#define HAS_SETROW_NEON |
+#define HAS_ARGBSETROWS_NEON |
+#define HAS_MIRRORROW_NEON |
+#define HAS_MIRRORUVROW_NEON |
+#define HAS_ARGBMIRRORROW_NEON |
+#define HAS_RGB24TOARGBROW_NEON |
+#define HAS_RAWTOARGBROW_NEON |
+// #define HAS_RGB565TOARGBROW_NEON |
+// #define HAS_ARGB1555TOARGBROW_NEON |
+// #define HAS_ARGB4444TOARGBROW_NEON |
+#define HAS_ARGBTORGB24ROW_NEON |
+#define HAS_ARGBTORAWROW_NEON |
+#define HAS_YUY2TOYROW_NEON |
+#define HAS_UYVYTOYROW_NEON |
+#define HAS_YUY2TOUV422ROW_NEON |
+#define HAS_UYVYTOUV422ROW_NEON |
+#define HAS_YUY2TOUVROW_NEON |
+#define HAS_UYVYTOUVROW_NEON |
+#define HAS_HALFROW_NEON |
+#define HAS_ARGBTOBAYERROW_NEON |
+#define HAS_ARGBTOBAYERGGROW_NEON |
+#define HAS_ARGBSHUFFLEROW_NEON |
+#define HAS_I422TOYUY2ROW_NEON |
+#define HAS_I422TOUYVYROW_NEON |
+// #define HAS_ARGBTORGB565ROW_NEON |
+// #define HAS_ARGBTOARGB1555ROW_NEON |
+// #define HAS_ARGBTOARGB4444ROW_NEON |
+#define HAS_ARGBTOYROW_NEON |
+#define HAS_ARGBTOYJROW_NEON |
+// #define HAS_ARGBTOUV444ROW_NEON |
+// #define HAS_ARGBTOUV422ROW_NEON |
+// #define HAS_ARGBTOUV411ROW_NEON |
+// #define HAS_ARGBTOUVROW_NEON |
+// #define HAS_ARGBTOUVJROW_NEON |
+// #define HAS_BGRATOUVROW_NEON |
+// #define HAS_ABGRTOUVROW_NEON |
+// #define HAS_RGBATOUVROW_NEON |
+// #define HAS_RGB24TOUVROW_NEON |
+// #define HAS_RAWTOUVROW_NEON |
+// #define HAS_RGB565TOUVROW_NEON |
+// #define HAS_ARGB1555TOUVROW_NEON |
+// #define HAS_ARGB4444TOUVROW_NEON |
+// #define HAS_RGB565TOYROW_NEON |
+// #define HAS_ARGB1555TOYROW_NEON |
+// #define HAS_ARGB4444TOYROW_NEON |
+// #define HAS_BGRATOYROW_NEON |
+// #define HAS_ABGRTOYROW_NEON |
+// #define HAS_RGBATOYROW_NEON |
+// #define HAS_RGB24TOYROW_NEON |
+// #define HAS_RAWTOYROW_NEON |
+// #define HAS_INTERPOLATEROW_NEON |
+// #define HAS_ARGBBLENDROW_NEON |
+// #define HAS_ARGBATTENUATEROW_NEON |
+// #define HAS_ARGBQUANTIZEROW_NEON |
+// #define HAS_ARGBSHADEROW_NEON |
+// #define HAS_ARGBGRAYROW_NEON |
+// #define HAS_ARGBSEPIAROW_NEON |
+// #define HAS_ARGBCOLORMATRIXROW_NEON |
+#define HAS_ARGBMULTIPLYROW_NEON |
+#define HAS_ARGBADDROW_NEON |
+#define HAS_ARGBSUBTRACTROW_NEON |
+#define HAS_SOBELROW_NEON |
+#define HAS_SOBELTOPLANEROW_NEON |
+#define HAS_SOBELXYROW_NEON |
+#define HAS_SOBELXROW_NEON |
+#define HAS_SOBELYROW_NEON |
#endif |
// The following are available on Neon platforms: |
@@ -465,7 +553,7 @@ |
#opcode " " #offset "(%" #base ",%" #index "," #scale "),%" #arg "\n" |
#endif // defined(__native_client__) && defined(__x86_64__) |
-#if defined(__arm__) |
+#if defined(__arm__) || defined(__aarch64__) |
#undef MEMACCESS |
#if defined(__native_client__) |
#define MEMACCESS(base) ".p2align 3\nbic %" #base ", #0xc0000000\n" |