mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-06 16:56:55 +08:00
fix wrong HAS_ARGBCOPYALPHAROW_SSE2 ifdef
TBR=kjellander@chromium.org BUG=libyuv:593 TESTED=try bots pass. Review URL: https://codereview.chromium.org/2000393002 .
This commit is contained in:
parent
caa89bf974
commit
fbdc43a03c
@ -1,6 +1,6 @@
|
|||||||
Name: libyuv
|
Name: libyuv
|
||||||
URL: http://code.google.com/p/libyuv/
|
URL: http://code.google.com/p/libyuv/
|
||||||
Version: 1587
|
Version: 1588
|
||||||
License: BSD
|
License: BSD
|
||||||
License File: LICENSE
|
License File: LICENSE
|
||||||
|
|
||||||
|
|||||||
@ -11,6 +11,6 @@
|
|||||||
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
|
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
|
||||||
#define INCLUDE_LIBYUV_VERSION_H_
|
#define INCLUDE_LIBYUV_VERSION_H_
|
||||||
|
|
||||||
#define LIBYUV_VERSION 1587
|
#define LIBYUV_VERSION 1588
|
||||||
|
|
||||||
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
|
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
|
||||||
|
|||||||
@ -468,36 +468,7 @@ ANY11(ARGBAttenuateRow_Any_NEON, ARGBAttenuateRow_NEON, 0, 4, 4, 7)
|
|||||||
#endif
|
#endif
|
||||||
#undef ANY11
|
#undef ANY11
|
||||||
|
|
||||||
// Any 1 to 1 with yuvconstants
|
// Any 1 to 1 blended. Destination is read, modify, write.
|
||||||
#define ANY11C(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \
|
|
||||||
void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, \
|
|
||||||
const struct YuvConstants* yuvconstants, int width) { \
|
|
||||||
SIMD_ALIGNED(uint8 temp[128 * 2]); \
|
|
||||||
memset(temp, 0, 128); /* for YUY2 and msan */ \
|
|
||||||
int r = width & MASK; \
|
|
||||||
int n = width & ~MASK; \
|
|
||||||
if (n > 0) { \
|
|
||||||
ANY_SIMD(src_ptr, dst_ptr, yuvconstants, n); \
|
|
||||||
} \
|
|
||||||
memcpy(temp, src_ptr + (n >> UVSHIFT) * SBPP, SS(r, UVSHIFT) * SBPP); \
|
|
||||||
ANY_SIMD(temp, temp + 128, yuvconstants, MASK + 1); \
|
|
||||||
memcpy(dst_ptr + n * BPP, temp + 128, r * BPP); \
|
|
||||||
}
|
|
||||||
#if defined(HAS_YUY2TOARGBROW_SSSE3)
|
|
||||||
ANY11C(YUY2ToARGBRow_Any_SSSE3, YUY2ToARGBRow_SSSE3, 1, 4, 4, 15)
|
|
||||||
ANY11C(UYVYToARGBRow_Any_SSSE3, UYVYToARGBRow_SSSE3, 1, 4, 4, 15)
|
|
||||||
#endif
|
|
||||||
#if defined(HAS_YUY2TOARGBROW_AVX2)
|
|
||||||
ANY11C(YUY2ToARGBRow_Any_AVX2, YUY2ToARGBRow_AVX2, 1, 4, 4, 31)
|
|
||||||
ANY11C(UYVYToARGBRow_Any_AVX2, UYVYToARGBRow_AVX2, 1, 4, 4, 31)
|
|
||||||
#endif
|
|
||||||
#if defined(HAS_YUY2TOARGBROW_NEON)
|
|
||||||
ANY11C(YUY2ToARGBRow_Any_NEON, YUY2ToARGBRow_NEON, 1, 4, 4, 7)
|
|
||||||
ANY11C(UYVYToARGBRow_Any_NEON, UYVYToARGBRow_NEON, 1, 4, 4, 7)
|
|
||||||
#endif
|
|
||||||
#undef ANY11C
|
|
||||||
|
|
||||||
// Any 1 to 1 blended.
|
|
||||||
#define ANY11B(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \
|
#define ANY11B(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \
|
||||||
void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, int width) { \
|
void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, int width) { \
|
||||||
SIMD_ALIGNED(uint8 temp[128 * 2]); \
|
SIMD_ALIGNED(uint8 temp[128 * 2]); \
|
||||||
@ -516,7 +487,7 @@ ANY11C(UYVYToARGBRow_Any_NEON, UYVYToARGBRow_NEON, 1, 4, 4, 7)
|
|||||||
#ifdef HAS_ARGBCOPYALPHAROW_AVX2
|
#ifdef HAS_ARGBCOPYALPHAROW_AVX2
|
||||||
ANY11B(ARGBCopyAlphaRow_Any_AVX2, ARGBCopyAlphaRow_AVX2, 0, 4, 4, 15)
|
ANY11B(ARGBCopyAlphaRow_Any_AVX2, ARGBCopyAlphaRow_AVX2, 0, 4, 4, 15)
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAS_ARGBCOPYYTOALPHAROW_SSE2
|
#ifdef HAS_ARGBCOPYALPHAROW_SSE2
|
||||||
ANY11B(ARGBCopyAlphaRow_Any_SSE2, ARGBCopyAlphaRow_SSE2, 0, 4, 4, 7)
|
ANY11B(ARGBCopyAlphaRow_Any_SSE2, ARGBCopyAlphaRow_SSE2, 0, 4, 4, 7)
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAS_ARGBCOPYYTOALPHAROW_AVX2
|
#ifdef HAS_ARGBCOPYYTOALPHAROW_AVX2
|
||||||
@ -569,6 +540,35 @@ ANY11P(ARGBShuffleRow_Any_NEON, ARGBShuffleRow_NEON, const uint8*, 4, 4, 3)
|
|||||||
#endif
|
#endif
|
||||||
#undef ANY11P
|
#undef ANY11P
|
||||||
|
|
||||||
|
// Any 1 to 1 with yuvconstants
|
||||||
|
#define ANY11C(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \
|
||||||
|
void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, \
|
||||||
|
const struct YuvConstants* yuvconstants, int width) { \
|
||||||
|
SIMD_ALIGNED(uint8 temp[128 * 2]); \
|
||||||
|
memset(temp, 0, 128); /* for YUY2 and msan */ \
|
||||||
|
int r = width & MASK; \
|
||||||
|
int n = width & ~MASK; \
|
||||||
|
if (n > 0) { \
|
||||||
|
ANY_SIMD(src_ptr, dst_ptr, yuvconstants, n); \
|
||||||
|
} \
|
||||||
|
memcpy(temp, src_ptr + (n >> UVSHIFT) * SBPP, SS(r, UVSHIFT) * SBPP); \
|
||||||
|
ANY_SIMD(temp, temp + 128, yuvconstants, MASK + 1); \
|
||||||
|
memcpy(dst_ptr + n * BPP, temp + 128, r * BPP); \
|
||||||
|
}
|
||||||
|
#if defined(HAS_YUY2TOARGBROW_SSSE3)
|
||||||
|
ANY11C(YUY2ToARGBRow_Any_SSSE3, YUY2ToARGBRow_SSSE3, 1, 4, 4, 15)
|
||||||
|
ANY11C(UYVYToARGBRow_Any_SSSE3, UYVYToARGBRow_SSSE3, 1, 4, 4, 15)
|
||||||
|
#endif
|
||||||
|
#if defined(HAS_YUY2TOARGBROW_AVX2)
|
||||||
|
ANY11C(YUY2ToARGBRow_Any_AVX2, YUY2ToARGBRow_AVX2, 1, 4, 4, 31)
|
||||||
|
ANY11C(UYVYToARGBRow_Any_AVX2, UYVYToARGBRow_AVX2, 1, 4, 4, 31)
|
||||||
|
#endif
|
||||||
|
#if defined(HAS_YUY2TOARGBROW_NEON)
|
||||||
|
ANY11C(YUY2ToARGBRow_Any_NEON, YUY2ToARGBRow_NEON, 1, 4, 4, 7)
|
||||||
|
ANY11C(UYVYToARGBRow_Any_NEON, UYVYToARGBRow_NEON, 1, 4, 4, 7)
|
||||||
|
#endif
|
||||||
|
#undef ANY11C
|
||||||
|
|
||||||
// Any 1 to 1 interpolate. Takes 2 rows of source via stride.
|
// Any 1 to 1 interpolate. Takes 2 rows of source via stride.
|
||||||
#define ANY11T(NAMEANY, ANY_SIMD, SBPP, BPP, MASK) \
|
#define ANY11T(NAMEANY, ANY_SIMD, SBPP, BPP, MASK) \
|
||||||
void NAMEANY(uint8* dst_ptr, const uint8* src_ptr, \
|
void NAMEANY(uint8* dst_ptr, const uint8* src_ptr, \
|
||||||
|
|||||||
@ -11,10 +11,10 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#include "libyuv/cpu_id.h"
|
|
||||||
#include "libyuv/convert.h"
|
#include "libyuv/convert.h"
|
||||||
#include "libyuv/scale_argb.h"
|
#include "libyuv/cpu_id.h"
|
||||||
#include "libyuv/row.h"
|
#include "libyuv/row.h"
|
||||||
|
#include "libyuv/scale_argb.h"
|
||||||
#include "libyuv/video_common.h"
|
#include "libyuv/video_common.h"
|
||||||
#include "../unit_test/unit_test.h"
|
#include "../unit_test/unit_test.h"
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user