| Index: include/libyuv/row.h
|
| diff --git a/include/libyuv/row.h b/include/libyuv/row.h
|
| index 757fa0756a18d23c1f843159ff72679703a5c567..acfe90047bafd2dd3ab6906e473916908d8bc04f 100644
|
| --- a/include/libyuv/row.h
|
| +++ b/include/libyuv/row.h
|
| @@ -187,6 +187,14 @@ extern "C" {
|
| #define HAS_I422TOABGRROW_SSSE3
|
| #endif
|
|
|
| +
|
| +// The following are available on 32 bit x86 Visual C and clangcl.
|
| +// TODO(fbarchard): Port to gcc.
|
| +#if !defined(LIBYUV_DISABLE_X86) && defined (_M_IX86)
|
| +#define HAS_I422ALPHATOARGBROW_SSSE3
|
| +#define HAS_I422ALPHATOABGRROW_SSSE3
|
| +#endif
|
| +
|
| // The following are available for AVX2 Visual C and clangcl 32 bit:
|
| // TODO(fbarchard): Port to gcc.
|
| #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \
|
| @@ -257,6 +265,7 @@ extern "C" {
|
| #endif
|
|
|
| // The following are disabled when SSSE3 is available:
|
| +// TODO(fbarchard): remove sse2. ssse3 is faster and well supported.
|
| #if !defined(LIBYUV_DISABLE_X86) && \
|
| (defined(_M_IX86) || defined(__x86_64__) || defined(__i386__)) && \
|
| !defined(LIBYUV_SSSE3_ONLY)
|
| @@ -1045,6 +1054,20 @@ void I422ToARGBRow_C(const uint8* src_y,
|
| uint8* dst_argb,
|
| struct YuvConstants* yuvconstants,
|
| int width);
|
| +void I422AlphaToARGBRow_C(const uint8* y_buf,
|
| + const uint8* u_buf,
|
| + const uint8* v_buf,
|
| + const uint8* a_buf,
|
| + uint8* dst_argb,
|
| + struct YuvConstants* yuvconstants,
|
| + int width);
|
| +void I422AlphaToABGRRow_C(const uint8* y_buf,
|
| + const uint8* u_buf,
|
| + const uint8* v_buf,
|
| + const uint8* a_buf,
|
| + uint8* dst_argb,
|
| + struct YuvConstants* yuvconstants,
|
| + int width);
|
| void I422ToABGRRow_C(const uint8* src_y,
|
| const uint8* src_u,
|
| const uint8* src_v,
|
| @@ -1213,6 +1236,20 @@ void I422ToARGBRow_SSSE3(const uint8* src_y,
|
| uint8* dst_argb,
|
| struct YuvConstants* yuvconstants,
|
| int width);
|
| +void I422AlphaToARGBRow_SSSE3(const uint8* y_buf,
|
| + const uint8* u_buf,
|
| + const uint8* v_buf,
|
| + const uint8* a_buf,
|
| + uint8* dst_argb,
|
| + struct YuvConstants* yuvconstants,
|
| + int width);
|
| +void I422AlphaToABGRRow_SSSE3(const uint8* y_buf,
|
| + const uint8* u_buf,
|
| + const uint8* v_buf,
|
| + const uint8* a_buf,
|
| + uint8* dst_argb,
|
| + struct YuvConstants* yuvconstants,
|
| + int width);
|
| void I422ToARGBRow_SSSE3(const uint8* src_y,
|
| const uint8* src_u,
|
| const uint8* src_v,
|
| @@ -1405,6 +1442,20 @@ void I422ToARGBRow_Any_SSSE3(const uint8* src_y,
|
| uint8* dst_argb,
|
| struct YuvConstants* yuvconstants,
|
| int width);
|
| +void I422AlphaToARGBRow_Any_SSSE3(const uint8* y_buf,
|
| + const uint8* u_buf,
|
| + const uint8* v_buf,
|
| + const uint8* a_buf,
|
| + uint8* dst_argb,
|
| + struct YuvConstants* yuvconstants,
|
| + int width);
|
| +void I422AlphaToABGRRow_Any_SSSE3(const uint8* y_buf,
|
| + const uint8* u_buf,
|
| + const uint8* v_buf,
|
| + const uint8* a_buf,
|
| + uint8* dst_abgr,
|
| + struct YuvConstants* yuvconstants,
|
| + int width);
|
| void I411ToARGBRow_Any_SSSE3(const uint8* src_y,
|
| const uint8* src_u,
|
| const uint8* src_v,
|
|
|