Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(241)

Unified Diff: include/libyuv/row.h

Issue 1367093002: I420Alpha row function in 1 pass (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: bump version Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/libyuv/convert_argb.h ('k') | include/libyuv/version.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « include/libyuv/convert_argb.h ('k') | include/libyuv/version.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698