mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-14 21:09:55 +02:00
add WEBP_REDUCE_SIZE
remove auto-filter (-af) support and make WebPPictureCopy, WebPPictureIsView, WebPPictureView, WebPPictureCrop, and WebPPictureRescale noops. Change-Id: If39d512cc268a0015298a1138dbc94feb86575e5
This commit is contained in:
@ -308,6 +308,7 @@ typedef double (*VP8SSIMGetClippedFunc)(const uint8_t* src1, int stride1,
|
||||
int xo, int yo, // center position
|
||||
int W, int H); // plane dimension
|
||||
|
||||
#if !defined(WEBP_REDUCE_SIZE)
|
||||
// This version is called with the guarantee that you can load 8 bytes and
|
||||
// 8 rows at offset src1 and src2
|
||||
typedef double (*VP8SSIMGetFunc)(const uint8_t* src1, int stride1,
|
||||
@ -315,6 +316,7 @@ typedef double (*VP8SSIMGetFunc)(const uint8_t* src1, int stride1,
|
||||
|
||||
extern VP8SSIMGetFunc VP8SSIMGet; // unclipped / unchecked
|
||||
extern VP8SSIMGetClippedFunc VP8SSIMGetClipped; // with clipping
|
||||
#endif
|
||||
|
||||
#if !defined(WEBP_DISABLE_STATS)
|
||||
typedef uint32_t (*VP8AccumulateSSEFunc)(const uint8_t* src1,
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
#include "src/dsp/dsp.h"
|
||||
|
||||
#if !defined(WEBP_REDUCE_SIZE)
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// SSIM / PSNR
|
||||
|
||||
@ -107,6 +109,8 @@ static double SSIMGet_C(const uint8_t* src1, int stride1,
|
||||
return VP8SSIMFromStats(&stats);
|
||||
}
|
||||
|
||||
#endif // !defined(WEBP_REDUCE_SIZE)
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#if !defined(WEBP_DISABLE_STATS)
|
||||
@ -125,8 +129,10 @@ static uint32_t AccumulateSSE_C(const uint8_t* src1,
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#if !defined(WEBP_REDUCE_SIZE)
|
||||
VP8SSIMGetFunc VP8SSIMGet;
|
||||
VP8SSIMGetClippedFunc VP8SSIMGetClipped;
|
||||
#endif
|
||||
#if !defined(WEBP_DISABLE_STATS)
|
||||
VP8AccumulateSSEFunc VP8AccumulateSSE;
|
||||
#endif
|
||||
@ -139,8 +145,10 @@ static volatile VP8CPUInfo ssim_last_cpuinfo_used =
|
||||
WEBP_TSAN_IGNORE_FUNCTION void VP8SSIMDspInit(void) {
|
||||
if (ssim_last_cpuinfo_used == VP8GetCPUInfo) return;
|
||||
|
||||
#if !defined(WEBP_REDUCE_SIZE)
|
||||
VP8SSIMGetClipped = SSIMGetClipped_C;
|
||||
VP8SSIMGet = SSIMGet_C;
|
||||
#endif
|
||||
|
||||
#if !defined(WEBP_DISABLE_STATS)
|
||||
VP8AccumulateSSE = AccumulateSSE_C;
|
||||
|
@ -81,6 +81,8 @@ static uint32_t AccumulateSSE_SSE2(const uint8_t* src1,
|
||||
}
|
||||
#endif // !defined(WEBP_DISABLE_STATS)
|
||||
|
||||
#if !defined(WEBP_REDUCE_SIZE)
|
||||
|
||||
static uint32_t HorizontalAdd16b_SSE2(const __m128i* const m) {
|
||||
uint16_t tmp[8];
|
||||
const __m128i a = _mm_srli_si128(*m, 8);
|
||||
@ -143,13 +145,17 @@ static double SSIMGet_SSE2(const uint8_t* src1, int stride1,
|
||||
return VP8SSIMFromStats(&stats);
|
||||
}
|
||||
|
||||
#endif // !defined(WEBP_REDUCE_SIZE)
|
||||
|
||||
extern void VP8SSIMDspInitSSE2(void);
|
||||
|
||||
WEBP_TSAN_IGNORE_FUNCTION void VP8SSIMDspInitSSE2(void) {
|
||||
#if !defined(WEBP_DISABLE_STATS)
|
||||
VP8AccumulateSSE = AccumulateSSE_SSE2;
|
||||
#endif
|
||||
#if !defined(WEBP_REDUCE_SIZE)
|
||||
VP8SSIMGet = SSIMGet_SSE2;
|
||||
#endif
|
||||
}
|
||||
|
||||
#else // !WEBP_USE_SSE2
|
||||
|
Reference in New Issue
Block a user