From 8cab2e31d76246263206318f3568d452e7f3ff3e Mon Sep 17 00:00:00 2001 From: Frank Barchard Date: Tue, 11 Apr 2017 10:19:30 -0700 Subject: [PATCH] I422ToRGB565 fix for odd widths I422ToRGB565Row_Any_AVX2 uses 2 step row conversion that calls I422ToARGBRow_AVX2 and then ARGBToRGB565. I422ToARGBRow_AVX2 expects multiple of 16 pixels. Adjust the I422ToRGB565Row_Any_AVX2 to do multiple of 16 with AVX2 and then remainder in a buffer. Bug: libyuv: 657 Test: out/Release/libyuv_unittest --gtest_filter=*Convert*I*To* --libyuv_width=1280 --libyuv_height=720 Change-Id: Ice1cb6c7ff6b2295513e8b4a9f77522e1c659810 Reviewed-on: https://chromium-review.googlesource.com/474232 Commit-Queue: Frank Barchard Reviewed-by: Henrik Kjellander --- README.chromium | 2 +- include/libyuv/version.h | 2 +- source/row_any.cc | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.chromium b/README.chromium index 110884d2e..c6b9ae6b1 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1650 +Version: 1651 License: BSD License File: LICENSE diff --git a/include/libyuv/version.h b/include/libyuv/version.h index 324ed07d1..d71f6975e 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 1650 +#define LIBYUV_VERSION 1651 #endif // INCLUDE_LIBYUV_VERSION_H_ diff --git a/source/row_any.cc b/source/row_any.cc index b6ace9b5e..1092a9c0c 100644 --- a/source/row_any.cc +++ b/source/row_any.cc @@ -158,13 +158,13 @@ ANY31C(I422ToRGBARow_Any_AVX2, I422ToRGBARow_AVX2, 1, 0, 4, 15) ANY31C(I444ToARGBRow_Any_AVX2, I444ToARGBRow_AVX2, 0, 0, 4, 15) #endif #ifdef HAS_I422TOARGB4444ROW_AVX2 -ANY31C(I422ToARGB4444Row_Any_AVX2, I422ToARGB4444Row_AVX2, 1, 0, 2, 7) +ANY31C(I422ToARGB4444Row_Any_AVX2, I422ToARGB4444Row_AVX2, 1, 0, 2, 15) #endif #ifdef HAS_I422TOARGB1555ROW_AVX2 -ANY31C(I422ToARGB1555Row_Any_AVX2, I422ToARGB1555Row_AVX2, 1, 0, 2, 7) +ANY31C(I422ToARGB1555Row_Any_AVX2, I422ToARGB1555Row_AVX2, 1, 0, 2, 15) #endif #ifdef HAS_I422TORGB565ROW_AVX2 -ANY31C(I422ToRGB565Row_Any_AVX2, I422ToRGB565Row_AVX2, 1, 0, 2, 7) +ANY31C(I422ToRGB565Row_Any_AVX2, I422ToRGB565Row_AVX2, 1, 0, 2, 15) #endif #ifdef HAS_I422TOARGBROW_NEON ANY31C(I444ToARGBRow_Any_NEON, I444ToARGBRow_NEON, 0, 0, 4, 7)