Index: include/libyuv/row.h |
diff --git a/include/libyuv/row.h b/include/libyuv/row.h |
index 66c4a649debc39132ff9cb904839cd626d13f01b..502184e38371ab3beae8d18138a4c08048138d0c 100644 |
--- a/include/libyuv/row.h |
+++ b/include/libyuv/row.h |
@@ -108,8 +108,6 @@ extern "C" { |
#define HAS_I422TOARGB1555ROW_SSSE3 |
#define HAS_I422TOARGB4444ROW_SSSE3 |
#define HAS_I422TOARGBROW_SSSE3 |
-#define HAS_I422TOARGBMATRIXROW_SSSE3 |
-#define HAS_I422TOABGRMATRIXROW_SSSE3 |
#define HAS_I422TOBGRAROW_SSSE3 |
#define HAS_I422TORAWROW_SSSE3 |
#define HAS_I422TORGB24ROW_SSSE3 |
@@ -151,8 +149,6 @@ extern "C" { |
#define HAS_YUY2TOYROW_SSE2 |
#define HAS_I444TOARGBROW_SSSE3 |
#define HAS_I444TOABGRROW_SSSE3 |
-#define HAS_I444TOARGBMATRIXROW_SSSE3 |
-#define HAS_I444TOABGRMATRIXROW_SSSE3 |
// Effects: |
#define HAS_ARGBADDROW_SSE2 |
@@ -191,8 +187,6 @@ extern "C" { |
(!defined(__clang__) || defined(__SSSE3__)) |
#define HAS_I422TOARGBROW_SSSE3 |
#define HAS_I422TOABGRROW_SSSE3 |
-#define HAS_I422TOARGBMATRIXROW_SSSE3 |
-#define HAS_I422TOABGRMATRIXROW_SSSE3 |
#endif |
// The following are available for AVX2 Visual C and clangcl 32 bit: |
@@ -218,8 +212,6 @@ extern "C" { |
#define HAS_NV21TOARGBROW_AVX2 |
#define HAS_NV21TORGB565ROW_AVX2 |
#define HAS_RGB565TOARGBROW_AVX2 |
-#define HAS_I444TOARGBMATRIXROW_AVX2 |
-#define HAS_I444TOABGRMATRIXROW_AVX2 |
#endif |
// The following are available on all x86 platforms, but |
@@ -239,8 +231,6 @@ extern "C" { |
#define HAS_I400TOARGBROW_AVX2 |
#define HAS_I422TOABGRROW_AVX2 |
#define HAS_I422TOARGBROW_AVX2 |
-#define HAS_I422TOARGBMATRIXROW_AVX2 |
-#define HAS_I422TOABGRMATRIXROW_AVX2 |
#define HAS_I422TOBGRAROW_AVX2 |
#define HAS_I422TORAWROW_AVX2 |
#define HAS_I422TORGB24ROW_AVX2 |
@@ -313,8 +303,6 @@ extern "C" { |
#define HAS_I422TOARGB4444ROW_NEON |
// TODO(fbarchard): Implement aarch64 neon version |
#ifndef __aarch64__ |
-#define HAS_I422TOARGBMATRIXROW_NEON |
-#define HAS_I422TOABGRMATRIXROW_NEON |
#define HAS_J422TOARGBROW_NEON |
#define HAS_J422TOABGRROW_NEON |
#define HAS_H422TOARGBROW_NEON |
@@ -444,8 +432,19 @@ typedef uint32 ulvec32[8]; |
typedef uint8 ulvec8[32]; |
#endif |
+#if defined(__arm__) || defined(__aarch64__) |
+ |
+// This struct is for Arm color conversion. |
+struct YuvConstants { |
+ uvec8 kUVToRB; |
+ uvec8 kUVToG; |
+ vec16 kUVBiasBGR; |
+ vec32 kYToRgb; |
+}; |
+ |
+#else |
+ |
// This struct is for Intel color conversion. |
-// TODO(fnbarchard): Consider different struct for other platforms. |
struct YuvConstants { |
lvec8 kUVToB; |
lvec8 kUVToG; |
@@ -464,21 +463,12 @@ struct YuvConstants { |
#define KUVBIASG 128 |
#define KUVBIASR 160 |
#define KYTORGB 192 |
- |
-struct YuvConstantsNEON { |
- uvec8 kUVToRB; |
- uvec8 kUVToG; |
- vec16 kUVBiasBGR; |
- vec32 kYToRgb; |
-}; |
+#endif |
extern struct YuvConstants kYuvConstants; |
extern struct YuvConstants kYvuConstants; |
extern struct YuvConstants kYuvJConstants; |
extern struct YuvConstants kYuvHConstants; |
-extern struct YuvConstantsNEON kYuvConstantsNEON; |
-extern struct YuvConstantsNEON kYuvJConstantsNEON; |
-extern struct YuvConstantsNEON kYuvHConstantsNEON; |
#if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) |
#define OMITFP |
@@ -569,110 +559,97 @@ void I444ToARGBRow_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToARGBRow_NEON(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToABGRRow_NEON(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void I422ToARGBMatrixRow_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstantsNEON* YuvConstants, |
- int width); |
-void I422ToABGRMatrixRow_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstantsNEON* YuvConstants, |
- int width); |
void I411ToARGBRow_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_bgra, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGBARow_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB24Row_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgb24, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRAWRow_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_raw, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB565Row_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgb565, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB1555Row_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb1555, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB4444Row_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb4444, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void J422ToARGBRow_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToARGBRow_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToABGRRow_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_abgr, |
- int width); |
-void H422ToABGRRow_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_abgr, |
- int width); |
void NV12ToARGBRow_NEON(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToARGBRow_NEON(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToRGB565Row_NEON(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_rgb565, |
- int width); |
-void NV21ToRGB565Row_NEON(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_rgb565, |
+ struct YuvConstants* yuvconstants, |
int width); |
void YUY2ToARGBRow_NEON(const uint8* src_yuy2, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void UYVYToARGBRow_NEON(const uint8* src_uyvy, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void ARGBToYRow_AVX2(const uint8* src_argb, uint8* dst_y, int pix); |
@@ -1054,571 +1031,526 @@ void I444ToARGBRow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I444ToABGRRow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToARGBRow_C(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToABGRRow_C(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void I422ToARGBMatrixRow_C(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
-void I422ToABGRMatrixRow_C(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
void I411ToARGBRow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToARGBRow_C(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV21ToRGB565Row_C(const uint8* src_y, |
const uint8* src_vu, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToRGB565Row_C(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void NV21ToARGBRow_C(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
- int width); |
void YUY2ToARGBRow_C(const uint8* src_yuy2, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void UYVYToARGBRow_C(const uint8* src_uyvy, |
uint8* dst_argb, |
- int width); |
-void J422ToARGBRow_C(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToABGRRow_C(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToARGBRow_C(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToABGRRow_C(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_bgra, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGBARow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB24Row_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgb24, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRAWRow_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_raw, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB4444Row_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb4444, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB1555Row_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb4444, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB565Row_C(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgb565, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToARGBRow_AVX2(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToABGRRow_AVX2(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void I422ToARGBMatrixRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
-void I422ToABGRMatrixRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
void I422ToBGRARow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGBARow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void I444ToARGBMatrixRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
-void I444ToARGBMatrixRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
void I444ToARGBRow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I444ToARGBRow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I444ToARGBRow_SSSE3(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I444ToARGBRow_AVX2(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void I444ToABGRMatrixRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_abgr, |
- struct YuvConstants* YuvConstants, |
- int width); |
-void I444ToABGRMatrixRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_abgr, |
- struct YuvConstants* YuvConstants, |
- int width); |
void I444ToABGRRow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I444ToABGRRow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I444ToABGRRow_SSSE3(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I444ToABGRRow_AVX2(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToARGBRow_SSSE3(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
+ int width); |
+void I422ToABGRRow_SSSE3(const uint8* src_y, |
+ const uint8* src_u, |
+ const uint8* src_v, |
+ uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void I422ToARGBMatrixRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
-void I422ToABGRMatrixRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- struct YuvConstants* YuvConstants, |
- int width); |
void I411ToARGBRow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I411ToARGBRow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToARGBRow_SSSE3(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToARGBRow_SSSE3(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToARGBRow_AVX2(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToARGBRow_AVX2(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToRGB565Row_SSSE3(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToRGB565Row_SSSE3(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToRGB565Row_AVX2(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToRGB565Row_AVX2(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void YUY2ToARGBRow_SSSE3(const uint8* src_yuy2, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void UYVYToARGBRow_SSSE3(const uint8* src_uyvy, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void YUY2ToARGBRow_AVX2(const uint8* src_yuy2, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void UYVYToARGBRow_AVX2(const uint8* src_uyvy, |
uint8* dst_argb, |
- int width); |
-void J422ToARGBRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToABGRRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToARGBRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToABGRRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToARGBRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToABGRRow_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToARGBRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToABGRRow_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_bgra, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGBARow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB4444Row_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB4444Row_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB1555Row_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB1555Row_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB565Row_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB565Row_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB24Row_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgb24, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB24Row_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgb24, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRAWRow_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_raw, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRAWRow_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_raw, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGBARow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I444ToARGBRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I444ToARGBRow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I444ToABGRRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I444ToABGRRow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I411ToARGBRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I411ToARGBRow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToARGBRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV21ToARGBRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_vu, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToARGBRow_Any_AVX2(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV21ToARGBRow_Any_AVX2(const uint8* src_y, |
const uint8* src_vu, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToRGB565Row_Any_SSSE3(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToRGB565Row_Any_SSSE3(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToRGB565Row_Any_AVX2(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToRGB565Row_Any_AVX2(const uint8* src_y, |
- const uint8* src_vu, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void YUY2ToARGBRow_Any_SSSE3(const uint8* src_yuy2, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void UYVYToARGBRow_Any_SSSE3(const uint8* src_uyvy, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void YUY2ToARGBRow_Any_AVX2(const uint8* src_yuy2, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void UYVYToARGBRow_Any_AVX2(const uint8* src_uyvy, |
uint8* dst_argb, |
- int width); |
-void J422ToARGBRow_Any_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToABGRRow_Any_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToARGBRow_Any_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToABGRRow_Any_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToARGBRow_Any_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToABGRRow_Any_SSSE3(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToARGBRow_Any_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToABGRRow_Any_AVX2(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_bgra, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_abgr, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGBARow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB4444Row_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB4444Row_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB1555Row_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB1555Row_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB565Row_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB565Row_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_rgba, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB24Row_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB24Row_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRAWRow_Any_SSSE3(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRAWRow_Any_AVX2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I400ToARGBRow_C(const uint8* src_y, uint8* dst_argb, int width); |
@@ -1716,128 +1648,121 @@ void I444ToARGBRow_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I411ToARGBRow_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGBARow_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB24Row_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRAWRow_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB4444Row_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGB1555Row_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToRGB565Row_Any_NEON(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
-void J422ToARGBRow_Any_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void H422ToARGBRow_Any_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_argb, |
- int width); |
-void J422ToABGRRow_Any_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_abgr, |
- int width); |
-void H422ToABGRRow_Any_NEON(const uint8* src_y, |
- const uint8* src_u, |
- const uint8* src_v, |
- uint8* dst_abgr, |
- int width); |
void NV12ToARGBRow_Any_NEON(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToARGBRow_Any_NEON(const uint8* src_y, |
- const uint8* src_uv, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void NV12ToRGB565Row_Any_NEON(const uint8* src_y, |
const uint8* src_uv, |
uint8* dst_argb, |
- int width); |
-void NV21ToRGB565Row_Any_NEON(const uint8* src_y, |
- const uint8* src_uv, |
- uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void YUY2ToARGBRow_Any_NEON(const uint8* src_yuy2, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void UYVYToARGBRow_Any_NEON(const uint8* src_uyvy, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_MIPS_DSPR2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void I422ToABGRRow_MIPS_DSPR2(const uint8* src_y, |
const uint8* src_u, |
const uint8* src_v, |
uint8* dst_argb, |
+ struct YuvConstants* yuvconstants, |
int width); |
void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int pix); |