| 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);
|
|
|