diff --git a/README.chromium b/README.chromium index 92a90ac81..a49352714 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1786 +Version: 1787 License: BSD License File: LICENSE diff --git a/include/libyuv/compare_row.h b/include/libyuv/compare_row.h index e95b9d93e..01e1d233d 100644 --- a/include/libyuv/compare_row.h +++ b/include/libyuv/compare_row.h @@ -18,7 +18,9 @@ namespace libyuv { extern "C" { #endif -#if defined(__pnacl__) || defined(__CLR_VER) || \ +// TODO: Fix Win32 build +// https://bugs.chromium.org/p/libyuv/issues/detail?id=900 +#if defined(__pnacl__) || defined(__CLR_VER) || defined(_M_IX86) || \ (defined(__native_client__) && defined(__x86_64__)) || \ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 diff --git a/include/libyuv/convert_argb.h b/include/libyuv/convert_argb.h index f76c12dd9..eb4ebd54a 100644 --- a/include/libyuv/convert_argb.h +++ b/include/libyuv/convert_argb.h @@ -806,19 +806,6 @@ int I010ToAR30(const uint16_t* src_y, int width, int height); -// Convert I010 to AB30. -LIBYUV_API -int I010ToAB30(const uint16_t* src_y, - int src_stride_y, - const uint16_t* src_u, - int src_stride_u, - const uint16_t* src_v, - int src_stride_v, - uint8_t* dst_ab30, - int dst_stride_ab30, - int width, - int height); - // Convert H010 to AR30. LIBYUV_API int H010ToAR30(const uint16_t* src_y, @@ -832,6 +819,19 @@ int H010ToAR30(const uint16_t* src_y, int width, int height); +// Convert I010 to AB30. +LIBYUV_API +int I010ToAB30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + // Convert H010 to AB30. LIBYUV_API int H010ToAB30(const uint16_t* src_y, @@ -1413,6 +1413,19 @@ int I420ToAR30(const uint8_t* src_y, int width, int height); +// Convert I420 to AB30. +LIBYUV_API +int I420ToAB30(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + // Convert H420 to AR30. LIBYUV_API int H420ToAR30(const uint8_t* src_y, @@ -1426,6 +1439,19 @@ int H420ToAR30(const uint8_t* src_y, int width, int height); +// Convert H420 to AB30. +LIBYUV_API +int H420ToAB30(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + // Convert I420 to ARGB with matrix. LIBYUV_API int I420ToARGBMatrix(const uint8_t* src_y, diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h index def773cb4..134378809 100644 --- a/include/libyuv/planar_functions.h +++ b/include/libyuv/planar_functions.h @@ -23,7 +23,9 @@ extern "C" { #endif // TODO(fbarchard): Move cpu macros to row.h -#if defined(__pnacl__) || defined(__CLR_VER) || \ +// TODO: Fix Win32 build +// https://bugs.chromium.org/p/libyuv/issues/detail?id=900 +#if defined(__pnacl__) || defined(__CLR_VER) || defined(_M_IX86) || \ (defined(__native_client__) && defined(__x86_64__)) || \ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 diff --git a/include/libyuv/rotate_row.h b/include/libyuv/rotate_row.h index 022293eef..1929e25cc 100644 --- a/include/libyuv/rotate_row.h +++ b/include/libyuv/rotate_row.h @@ -18,7 +18,9 @@ namespace libyuv { extern "C" { #endif -#if defined(__pnacl__) || defined(__CLR_VER) || \ +// TODO: Fix Win32 build +// https://bugs.chromium.org/p/libyuv/issues/detail?id=900 +#if defined(__pnacl__) || defined(__CLR_VER) || defined(_M_IX86) || \ (defined(__native_client__) && defined(__x86_64__)) || \ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 diff --git a/include/libyuv/row.h b/include/libyuv/row.h index d137c26b1..dd89a8102 100644 --- a/include/libyuv/row.h +++ b/include/libyuv/row.h @@ -20,7 +20,9 @@ namespace libyuv { extern "C" { #endif -#if defined(__pnacl__) || defined(__CLR_VER) || \ +// TODO: Fix Win32 build +// https://bugs.chromium.org/p/libyuv/issues/detail?id=900 +#if defined(__pnacl__) || defined(__CLR_VER) || defined(_M_IX86) || \ (defined(__native_client__) && defined(__x86_64__)) || \ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h index 86a2cf08a..63af79b3d 100644 --- a/include/libyuv/scale_row.h +++ b/include/libyuv/scale_row.h @@ -19,7 +19,9 @@ namespace libyuv { extern "C" { #endif -#if defined(__pnacl__) || defined(__CLR_VER) || \ +// TODO: Fix Win32 build +// https://bugs.chromium.org/p/libyuv/issues/detail?id=900 +#if defined(__pnacl__) || defined(__CLR_VER) || defined(_M_IX86) || \ (defined(__native_client__) && defined(__x86_64__)) || \ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 diff --git a/include/libyuv/version.h b/include/libyuv/version.h index 7ac39d56e..d720d4833 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 1786 +#define LIBYUV_VERSION 1787 #endif // INCLUDE_LIBYUV_VERSION_H_ diff --git a/source/convert_argb.cc b/source/convert_argb.cc index 16b5ff92e..d8f7b2773 100644 --- a/source/convert_argb.cc +++ b/source/convert_argb.cc @@ -5310,6 +5310,40 @@ int H420ToAR30(const uint8_t* src_y, &kYvuH709Constants, width, height); } +// Convert I420 to AB30. +LIBYUV_API +int I420ToAB30(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height) { + return I420ToAR30Matrix(src_y, src_stride_y, src_v, src_stride_v, src_u, + src_stride_u, dst_ab30, dst_stride_ab30, + &kYvuI601Constants, width, height); +} + +// Convert H420 to AB30. +LIBYUV_API +int H420ToAB30(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height) { + return I420ToAR30Matrix(src_y, src_stride_y, src_v, src_stride_v, src_u, + src_stride_u, dst_ab30, dst_stride_ab30, + &kYvuH709Constants, width, height); +} + #ifdef __cplusplus } // extern "C" } // namespace libyuv diff --git a/unit_test/convert_test.cc b/unit_test/convert_test.cc index 0b4e04abc..8d1425294 100644 --- a/unit_test/convert_test.cc +++ b/unit_test/convert_test.cc @@ -769,6 +769,8 @@ TESTPLANARTOB(J420, 2, 2, J400, 1, 1, 1) #ifdef LITTLE_ENDIAN_ONLY_TEST TESTPLANARTOB(I420, 2, 2, AR30, 4, 4, 1) TESTPLANARTOB(H420, 2, 2, AR30, 4, 4, 1) +TESTPLANARTOB(I420, 2, 2, AB30, 4, 4, 1) +TESTPLANARTOB(H420, 2, 2, AB30, 4, 4, 1) #endif #define TESTQPLANARTOBI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, ALIGN, \