aboutsummaryrefslogtreecommitdiff
path: root/source/row_common.cc
diff options
context:
space:
mode:
authorSadaf Ebrahimi <sadafebrahimi@google.com>2023-09-07 21:58:17 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-09-07 21:58:17 +0000
commit2a34f96fcc741c16e20cee13773fcb0044ef8858 (patch)
tree4c16984caadbb5518c5eef3a500b12b063422195 /source/row_common.cc
parent514e319f1ca011850a0f8da3287e24d50606c92d (diff)
parent68fc4c4e533638cf1bb70520720b299e97579f42 (diff)
downloadlibyuv-2a34f96fcc741c16e20cee13773fcb0044ef8858.tar.gz
Merge changes from topic "upgrade-libyuv" into main am: f0da294809 am: 245ce73206 am: 497af62b0a am: 68fc4c4e53
Original change: https://android-review.googlesource.com/c/platform/external/libyuv/+/2740595 Change-Id: Iaffccbb629609d8d545487e056381d63334254fb Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'source/row_common.cc')
-rw-r--r--source/row_common.cc15
1 files changed, 5 insertions, 10 deletions
diff --git a/source/row_common.cc b/source/row_common.cc
index 8be37fb5..7591c6b6 100644
--- a/source/row_common.cc
+++ b/source/row_common.cc
@@ -48,7 +48,6 @@ extern "C" {
defined(__i386__) || defined(_M_IX86))
#define LIBYUV_ARGBTOUV_PAVGB 1
#define LIBYUV_RGBTOU_TRUNCATE 1
-#define LIBYUV_ATTENUATE_DUP 1
#endif
#if defined(LIBYUV_BIT_EXACT)
#define LIBYUV_UNATTENUATE_DUP 1
@@ -1876,9 +1875,10 @@ static __inline void YPixel(uint8_t y,
int yg = yuvconstants->kYToRgb[0];
#endif
uint32_t y1 = (uint32_t)(y * 0x0101 * yg) >> 16;
- *b = STATIC_CAST(uint8_t, Clamp(((int32_t)(y1) + ygb) >> 6));
- *g = STATIC_CAST(uint8_t, Clamp(((int32_t)(y1) + ygb) >> 6));
- *r = STATIC_CAST(uint8_t, Clamp(((int32_t)(y1) + ygb) >> 6));
+ uint8_t b8 = STATIC_CAST(uint8_t, Clamp(((int32_t)(y1) + ygb) >> 6));
+ *b = b8;
+ *g = b8;
+ *r = b8;
}
void I444ToARGBRow_C(const uint8_t* src_y,
@@ -3369,12 +3369,7 @@ void BlendPlaneRow_C(const uint8_t* src0,
}
#undef UBLEND
-#if LIBYUV_ATTENUATE_DUP
-// This code mimics the SSSE3 version for better testability.
-#define ATTENUATE(f, a) (a | (a << 8)) * (f | (f << 8)) >> 24
-#else
-#define ATTENUATE(f, a) (f * a + 128) >> 8
-#endif
+#define ATTENUATE(f, a) (f * a + 255) >> 8
// Multiply source RGB by alpha and store to destination.
void ARGBAttenuateRow_C(const uint8_t* src_argb, uint8_t* dst_argb, int width) {