Fix parameter names and comments for ARGB/BGRA/RGBA/ABGR functions

In all functions that start with ARGB, BGRA, RGBA or ABGR in the include/libyuv/ headers, make sure the parameter variable name has the same 4 letters, but lower case, and the comment before the function should have the same matching name. Then make sure the implementation in source/ folder has the same variable names.

Change-Id: Idadbbbb993156eea16e318719f4888cb3bed5f6a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7760057
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
This commit is contained in:
Frank Barchard 2026-04-13 17:47:24 -07:00 committed by libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com
parent 893eacf9b4
commit 59ca5d8074
10 changed files with 80 additions and 80 deletions

View File

@ -1077,8 +1077,8 @@ int I420Interpolate(const uint8_t* src0_y,
// Shuffle ARGB channel order. e.g. BGRA to ARGB.
// shuffler is 16 bytes.
LIBYUV_API
int ARGBShuffle(const uint8_t* src_bgra,
int src_stride_bgra,
int ARGBShuffle(const uint8_t* src_argb,
int src_stride_argb,
uint8_t* dst_argb,
int dst_stride_argb,
const uint8_t* shuffler,

View File

@ -1611,13 +1611,13 @@ void I422ToARGBRow_LASX(const uint8_t* src_y,
void I422ToRGBARow_LSX(const uint8_t* src_y,
const uint8_t* src_u,
const uint8_t* src_v,
uint8_t* dst_argb,
uint8_t* dst_rgba,
const struct YuvConstants* yuvconstants,
int width);
void I422ToRGBARow_LASX(const uint8_t* src_y,
const uint8_t* src_u,
const uint8_t* src_v,
uint8_t* dst_argb,
uint8_t* dst_rgba,
const struct YuvConstants* yuvconstants,
int width);
void I422AlphaToARGBRow_LSX(const uint8_t* src_y,
@ -1753,25 +1753,25 @@ void ARGBToYJRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width);
void ARGBToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width);
void ARGBToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width);
void ABGRToYRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void ABGRToYRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width);
void ABGRToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width);
void ABGRToYRow_AVX512BW(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void ABGRToYRow_AVX2(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void ABGRToYJRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void ABGRToYJRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width);
void ABGRToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width);
void ABGRToYJRow_AVX512BW(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void ABGRToYJRow_AVX2(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void ABGRToYJRow_AVX2(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void ABGRToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width);
void RGBAToYJRow_AVX2(const uint8_t* src_rgba, uint8_t* dst_y, int width);
void RGBAToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width);
void RGBAToYJRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width);
void RGBAToYJRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width);
void RGBAToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width);
void RGBAToYJRow_AVX512BW(const uint8_t* src_rgba, uint8_t* dst_y, int width);
void RGBAToYJRow_AVX2(const uint8_t* src_rgba, uint8_t* dst_y, int width);
void BGRAToYRow_SSSE3(const uint8_t* src_bgra, uint8_t* dst_y, int width);
void BGRAToYRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width);
void BGRAToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width);
void BGRAToYRow_AVX512BW(const uint8_t* src_bgra, uint8_t* dst_y, int width);
void BGRAToYRow_AVX2(const uint8_t* src_bgra, uint8_t* dst_y, int width);
void ABGRToYRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width);
void RGBAToYRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width);
void RGBAToYRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width);
void RGBAToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width);
void RGBAToYRow_AVX512BW(const uint8_t* src_rgba, uint8_t* dst_y, int width);
void RGBAToYRow_AVX2(const uint8_t* src_rgba, uint8_t* dst_y, int width);
void RGB24ToYRow_SSSE3(const uint8_t* src_rgb24, uint8_t* dst_y, int width);
void RGB24ToYJRow_SSSE3(const uint8_t* src_rgb24, uint8_t* dst_yj, int width);
void RAWToYRow_SSSE3(const uint8_t* src_raw, uint8_t* dst_y, int width);
@ -1796,7 +1796,7 @@ void RGBAToYJRow_NEON_DotProd(const uint8_t* src_rgba,
int width);
void ARGBToYRow_RVV(const uint8_t* src_argb, uint8_t* dst_y, int width);
void ARGBToYJRow_RVV(const uint8_t* src_argb, uint8_t* dst_yj, int width);
void ABGRToYJRow_RVV(const uint8_t* src_rgba, uint8_t* dst_yj, int width);
void ABGRToYJRow_RVV(const uint8_t* src_abgr, uint8_t* dst_yj, int width);
void RGBAToYJRow_RVV(const uint8_t* src_rgba, uint8_t* dst_yj, int width);
void ARGBToYRow_LSX(const uint8_t* src_argb0, uint8_t* dst_y, int width);
void ARGBToYRow_LASX(const uint8_t* src_argb0, uint8_t* dst_y, int width);
@ -4200,7 +4200,7 @@ void ARGBToARGB4444Row_LASX(const uint8_t* src_argb,
void ARGBToRAWRow_RVV(const uint8_t* src_argb, uint8_t* dst_raw, int width);
void ARGBToABGRRow_RVV(const uint8_t* src_argb, uint8_t* dst_abgr, int width);
void ARGBToBGRARow_RVV(const uint8_t* src_argb, uint8_t* dst_rgba, int width);
void ARGBToBGRARow_RVV(const uint8_t* src_argb, uint8_t* dst_bgra, int width);
void ARGBToRGBARow_RVV(const uint8_t* src_argb, uint8_t* dst_rgb, int width);
void ARGBToRGB24Row_RVV(const uint8_t* src_argb, uint8_t* dst_rgb24, int width);
@ -4496,7 +4496,7 @@ void I422ToARGBRow_AVX512BW(const uint8_t* y_buf,
void I422ToRGBARow_AVX2(const uint8_t* y_buf,
const uint8_t* u_buf,
const uint8_t* v_buf,
uint8_t* dst_argb,
uint8_t* dst_rgba,
const struct YuvConstants* yuvconstants,
int width);
void I444ToARGBRow_SSSE3(const uint8_t* y_buf,

View File

@ -772,7 +772,7 @@ static inline void I422ToARGB4444Row_SVE_SC(
static inline void I422ToRGBARow_SVE_SC(const uint8_t* src_y,
const uint8_t* src_u,
const uint8_t* src_v,
uint8_t* dst_argb,
uint8_t* dst_rgba,
const struct YuvConstants* yuvconstants,
int width) STREAMING_COMPATIBLE {
uint64_t vl;
@ -790,8 +790,8 @@ static inline void I422ToRGBARow_SVE_SC(const uint8_t* src_y,
"1: \n" //
READYUV422_SVE I4XXTORGB_SVE RGBTORGBA8_SVE
"subs %w[width], %w[width], %w[vl] \n"
"st2h {z19.h, z20.h}, p1, [%[dst_argb]] \n"
"add %[dst_argb], %[dst_argb], %[vl], lsl #2 \n"
"st2h {z19.h, z20.h}, p1, [%[dst_rgba]] \n"
"add %[dst_rgba], %[dst_rgba], %[vl], lsl #2 \n"
"b.gt 1b \n"
// Calculate a predicate for the final iteration to deal with the tail.
@ -801,13 +801,13 @@ static inline void I422ToRGBARow_SVE_SC(const uint8_t* src_y,
"whilelt p1.h, wzr, %w[width] \n" //
READYUV422_SVE I4XXTORGB_SVE RGBTORGBA8_SVE
"st2h {z19.h, z20.h}, p1, [%[dst_argb]] \n"
"st2h {z19.h, z20.h}, p1, [%[dst_rgba]] \n"
"99: \n"
: [src_y] "+r"(src_y), // %[src_y]
[src_u] "+r"(src_u), // %[src_u]
[src_v] "+r"(src_v), // %[src_v]
[dst_argb] "+r"(dst_argb), // %[dst_argb]
[dst_rgba] "+r"(dst_rgba), // %[dst_rgba]
[width] "+r"(width), // %[width]
[vl] "=&r"(vl) // %[vl]
: [kUVCoeff] "r"(&yuvconstants->kUVCoeff), // %[kUVCoeff]

View File

@ -3357,13 +3357,13 @@ int BGRAToARGB(const uint8_t* src_bgra,
// Convert ARGB to BGRA (same as BGRAToARGB).
LIBYUV_API
int ARGBToBGRA(const uint8_t* src_bgra,
int src_stride_bgra,
uint8_t* dst_argb,
int dst_stride_argb,
int ARGBToBGRA(const uint8_t* src_argb,
int src_stride_argb,
uint8_t* dst_bgra,
int dst_stride_bgra,
int width,
int height) {
return ARGBShuffle(src_bgra, src_stride_bgra, dst_argb, dst_stride_argb,
return ARGBShuffle(src_argb, src_stride_argb, dst_bgra, dst_stride_bgra,
(const uint8_t*)&kShuffleMaskBGRAToARGB, width, height);
}
@ -3381,13 +3381,13 @@ int ABGRToARGB(const uint8_t* src_abgr,
// Convert ARGB to ABGR to (same as ABGRToARGB).
LIBYUV_API
int ARGBToABGR(const uint8_t* src_abgr,
int src_stride_abgr,
uint8_t* dst_argb,
int dst_stride_argb,
int ARGBToABGR(const uint8_t* src_argb,
int src_stride_argb,
uint8_t* dst_abgr,
int dst_stride_abgr,
int width,
int height) {
return ARGBShuffle(src_abgr, src_stride_abgr, dst_argb, dst_stride_argb,
return ARGBShuffle(src_argb, src_stride_argb, dst_abgr, dst_stride_abgr,
(const uint8_t*)&kShuffleMaskABGRToARGB, width, height);
}

View File

@ -4519,30 +4519,30 @@ int I420Interpolate(const uint8_t* src0_y,
// Shuffle ARGB channel order. e.g. BGRA to ARGB.
LIBYUV_API
int ARGBShuffle(const uint8_t* src_bgra,
int src_stride_bgra,
int ARGBShuffle(const uint8_t* src_argb,
int src_stride_argb,
uint8_t* dst_argb,
int dst_stride_argb,
const uint8_t* shuffler,
int width,
int height) {
int y;
void (*ARGBShuffleRow)(const uint8_t* src_bgra, uint8_t* dst_argb,
void (*ARGBShuffleRow)(const uint8_t* src_argb, uint8_t* dst_argb,
const uint8_t* shuffler, int width) = ARGBShuffleRow_C;
if (!src_bgra || !dst_argb || width <= 0 || height == 0) {
if (!src_argb || !dst_argb || width <= 0 || height == 0) {
return -1;
}
// Negative height means invert the image.
if (height < 0) {
height = -height;
src_bgra = src_bgra + (height - 1) * src_stride_bgra;
src_stride_bgra = -src_stride_bgra;
src_argb = src_argb + (height - 1) * src_stride_argb;
src_stride_argb = -src_stride_argb;
}
// Coalesce rows.
if (src_stride_bgra == width * 4 && dst_stride_argb == width * 4) {
if (src_stride_argb == width * 4 && dst_stride_argb == width * 4) {
width *= height;
height = 1;
src_stride_bgra = dst_stride_argb = 0;
src_stride_argb = dst_stride_argb = 0;
}
#if defined(HAS_ARGBSHUFFLEROW_SSSE3)
if (TestCpuFlag(kCpuHasSSSE3)) {
@ -4586,8 +4586,8 @@ int ARGBShuffle(const uint8_t* src_bgra,
#endif
for (y = 0; y < height; ++y) {
ARGBShuffleRow(src_bgra, dst_argb, shuffler, width);
src_bgra += src_stride_bgra;
ARGBShuffleRow(src_argb, dst_argb, shuffler, width);
src_argb += src_stride_argb;
dst_argb += dst_stride_argb;
}
return 0;

View File

@ -1368,16 +1368,16 @@ void ARGBToYJRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width) {
#ifdef HAS_ABGRTOYJROW_SSSE3
// Convert 16 ABGR pixels (64 bytes) to 16 YJ values.
// Same as ABGRToYRow but different coefficients, no add 16.
void ABGRToYJRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_argb, dst_y, width, &kAbgrJPEGConstants);
void ABGRToYJRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_abgr, dst_y, width, &kAbgrJPEGConstants);
}
#endif // HAS_ABGRTOYJROW_SSSE3
#ifdef HAS_RGBATOYJROW_SSSE3
// Convert 16 ARGB pixels (64 bytes) to 16 YJ values.
// Convert 16 RGBA pixels (64 bytes) to 16 YJ values.
// Same as ARGBToYRow but different coefficients, no add 16.
void RGBAToYJRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_argb, dst_y, width, &kRgbaJPEGConstants);
void RGBAToYJRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_rgba, dst_y, width, &kRgbaJPEGConstants);
}
#endif // HAS_RGBATOYJROW_SSSE3
@ -1399,8 +1399,8 @@ void ARGBToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
#ifdef HAS_ABGRTOYROW_AVX2
// Convert 32 ABGR pixels (128 bytes) to 32 Y values.
#ifdef HAS_ARGBTOYROW_AVX2
void ABGRToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_argb, dst_y, width, &kAbgrI601Constants);
void ABGRToYRow_AVX2(const uint8_t* src_abgr, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_abgr, dst_y, width, &kAbgrI601Constants);
}
#endif
#endif // HAS_ABGRTOYROW_AVX2
@ -1418,8 +1418,8 @@ void ARGBToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
#ifdef HAS_ABGRTOYJROW_AVX2
// Convert 32 ABGR pixels (128 bytes) to 32 Y values.
#ifdef HAS_ARGBTOYROW_AVX2
void ABGRToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_argb, dst_y, width, &kAbgrJPEGConstants);
void ABGRToYJRow_AVX2(const uint8_t* src_abgr, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_abgr, dst_y, width, &kAbgrJPEGConstants);
}
#endif
#endif // HAS_ABGRTOYJROW_AVX2
@ -1427,8 +1427,8 @@ void ABGRToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
#ifdef HAS_RGBATOYJROW_AVX2
// Convert 32 ARGB pixels (128 bytes) to 32 Y values.
#ifdef HAS_ARGBTOYROW_AVX2
void RGBAToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_argb, dst_y, width, &kRgbaJPEGConstants);
void RGBAToYJRow_AVX2(const uint8_t* src_rgba, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_rgba, dst_y, width, &kRgbaJPEGConstants);
}
#endif
#endif // HAS_RGBATOYJROW_AVX2
@ -1953,14 +1953,14 @@ void ARGBToUV444Row_SSSE3(const uint8_t* src_argb,
#ifdef HAS_ARGBTOYROW_AVX2
void RGBAToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_argb, dst_y, width, &kRgbaI601Constants);
void RGBAToYRow_AVX2(const uint8_t* src_rgba, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_rgba, dst_y, width, &kRgbaI601Constants);
}
#endif
#ifdef HAS_ARGBTOYROW_AVX2
void BGRAToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_argb, dst_y, width, &kBgraI601Constants);
void BGRAToYRow_AVX2(const uint8_t* src_bgra, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX2(src_bgra, dst_y, width, &kBgraI601Constants);
}
#endif
@ -1978,32 +1978,32 @@ void ARGBToYJRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width) {
#endif
#ifdef HAS_ARGBTOYROW_AVX512BW
void ABGRToYRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_argb, dst_y, width, &kAbgrI601Constants);
void ABGRToYRow_AVX512BW(const uint8_t* src_abgr, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_abgr, dst_y, width, &kAbgrI601Constants);
}
#endif
#ifdef HAS_ARGBTOYROW_AVX512BW
void ABGRToYJRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_argb, dst_y, width, &kAbgrJPEGConstants);
void ABGRToYJRow_AVX512BW(const uint8_t* src_abgr, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_abgr, dst_y, width, &kAbgrJPEGConstants);
}
#endif
#ifdef HAS_ARGBTOYROW_AVX512BW
void RGBAToYRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_argb, dst_y, width, &kRgbaI601Constants);
void RGBAToYRow_AVX512BW(const uint8_t* src_rgba, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_rgba, dst_y, width, &kRgbaI601Constants);
}
#endif
#ifdef HAS_ARGBTOYROW_AVX512BW
void RGBAToYJRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_argb, dst_y, width, &kRgbaJPEGConstants);
void RGBAToYJRow_AVX512BW(const uint8_t* src_rgba, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_rgba, dst_y, width, &kRgbaJPEGConstants);
}
#endif
#ifdef HAS_ARGBTOYROW_AVX512BW
void BGRAToYRow_AVX512BW(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_argb, dst_y, width, &kBgraI601Constants);
void BGRAToYRow_AVX512BW(const uint8_t* src_bgra, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_AVX512BW(src_bgra, dst_y, width, &kBgraI601Constants);
}
#endif
@ -2157,16 +2157,16 @@ void ABGRToUVJRow_AVX2(const uint8_t* src_abgr,
}
#endif // HAS_ABGRTOUVJROW_AVX2
void BGRAToYRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_argb, dst_y, width, &kBgraI601Constants);
void BGRAToYRow_SSSE3(const uint8_t* src_bgra, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_bgra, dst_y, width, &kBgraI601Constants);
}
void ABGRToYRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_argb, dst_y, width, &kAbgrI601Constants);
void ABGRToYRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_abgr, dst_y, width, &kAbgrI601Constants);
}
void RGBAToYRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_argb, dst_y, width, &kRgbaI601Constants);
void RGBAToYRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width) {
ARGBToYMatrixRow_SSSE3(src_rgba, dst_y, width, &kRgbaI601Constants);
}
#if defined(HAS_I422TOARGBROW_SSSE3) || defined(HAS_I422TOARGBROW_AVX2)

View File

@ -375,7 +375,7 @@ void I422ToARGBRow_LASX(const uint8_t* src_y,
void I422ToRGBARow_LASX(const uint8_t* src_y,
const uint8_t* src_u,
const uint8_t* src_v,
uint8_t* dst_argb,
uint8_t* dst_rgba,
const struct YuvConstants* yuvconstants,
int width) {
int x;
@ -395,7 +395,7 @@ void I422ToRGBARow_LASX(const uint8_t* src_y,
READYUV422_D(src_y, src_u, src_v, y, uv_l, uv_h);
YUVTORGB_D(y, uv_l, uv_h, vec_ubvr, vec_ugvg, vec_yg, vec_yb, b_l, b_h, g_l,
g_h, r_l, r_h);
STOREARGB_D(r_l, r_h, g_l, g_h, b_l, b_h, alpha, alpha, dst_argb);
STOREARGB_D(r_l, r_h, g_l, g_h, b_l, b_h, alpha, alpha, dst_rgba);
src_y += 32;
src_u += 16;
src_v += 16;

View File

@ -405,7 +405,7 @@ void I422ToARGBRow_LSX(const uint8_t* src_y,
void I422ToRGBARow_LSX(const uint8_t* src_y,
const uint8_t* src_u,
const uint8_t* src_v,
uint8_t* dst_argb,
uint8_t* dst_rgba,
const struct YuvConstants* yuvconstants,
int width) {
int x;
@ -425,7 +425,7 @@ void I422ToRGBARow_LSX(const uint8_t* src_y,
READYUV422_D(src_y, src_u, src_v, y, uv_l, uv_h);
YUVTORGB_D(y, uv_l, uv_h, vec_ubvr, vec_ugvg, vec_yg, vec_yb, b_l, b_h, g_l,
g_h, r_l, r_h);
STOREARGB_D(r_l, r_h, g_l, g_h, b_l, b_h, alpha, alpha, dst_argb);
STOREARGB_D(r_l, r_h, g_l, g_h, b_l, b_h, alpha, alpha, dst_rgba);
src_y += 16;
src_u += 8;
src_v += 8;

View File

@ -2014,7 +2014,7 @@ void ABGRToUVJRow_NEON(const uint8_t* src_abgr,
uint8_t* dst_vj,
int width) {
asm volatile (
"add %1, %0, %1 \n" // src_stride + src_argb
"add %1, %0, %1 \n" // src_stride + src_abgr
"vmov.s16 q10, #128 \n" // UB/VR 0.500 coefficient
"vmov.s16 q11, #85 \n" // UG -0.33126 coefficient
"vmov.s16 q12, #43 \n" // UR -0.16874 coefficient

View File

@ -148,10 +148,10 @@ void I422ToARGB4444Row_SVE2(const uint8_t* src_y,
void I422ToRGBARow_SVE2(const uint8_t* src_y,
const uint8_t* src_u,
const uint8_t* src_v,
uint8_t* dst_argb,
uint8_t* dst_rgba,
const struct YuvConstants* yuvconstants,
int width) {
I422ToRGBARow_SVE_SC(src_y, src_u, src_v, dst_argb, yuvconstants, width);
I422ToRGBARow_SVE_SC(src_y, src_u, src_v, dst_rgba, yuvconstants, width);
}
void I422ToAR30Row_SVE2(const uint8_t* src_y,