yuv: harmonize suffix naming

BUG=webp:355

Change-Id: I403c4b3cdfc55b3b1648f98a1d189326a3e660a3
This commit is contained in:
skal 2017-08-01 17:41:00 -07:00
parent 6cb13b0532
commit 73ea9f2702
5 changed files with 55 additions and 50 deletions

View File

@ -168,7 +168,7 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplers(void) {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// ARGB -> YUV converters // ARGB -> YUV converters
static void ConvertARGBToY(const uint32_t* argb, uint8_t* y, int width) { static void ConvertARGBToY_C(const uint32_t* argb, uint8_t* y, int width) {
int i; int i;
for (i = 0; i < width; ++i) { for (i = 0; i < width; ++i) {
const uint32_t p = argb[i]; const uint32_t p = argb[i];
@ -220,14 +220,14 @@ void WebPConvertARGBToUV_C(const uint32_t* argb, uint8_t* u, uint8_t* v,
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static void ConvertRGB24ToY(const uint8_t* rgb, uint8_t* y, int width) { static void ConvertRGB24ToY_C(const uint8_t* rgb, uint8_t* y, int width) {
int i; int i;
for (i = 0; i < width; ++i, rgb += 3) { for (i = 0; i < width; ++i, rgb += 3) {
y[i] = VP8RGBToY(rgb[0], rgb[1], rgb[2], YUV_HALF); y[i] = VP8RGBToY(rgb[0], rgb[1], rgb[2], YUV_HALF);
} }
} }
static void ConvertBGR24ToY(const uint8_t* bgr, uint8_t* y, int width) { static void ConvertBGR24ToY_C(const uint8_t* bgr, uint8_t* y, int width) {
int i; int i;
for (i = 0; i < width; ++i, bgr += 3) { for (i = 0; i < width; ++i, bgr += 3) {
y[i] = VP8RGBToY(bgr[2], bgr[1], bgr[0], YUV_HALF); y[i] = VP8RGBToY(bgr[2], bgr[1], bgr[0], YUV_HALF);
@ -315,11 +315,11 @@ extern void WebPInitSharpYUVNEON(void);
WEBP_TSAN_IGNORE_FUNCTION void WebPInitConvertARGBToYUV(void) { WEBP_TSAN_IGNORE_FUNCTION void WebPInitConvertARGBToYUV(void) {
if (rgba_to_yuv_last_cpuinfo_used == VP8GetCPUInfo) return; if (rgba_to_yuv_last_cpuinfo_used == VP8GetCPUInfo) return;
WebPConvertARGBToY = ConvertARGBToY; WebPConvertARGBToY = ConvertARGBToY_C;
WebPConvertARGBToUV = WebPConvertARGBToUV_C; WebPConvertARGBToUV = WebPConvertARGBToUV_C;
WebPConvertRGB24ToY = ConvertRGB24ToY; WebPConvertRGB24ToY = ConvertRGB24ToY_C;
WebPConvertBGR24ToY = ConvertBGR24ToY; WebPConvertBGR24ToY = ConvertBGR24ToY_C;
WebPConvertRGBA32ToUV = WebPConvertRGBA32ToUV_C; WebPConvertRGBA32ToUV = WebPConvertRGBA32ToUV_C;

View File

@ -77,10 +77,10 @@ static void FUNC_NAME(const uint8_t* y, \
} \ } \
} }
ROW_FUNC(YuvToRgbRow, 3, 0, 1, 2, 0) ROW_FUNC(YuvToRgbRow_MIPS32, 3, 0, 1, 2, 0)
ROW_FUNC(YuvToRgbaRow, 4, 0, 1, 2, 3) ROW_FUNC(YuvToRgbaRow_MIPS32, 4, 0, 1, 2, 3)
ROW_FUNC(YuvToBgrRow, 3, 2, 1, 0, 0) ROW_FUNC(YuvToBgrRow_MIPS32, 3, 2, 1, 0, 0)
ROW_FUNC(YuvToBgraRow, 4, 2, 1, 0, 3) ROW_FUNC(YuvToBgraRow_MIPS32, 4, 2, 1, 0, 3)
#undef ROW_FUNC #undef ROW_FUNC
@ -90,10 +90,10 @@ ROW_FUNC(YuvToBgraRow, 4, 2, 1, 0, 3)
extern void WebPInitSamplersMIPS32(void); extern void WebPInitSamplersMIPS32(void);
WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPS32(void) { WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPS32(void) {
WebPSamplers[MODE_RGB] = YuvToRgbRow; WebPSamplers[MODE_RGB] = YuvToRgbRow_MIPS32;
WebPSamplers[MODE_RGBA] = YuvToRgbaRow; WebPSamplers[MODE_RGBA] = YuvToRgbaRow_MIPS32;
WebPSamplers[MODE_BGR] = YuvToBgrRow; WebPSamplers[MODE_BGR] = YuvToBgrRow_MIPS32;
WebPSamplers[MODE_BGRA] = YuvToBgraRow; WebPSamplers[MODE_BGRA] = YuvToBgraRow_MIPS32;
} }
#else // !WEBP_USE_MIPS32 #else // !WEBP_USE_MIPS32

View File

@ -105,10 +105,10 @@ static void FUNC_NAME(const uint8_t* y, \
} \ } \
} }
ROW_FUNC(YuvToRgbRow, 3, 0, 1, 2, 0) ROW_FUNC(YuvToRgbRow_MIPSdspR2, 3, 0, 1, 2, 0)
ROW_FUNC(YuvToRgbaRow, 4, 0, 1, 2, 3) ROW_FUNC(YuvToRgbaRow_MIPSdspR2, 4, 0, 1, 2, 3)
ROW_FUNC(YuvToBgrRow, 3, 2, 1, 0, 0) ROW_FUNC(YuvToBgrRow_MIPSdspR2, 3, 2, 1, 0, 0)
ROW_FUNC(YuvToBgraRow, 4, 2, 1, 0, 3) ROW_FUNC(YuvToBgraRow_MIPSdspR2, 4, 2, 1, 0, 3)
#undef ROW_FUNC #undef ROW_FUNC
#undef ASM_CLOBBER_LIST #undef ASM_CLOBBER_LIST
@ -121,10 +121,10 @@ ROW_FUNC(YuvToBgraRow, 4, 2, 1, 0, 3)
extern void WebPInitSamplersMIPSdspR2(void); extern void WebPInitSamplersMIPSdspR2(void);
WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPSdspR2(void) { WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPSdspR2(void) {
WebPSamplers[MODE_RGB] = YuvToRgbRow; WebPSamplers[MODE_RGB] = YuvToRgbRow_MIPSdspR2;
WebPSamplers[MODE_RGBA] = YuvToRgbaRow; WebPSamplers[MODE_RGBA] = YuvToRgbaRow_MIPSdspR2;
WebPSamplers[MODE_BGR] = YuvToBgrRow; WebPSamplers[MODE_BGR] = YuvToBgrRow_MIPSdspR2;
WebPSamplers[MODE_BGRA] = YuvToBgraRow; WebPSamplers[MODE_BGRA] = YuvToBgraRow_MIPSdspR2;
} }
#else // !WEBP_USE_MIPS_DSP_R2 #else // !WEBP_USE_MIPS_DSP_R2

View File

@ -282,7 +282,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitSharpYUVNEON(void) {
#else // !WEBP_USE_NEON #else // !WEBP_USE_NEON
WEBP_DSP_INIT_STUB(WebPInitSamplersNEON)
WEBP_DSP_INIT_STUB(WebPInitConvertARGBToYUVNEON) WEBP_DSP_INIT_STUB(WebPInitConvertARGBToYUVNEON)
WEBP_DSP_INIT_STUB(WebPInitSharpYUVNEON) WEBP_DSP_INIT_STUB(WebPInitSharpYUVNEON)

View File

@ -287,8 +287,9 @@ void VP8YuvToBgr32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v,
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Arbitrary-length row conversion functions // Arbitrary-length row conversion functions
static void YuvToRgbaRow(const uint8_t* y, const uint8_t* u, const uint8_t* v, static void YuvToRgbaRow_SSE2(const uint8_t* y,
uint8_t* dst, int len) { const uint8_t* u, const uint8_t* v,
uint8_t* dst, int len) {
const __m128i kAlpha = _mm_set1_epi16(255); const __m128i kAlpha = _mm_set1_epi16(255);
int n; int n;
for (n = 0; n + 8 <= len; n += 8, dst += 32) { for (n = 0; n + 8 <= len; n += 8, dst += 32) {
@ -308,8 +309,9 @@ static void YuvToRgbaRow(const uint8_t* y, const uint8_t* u, const uint8_t* v,
} }
} }
static void YuvToBgraRow(const uint8_t* y, const uint8_t* u, const uint8_t* v, static void YuvToBgraRow_SSE2(const uint8_t* y,
uint8_t* dst, int len) { const uint8_t* u, const uint8_t* v,
uint8_t* dst, int len) {
const __m128i kAlpha = _mm_set1_epi16(255); const __m128i kAlpha = _mm_set1_epi16(255);
int n; int n;
for (n = 0; n + 8 <= len; n += 8, dst += 32) { for (n = 0; n + 8 <= len; n += 8, dst += 32) {
@ -329,8 +331,9 @@ static void YuvToBgraRow(const uint8_t* y, const uint8_t* u, const uint8_t* v,
} }
} }
static void YuvToArgbRow(const uint8_t* y, const uint8_t* u, const uint8_t* v, static void YuvToArgbRow_SSE2(const uint8_t* y,
uint8_t* dst, int len) { const uint8_t* u, const uint8_t* v,
uint8_t* dst, int len) {
const __m128i kAlpha = _mm_set1_epi16(255); const __m128i kAlpha = _mm_set1_epi16(255);
int n; int n;
for (n = 0; n + 8 <= len; n += 8, dst += 32) { for (n = 0; n + 8 <= len; n += 8, dst += 32) {
@ -350,8 +353,9 @@ static void YuvToArgbRow(const uint8_t* y, const uint8_t* u, const uint8_t* v,
} }
} }
static void YuvToRgbRow(const uint8_t* y, const uint8_t* u, const uint8_t* v, static void YuvToRgbRow_SSE2(const uint8_t* y,
uint8_t* dst, int len) { const uint8_t* u, const uint8_t* v,
uint8_t* dst, int len) {
int n; int n;
for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) { for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) {
__m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3;
@ -386,8 +390,9 @@ static void YuvToRgbRow(const uint8_t* y, const uint8_t* u, const uint8_t* v,
} }
} }
static void YuvToBgrRow(const uint8_t* y, const uint8_t* u, const uint8_t* v, static void YuvToBgrRow_SSE2(const uint8_t* y,
uint8_t* dst, int len) { const uint8_t* u, const uint8_t* v,
uint8_t* dst, int len) {
int n; int n;
for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) { for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) {
__m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3;
@ -428,11 +433,11 @@ static void YuvToBgrRow(const uint8_t* y, const uint8_t* u, const uint8_t* v,
extern void WebPInitSamplersSSE2(void); extern void WebPInitSamplersSSE2(void);
WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersSSE2(void) { WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersSSE2(void) {
WebPSamplers[MODE_RGB] = YuvToRgbRow; WebPSamplers[MODE_RGB] = YuvToRgbRow_SSE2;
WebPSamplers[MODE_RGBA] = YuvToRgbaRow; WebPSamplers[MODE_RGBA] = YuvToRgbaRow_SSE2;
WebPSamplers[MODE_BGR] = YuvToBgrRow; WebPSamplers[MODE_BGR] = YuvToBgrRow_SSE2;
WebPSamplers[MODE_BGRA] = YuvToBgraRow; WebPSamplers[MODE_BGRA] = YuvToBgraRow_SSE2;
WebPSamplers[MODE_ARGB] = YuvToArgbRow; WebPSamplers[MODE_ARGB] = YuvToArgbRow_SSE2;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -549,7 +554,7 @@ static WEBP_INLINE void ConvertRGBToUV(const __m128i* const R,
#undef MK_CST_16 #undef MK_CST_16
#undef TRANSFORM #undef TRANSFORM
static void ConvertRGB24ToY(const uint8_t* rgb, uint8_t* y, int width) { static void ConvertRGB24ToY_SSE2(const uint8_t* rgb, uint8_t* y, int width) {
const int max_width = width & ~31; const int max_width = width & ~31;
int i; int i;
for (i = 0; i < max_width; rgb += 3 * 16 * 2) { for (i = 0; i < max_width; rgb += 3 * 16 * 2) {
@ -583,7 +588,7 @@ static void ConvertRGB24ToY(const uint8_t* rgb, uint8_t* y, int width) {
} }
} }
static void ConvertBGR24ToY(const uint8_t* bgr, uint8_t* y, int width) { static void ConvertBGR24ToY_SSE2(const uint8_t* bgr, uint8_t* y, int width) {
const int max_width = width & ~31; const int max_width = width & ~31;
int i; int i;
for (i = 0; i < max_width; bgr += 3 * 16 * 2) { for (i = 0; i < max_width; bgr += 3 * 16 * 2) {
@ -617,7 +622,7 @@ static void ConvertBGR24ToY(const uint8_t* bgr, uint8_t* y, int width) {
} }
} }
static void ConvertARGBToY(const uint32_t* argb, uint8_t* y, int width) { static void ConvertARGBToY_SSE2(const uint32_t* argb, uint8_t* y, int width) {
const int max_width = width & ~15; const int max_width = width & ~15;
int i; int i;
for (i = 0; i < max_width; i += 16) { for (i = 0; i < max_width; i += 16) {
@ -644,8 +649,9 @@ static void HorizontalAddPack(const __m128i* const A, const __m128i* const B,
*out = _mm_packs_epi32(C, D); *out = _mm_packs_epi32(C, D);
} }
static void ConvertARGBToUV(const uint32_t* argb, uint8_t* u, uint8_t* v, static void ConvertARGBToUV_SSE2(const uint32_t* argb,
int src_width, int do_store) { uint8_t* u, uint8_t* v,
int src_width, int do_store) {
const int max_width = src_width & ~31; const int max_width = src_width & ~31;
int i; int i;
for (i = 0; i < max_width; i += 32, u += 16, v += 16) { for (i = 0; i < max_width; i += 32, u += 16, v += 16) {
@ -701,8 +707,8 @@ static WEBP_INLINE void RGBA32PackedToPlanar_16b(const uint16_t* const rgbx,
*b = _mm_unpacklo_epi64(B1, B3); *b = _mm_unpacklo_epi64(B1, B3);
} }
static void ConvertRGBA32ToUV(const uint16_t* rgb, static void ConvertRGBA32ToUV_SSE2(const uint16_t* rgb,
uint8_t* u, uint8_t* v, int width) { uint8_t* u, uint8_t* v, int width) {
const int max_width = width & ~15; const int max_width = width & ~15;
const uint16_t* const last_rgb = rgb + 4 * max_width; const uint16_t* const last_rgb = rgb + 4 * max_width;
while (rgb < last_rgb) { while (rgb < last_rgb) {
@ -727,13 +733,13 @@ static void ConvertRGBA32ToUV(const uint16_t* rgb,
extern void WebPInitConvertARGBToYUVSSE2(void); extern void WebPInitConvertARGBToYUVSSE2(void);
WEBP_TSAN_IGNORE_FUNCTION void WebPInitConvertARGBToYUVSSE2(void) { WEBP_TSAN_IGNORE_FUNCTION void WebPInitConvertARGBToYUVSSE2(void) {
WebPConvertARGBToY = ConvertARGBToY; WebPConvertARGBToY = ConvertARGBToY_SSE2;
WebPConvertARGBToUV = ConvertARGBToUV; WebPConvertARGBToUV = ConvertARGBToUV_SSE2;
WebPConvertRGB24ToY = ConvertRGB24ToY; WebPConvertRGB24ToY = ConvertRGB24ToY_SSE2;
WebPConvertBGR24ToY = ConvertBGR24ToY; WebPConvertBGR24ToY = ConvertBGR24ToY_SSE2;
WebPConvertRGBA32ToUV = ConvertRGBA32ToUV; WebPConvertRGBA32ToUV = ConvertRGBA32ToUV_SSE2;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------