diff --git a/src/dsp/upsampling_mips_dsp_r2.c b/src/dsp/upsampling_mips_dsp_r2.c index 33f87c54..a8edb563 100644 --- a/src/dsp/upsampling_mips_dsp_r2.c +++ b/src/dsp/upsampling_mips_dsp_r2.c @@ -16,8 +16,8 @@ #if defined(WEBP_USE_MIPS_DSP_R2) -#include "./yuv.h" #include +#include "./yuv.h" #if !defined(WEBP_YUV_USE_TABLE) @@ -211,15 +211,12 @@ UPSAMPLE_FUNC(UpsampleRgb565LinePair, YuvToRgb565, 2) #undef LOAD_UV #undef UPSAMPLE_FUNC -#endif // FANCY_UPSAMPLING - -#endif // WEBP_USE_MIPS_DSP_R2 +//------------------------------------------------------------------------------ +// Entry point extern void WebPInitUpsamplersMIPSdspR2(void); WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersMIPSdspR2(void) { -#if defined(WEBP_USE_MIPS_DSP_R2) -#ifdef FANCY_UPSAMPLING WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair; WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair; WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair; @@ -231,15 +228,13 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersMIPSdspR2(void) { WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair; WebPUpsamplers[MODE_Argb] = UpsampleArgbLinePair; WebPUpsamplers[MODE_rgbA_4444] = UpsampleRgba4444LinePair; -#endif // FANCY_UPSAMPLING -#endif // WEBP_USE_MIPS_DSP_R2 } +#endif // FANCY_UPSAMPLING + //------------------------------------------------------------------------------ // YUV444 converter -#if defined(WEBP_USE_MIPS_DSP_R2) - #define YUV444_FUNC(FUNC_NAME, FUNC, XSTEP) \ static void FUNC_NAME(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ uint8_t* dst, int len) { \ @@ -257,12 +252,12 @@ YUV444_FUNC(Yuv444ToRgb565, YuvToRgb565, 2) #undef YUV444_FUNC -#endif // WEBP_USE_MIPS_DSP_R2 +//------------------------------------------------------------------------------ +// Entry point extern void WebPInitYUV444ConvertersMIPSdspR2(void); WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersMIPSdspR2(void) { -#if defined(WEBP_USE_MIPS_DSP_R2) WebPYUV444Converters[MODE_RGB] = Yuv444ToRgb; WebPYUV444Converters[MODE_RGBA] = Yuv444ToRgba; WebPYUV444Converters[MODE_BGR] = Yuv444ToBgr; @@ -274,7 +269,16 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersMIPSdspR2(void) { WebPYUV444Converters[MODE_bgrA] = Yuv444ToBgra; WebPYUV444Converters[MODE_Argb] = Yuv444ToArgb; WebPYUV444Converters[MODE_rgbA_4444] = Yuv444ToRgba4444; -#endif // WEBP_USE_MIPS_DSP_R2 } -//------------------------------------------------------------------------------ +#else // !WEBP_USE_MIPS_DSP_R2 + +extern void WebPInitYUV444ConvertersMIPSdspR2(void); +WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersMIPSdspR2(void) {} + +#endif // WEBP_USE_MIPS_DSP_R2 + +#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_MIPS_DSP_R2)) +extern void WebPInitUpsamplersMIPSdspR2(void); +WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersMIPSdspR2(void) {} +#endif diff --git a/src/dsp/upsampling_neon.c b/src/dsp/upsampling_neon.c index 0006a8f4..8597f155 100644 --- a/src/dsp/upsampling_neon.c +++ b/src/dsp/upsampling_neon.c @@ -236,32 +236,27 @@ NEON_UPSAMPLE_FUNC(UpsampleBgrLinePair, Bgr, 3) NEON_UPSAMPLE_FUNC(UpsampleRgbaLinePair, Rgba, 4) NEON_UPSAMPLE_FUNC(UpsampleBgraLinePair, Bgra, 4) -#endif // FANCY_UPSAMPLING - -#endif // WEBP_USE_NEON - //------------------------------------------------------------------------------ - -extern void WebPInitUpsamplersNEON(void); - -#ifdef FANCY_UPSAMPLING +// Entry point extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; +extern void WebPInitUpsamplersNEON(void); + WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersNEON(void) { -#if defined(WEBP_USE_NEON) WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair; WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair; WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair; WebPUpsamplers[MODE_BGRA] = UpsampleBgraLinePair; WebPUpsamplers[MODE_rgbA] = UpsampleRgbaLinePair; WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair; -#endif // WEBP_USE_NEON } -#else - -// this empty function is to avoid an empty .o -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersNEON(void) {} - #endif // FANCY_UPSAMPLING + +#endif // WEBP_USE_NEON + +#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_NEON)) +extern void WebPInitUpsamplersNEON(void); +WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersNEON(void) {} +#endif diff --git a/src/dsp/upsampling_sse2.c b/src/dsp/upsampling_sse2.c index 93aa0c40..ca70069e 100644 --- a/src/dsp/upsampling_sse2.c +++ b/src/dsp/upsampling_sse2.c @@ -182,20 +182,14 @@ SSE2_UPSAMPLE_FUNC(UpsampleBgraLinePair, VP8YuvToBgra, 4) #undef CONVERT2RGB_32 #undef SSE2_UPSAMPLE_FUNC -#endif // FANCY_UPSAMPLING - -#endif // WEBP_USE_SSE2 - //------------------------------------------------------------------------------ - -extern void WebPInitUpsamplersSSE2(void); - -#ifdef FANCY_UPSAMPLING +// Entry point extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; +extern void WebPInitUpsamplersSSE2(void); + WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE2(void) { -#if defined(WEBP_USE_SSE2) VP8YUVInitSSE2(); WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair; WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair; @@ -203,12 +197,13 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE2(void) { WebPUpsamplers[MODE_BGRA] = UpsampleBgraLinePair; WebPUpsamplers[MODE_rgbA] = UpsampleRgbaLinePair; WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair; -#endif // WEBP_USE_SSE2 } -#else - -// this empty function is to avoid an empty .o -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE2(void) {} - #endif // FANCY_UPSAMPLING + +#endif // WEBP_USE_SSE2 + +#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_SSE2)) +extern void WebPInitUpsamplersSSE2(void); +WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE2(void) {} +#endif