Commit cae07fb0 authored by Frank Barchard's avatar Frank Barchard

bump subsampling up

BUG=455
TESTED=libyuvTest.ARGBToYUY2_Random
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/58419004.
parent 03da5420
Name: libyuv
URL: http://code.google.com/p/libyuv/
Version: 1420
Version: 1433
License: BSD
License File: LICENSE
......
......@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 1420
#define LIBYUV_VERSION 1433
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
......@@ -20,6 +20,9 @@ namespace libyuv {
extern "C" {
#endif
// Subsampling source needs to be increase by 1 of not even.
#define SS(width, shift) ((width) + (1 << shift) - 1) >> shift
// YUV to RGB does multiple of 8 with SIMD and remainder with C.
#define YANY(NAMEANY, I420TORGB_SIMD, UVSHIFT, BPP, MASK) \
void NAMEANY(const uint8* y_buf, const uint8* u_buf, const uint8* v_buf, \
......@@ -30,10 +33,10 @@ extern "C" {
} \
if (width & MASK) { \
SIMD_ALIGNED(uint8 temp[64 * 4]); \
memset(temp, 0, 64 * 4); \
memset(temp, 0, 64 * 4); /* for valgrind */ \
memcpy(temp, y_buf + n, width & MASK); \
memcpy(temp + 64, u_buf + (n >> UVSHIFT), (width & MASK) >> UVSHIFT); \
memcpy(temp + 128, v_buf + (n >> UVSHIFT), (width & MASK) >> UVSHIFT); \
memcpy(temp + 64, u_buf + (n >> UVSHIFT), SS(width & MASK, UVSHIFT)); \
memcpy(temp + 128, v_buf + (n >> UVSHIFT), SS(width & MASK, UVSHIFT)); \
I420TORGB_SIMD(temp, temp + 64, temp + 128, temp + 192, MASK + 1); \
memcpy(rgb_buf + n * BPP, temp + 192, (width & MASK) * BPP); \
} \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment