diff options
author | Frank Barchard <fbarchard@google.com> | 2018-02-06 12:03:44 -0800 |
---|---|---|
committer | Frank Barchard <fbarchard@chromium.org> | 2018-02-07 00:24:25 +0000 |
commit | e1f6c1c0b57a9210bb95e88080fa171296210296 (patch) | |
tree | e570473510f916290a85f9831ce15c0c896c18fc | |
parent | b625f7b932fb93b877e603a1addcf613a5a0c3eb (diff) | |
download | libyuv-e1f6c1c0b57a9210bb95e88080fa171296210296.tar.gz |
tidy applied with readability-inconsistent-declaration-parameter-name
Bug: libyuv:750
Test: builds and runs and passes more tidy tests
Change-Id: I023699a7aa61ea3f5e4a21647112691ea5739281
Reviewed-on: https://chromium-review.googlesource.com/902170
Reviewed-by: Weiyong Yao <braveyao@chromium.org>
-rw-r--r-- | README.chromium | 2 | ||||
-rw-r--r-- | include/libyuv/basic_types.h | 2 | ||||
-rw-r--r-- | include/libyuv/convert.h | 46 | ||||
-rw-r--r-- | include/libyuv/convert_argb.h | 46 | ||||
-rw-r--r-- | include/libyuv/convert_from.h | 54 | ||||
-rw-r--r-- | include/libyuv/convert_from_argb.h | 4 | ||||
-rw-r--r-- | include/libyuv/cpu_id.h | 2 | ||||
-rw-r--r-- | include/libyuv/planar_functions.h | 38 | ||||
-rw-r--r-- | include/libyuv/rotate.h | 12 | ||||
-rw-r--r-- | include/libyuv/row.h | 1702 | ||||
-rw-r--r-- | include/libyuv/scale.h | 11 | ||||
-rw-r--r-- | include/libyuv/scale_row.h | 106 | ||||
-rw-r--r-- | include/libyuv/version.h | 2 | ||||
-rw-r--r-- | source/convert_argb.cc | 16 | ||||
-rw-r--r-- | source/convert_from_argb.cc | 14 | ||||
-rw-r--r-- | source/convert_to_argb.cc | 76 | ||||
-rw-r--r-- | source/convert_to_i420.cc | 149 | ||||
-rw-r--r-- | source/planar_functions.cc | 16 | ||||
-rw-r--r-- | source/row_gcc.cc | 8 | ||||
-rw-r--r-- | source/row_msa.cc | 68 | ||||
-rw-r--r-- | source/row_neon.cc | 21 | ||||
-rw-r--r-- | source/row_neon64.cc | 19 | ||||
-rw-r--r-- | source/row_win.cc | 44 | ||||
-rw-r--r-- | source/scale.cc | 38 | ||||
-rw-r--r-- | util/psnr.h | 4 |
25 files changed, 1235 insertions, 1265 deletions
diff --git a/README.chromium b/README.chromium index 91a79fd6..363ecc33 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1696 +Version: 1697 License: BSD License File: LICENSE diff --git a/include/libyuv/basic_types.h b/include/libyuv/basic_types.h index 52cfee60..01d9dfc7 100644 --- a/include/libyuv/basic_types.h +++ b/include/libyuv/basic_types.h @@ -28,7 +28,7 @@ typedef unsigned char uint8_t; typedef signed char int8_t; #else #include <stdint.h> // for uintptr_t and C99 types -#endif // defined(_MSC_VER) && (_MSC_VER < 1600) +#endif // defined(_MSC_VER) && (_MSC_VER < 1600) typedef uint64_t uint64; typedef int64_t int64; typedef uint32_t uint32; diff --git a/include/libyuv/convert.h b/include/libyuv/convert.h index e8c5f355..d12ef24f 100644 --- a/include/libyuv/convert.h +++ b/include/libyuv/convert.h @@ -206,7 +206,7 @@ int Android420ToI420(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - int pixel_stride_uv, + int src_pixel_stride_uv, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -218,8 +218,8 @@ int Android420ToI420(const uint8_t* src_y, // ARGB little endian (bgra in memory) to I420. LIBYUV_API -int ARGBToI420(const uint8_t* src_frame, - int src_stride_frame, +int ARGBToI420(const uint8_t* src_argb, + int src_stride_argb, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -231,8 +231,8 @@ int ARGBToI420(const uint8_t* src_frame, // BGRA little endian (argb in memory) to I420. LIBYUV_API -int BGRAToI420(const uint8_t* src_frame, - int src_stride_frame, +int BGRAToI420(const uint8_t* src_bgra, + int src_stride_bgra, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -244,8 +244,8 @@ int BGRAToI420(const uint8_t* src_frame, // ABGR little endian (rgba in memory) to I420. LIBYUV_API -int ABGRToI420(const uint8_t* src_frame, - int src_stride_frame, +int ABGRToI420(const uint8_t* src_abgr, + int src_stride_abgr, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -257,8 +257,8 @@ int ABGRToI420(const uint8_t* src_frame, // RGBA little endian (abgr in memory) to I420. LIBYUV_API -int RGBAToI420(const uint8_t* src_frame, - int src_stride_frame, +int RGBAToI420(const uint8_t* src_rgba, + int src_stride_rgba, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -270,8 +270,8 @@ int RGBAToI420(const uint8_t* src_frame, // RGB little endian (bgr in memory) to I420. LIBYUV_API -int RGB24ToI420(const uint8_t* src_frame, - int src_stride_frame, +int RGB24ToI420(const uint8_t* src_rgb24, + int src_stride_rgb24, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -283,8 +283,8 @@ int RGB24ToI420(const uint8_t* src_frame, // RGB big endian (rgb in memory) to I420. LIBYUV_API -int RAWToI420(const uint8_t* src_frame, - int src_stride_frame, +int RAWToI420(const uint8_t* src_raw, + int src_stride_raw, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -296,8 +296,8 @@ int RAWToI420(const uint8_t* src_frame, // RGB16 (RGBP fourcc) little endian to I420. LIBYUV_API -int RGB565ToI420(const uint8_t* src_frame, - int src_stride_frame, +int RGB565ToI420(const uint8_t* src_rgb565, + int src_stride_rgb565, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -309,8 +309,8 @@ int RGB565ToI420(const uint8_t* src_frame, // RGB15 (RGBO fourcc) little endian to I420. LIBYUV_API -int ARGB1555ToI420(const uint8_t* src_frame, - int src_stride_frame, +int ARGB1555ToI420(const uint8_t* src_argb1555, + int src_stride_argb1555, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -322,8 +322,8 @@ int ARGB1555ToI420(const uint8_t* src_frame, // RGB12 (R444 fourcc) little endian to I420. LIBYUV_API -int ARGB4444ToI420(const uint8_t* src_frame, - int src_stride_frame, +int ARGB4444ToI420(const uint8_t* src_argb4444, + int src_stride_argb4444, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -378,11 +378,11 @@ int MJPGSize(const uint8_t* sample, // Must be less than or equal to src_width/src_height // Cropping parameters are pre-rotation. // "rotation" can be 0, 90, 180 or 270. -// "format" is a fourcc. ie 'I420', 'YUY2' +// "fourcc" is a fourcc. ie 'I420', 'YUY2' // Returns 0 for successful; -1 for invalid parameter. Non-zero for failure. LIBYUV_API -int ConvertToI420(const uint8_t* src_frame, - size_t src_size, +int ConvertToI420(const uint8_t* sample, + size_t sample_size, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, @@ -396,7 +396,7 @@ int ConvertToI420(const uint8_t* src_frame, int crop_width, int crop_height, enum RotationMode rotation, - uint32_t format); + uint32_t fourcc); #ifdef __cplusplus } // extern "C" diff --git a/include/libyuv/convert_argb.h b/include/libyuv/convert_argb.h index 873156fc..9343dfd7 100644 --- a/include/libyuv/convert_argb.h +++ b/include/libyuv/convert_argb.h @@ -269,8 +269,8 @@ int NV12ToABGR(const uint8_t* src_y, LIBYUV_API int NV21ToABGR(const uint8_t* src_y, int src_stride_y, - const uint8_t* src_uv, - int src_stride_uv, + const uint8_t* src_vu, + int src_stride_vu, uint8_t* dst_abgr, int dst_stride_abgr, int width, @@ -448,8 +448,8 @@ int H010ToAR30(const uint16_t* src_y, // BGRA little endian (argb in memory) to ARGB. LIBYUV_API -int BGRAToARGB(const uint8_t* src_frame, - int src_stride_frame, +int BGRAToARGB(const uint8_t* src_bgra, + int src_stride_bgra, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -457,8 +457,8 @@ int BGRAToARGB(const uint8_t* src_frame, // ABGR little endian (rgba in memory) to ARGB. LIBYUV_API -int ABGRToARGB(const uint8_t* src_frame, - int src_stride_frame, +int ABGRToARGB(const uint8_t* src_abgr, + int src_stride_abgr, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -466,8 +466,8 @@ int ABGRToARGB(const uint8_t* src_frame, // RGBA little endian (abgr in memory) to ARGB. LIBYUV_API -int RGBAToARGB(const uint8_t* src_frame, - int src_stride_frame, +int RGBAToARGB(const uint8_t* src_rgba, + int src_stride_rgba, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -478,8 +478,8 @@ int RGBAToARGB(const uint8_t* src_frame, // RGB little endian (bgr in memory) to ARGB. LIBYUV_API -int RGB24ToARGB(const uint8_t* src_frame, - int src_stride_frame, +int RGB24ToARGB(const uint8_t* src_rgb24, + int src_stride_rgb24, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -487,8 +487,8 @@ int RGB24ToARGB(const uint8_t* src_frame, // RGB big endian (rgb in memory) to ARGB. LIBYUV_API -int RAWToARGB(const uint8_t* src_frame, - int src_stride_frame, +int RAWToARGB(const uint8_t* src_raw, + int src_stride_raw, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -496,8 +496,8 @@ int RAWToARGB(const uint8_t* src_frame, // RGB16 (RGBP fourcc) little endian to ARGB. LIBYUV_API -int RGB565ToARGB(const uint8_t* src_frame, - int src_stride_frame, +int RGB565ToARGB(const uint8_t* src_rgb565, + int src_stride_rgb565, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -505,8 +505,8 @@ int RGB565ToARGB(const uint8_t* src_frame, // RGB15 (RGBO fourcc) little endian to ARGB. LIBYUV_API -int ARGB1555ToARGB(const uint8_t* src_frame, - int src_stride_frame, +int ARGB1555ToARGB(const uint8_t* src_argb1555, + int src_stride_argb1555, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -514,8 +514,8 @@ int ARGB1555ToARGB(const uint8_t* src_frame, // RGB12 (R444 fourcc) little endian to ARGB. LIBYUV_API -int ARGB4444ToARGB(const uint8_t* src_frame, - int src_stride_frame, +int ARGB4444ToARGB(const uint8_t* src_argb4444, + int src_stride_argb4444, uint8_t* dst_argb, int dst_stride_argb, int width, @@ -582,7 +582,7 @@ int Android420ToABGR(const uint8_t* src_y, int height); // Convert camera sample to ARGB with cropping, rotation and vertical flip. -// "src_size" is needed to parse MJPG. +// "sample_size" is needed to parse MJPG. // "dst_stride_argb" number of bytes in a row of the dst_argb plane. // Normally this would be the same as dst_width, with recommended alignment // to 16 bytes for better efficiency. @@ -601,11 +601,11 @@ int Android420ToABGR(const uint8_t* src_y, // Must be less than or equal to src_width/src_height // Cropping parameters are pre-rotation. // "rotation" can be 0, 90, 180 or 270. -// "format" is a fourcc. ie 'I420', 'YUY2' +// "fourcc" is a fourcc. ie 'I420', 'YUY2' // Returns 0 for successful; -1 for invalid parameter. Non-zero for failure. LIBYUV_API -int ConvertToARGB(const uint8_t* src_frame, - size_t src_size, +int ConvertToARGB(const uint8_t* sample, + size_t sample_size, uint8_t* dst_argb, int dst_stride_argb, int crop_x, @@ -615,7 +615,7 @@ int ConvertToARGB(const uint8_t* src_frame, int crop_width, int crop_height, enum RotationMode rotation, - uint32_t format); + uint32_t fourcc); #ifdef __cplusplus } // extern "C" diff --git a/include/libyuv/convert_from.h b/include/libyuv/convert_from.h index ad8ae189..5cd8a4bf 100644 --- a/include/libyuv/convert_from.h +++ b/include/libyuv/convert_from.h @@ -114,8 +114,8 @@ int I420ToYUY2(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_yuy2, + int dst_stride_yuy2, int width, int height); @@ -126,8 +126,8 @@ int I420ToUYVY(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_uyvy, + int dst_stride_uyvy, int width, int height); @@ -150,8 +150,8 @@ int I420ToBGRA(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_argb, - int dst_stride_argb, + uint8_t* dst_bgra, + int dst_stride_bgra, int width, int height); @@ -162,8 +162,8 @@ int I420ToABGR(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_argb, - int dst_stride_argb, + uint8_t* dst_abgr, + int dst_stride_abgr, int width, int height); @@ -186,8 +186,8 @@ int I420ToRGB24(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_rgb24, + int dst_stride_rgb24, int width, int height); @@ -198,8 +198,8 @@ int I420ToRAW(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_raw, + int dst_stride_raw, int width, int height); @@ -210,8 +210,8 @@ int H420ToRGB24(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_rgb24, + int dst_stride_rgb24, int width, int height); @@ -222,8 +222,8 @@ int H420ToRAW(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_raw, + int dst_stride_raw, int width, int height); @@ -234,8 +234,8 @@ int I420ToRGB565(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_rgb565, + int dst_stride_rgb565, int width, int height); @@ -246,8 +246,8 @@ int I422ToRGB565(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_rgb565, + int dst_stride_rgb565, int width, int height); @@ -262,8 +262,8 @@ int I420ToRGB565Dither(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_rgb565, + int dst_stride_rgb565, const uint8_t* dither4x4, int width, int height); @@ -275,8 +275,8 @@ int I420ToARGB1555(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_argb1555, + int dst_stride_argb1555, int width, int height); @@ -287,8 +287,8 @@ int I420ToARGB4444(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_argb4444, + int dst_stride_argb4444, int width, int height); @@ -332,7 +332,7 @@ int ConvertFromI420(const uint8_t* y, int dst_sample_stride, int width, int height, - uint32_t format); + uint32_t fourcc); #ifdef __cplusplus } // extern "C" diff --git a/include/libyuv/convert_from_argb.h b/include/libyuv/convert_from_argb.h index a0482657..857b46c5 100644 --- a/include/libyuv/convert_from_argb.h +++ b/include/libyuv/convert_from_argb.h @@ -86,8 +86,8 @@ int ARGBToRGB24(const uint8_t* src_argb, LIBYUV_API int ARGBToRAW(const uint8_t* src_argb, int src_stride_argb, - uint8_t* dst_rgb, - int dst_stride_rgb, + uint8_t* dst_raw, + int dst_stride_raw, int width, int height); diff --git a/include/libyuv/cpu_id.h b/include/libyuv/cpu_id.h index 14f735f5..91480c68 100644 --- a/include/libyuv/cpu_id.h +++ b/include/libyuv/cpu_id.h @@ -84,7 +84,7 @@ int MaskCpuFlags(int enable_flags); // eax is the info type that you want. // ecx is typically the cpu number, and should normally be zero. LIBYUV_API -void CpuId(int eax, int ecx, int* cpu_info); +void CpuId(int info_eax, int info_ecx, int* cpu_info); #ifdef __cplusplus } // extern "C" diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h index 831dea90..324bb1ed 100644 --- a/include/libyuv/planar_functions.h +++ b/include/libyuv/planar_functions.h @@ -373,8 +373,8 @@ int I420Rect(uint8_t* dst_y, LIBYUV_API int ARGBRect(uint8_t* dst_argb, int dst_stride_argb, - int x, - int y, + int dst_x, + int dst_y, int width, int height, uint32_t value); @@ -392,8 +392,8 @@ int ARGBGrayTo(const uint8_t* src_argb, LIBYUV_API int ARGBGray(uint8_t* dst_argb, int dst_stride_argb, - int x, - int y, + int dst_x, + int dst_y, int width, int height); @@ -401,8 +401,8 @@ int ARGBGray(uint8_t* dst_argb, LIBYUV_API int ARGBSepia(uint8_t* dst_argb, int dst_stride_argb, - int x, - int y, + int dst_x, + int dst_y, int width, int height); @@ -431,8 +431,8 @@ LIBYUV_API int RGBColorMatrix(uint8_t* dst_argb, int dst_stride_argb, const int8_t* matrix_rgb, - int x, - int y, + int dst_x, + int dst_y, int width, int height); @@ -442,8 +442,8 @@ LIBYUV_API int ARGBColorTable(uint8_t* dst_argb, int dst_stride_argb, const uint8_t* table_argb, - int x, - int y, + int dst_x, + int dst_y, int width, int height); @@ -453,8 +453,8 @@ LIBYUV_API int RGBColorTable(uint8_t* dst_argb, int dst_stride_argb, const uint8_t* table_argb, - int x, - int y, + int dst_x, + int dst_y, int width, int height); @@ -466,7 +466,7 @@ int ARGBLumaColorTable(const uint8_t* src_argb, int src_stride_argb, uint8_t* dst_argb, int dst_stride_argb, - const uint8_t* luma_rgb_table, + const uint8_t* luma, int width, int height); @@ -508,8 +508,8 @@ int ARGBQuantize(uint8_t* dst_argb, int scale, int interval_size, int interval_offset, - int x, - int y, + int dst_x, + int dst_y, int width, int height); @@ -653,8 +653,8 @@ int I422ToYUY2(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_yuy2, + int dst_stride_yuy2, int width, int height); @@ -666,8 +666,8 @@ int I422ToUYVY(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int src_stride_v, - uint8_t* dst_frame, - int dst_stride_frame, + uint8_t* dst_uyvy, + int dst_stride_uyvy, int width, int height); diff --git a/include/libyuv/rotate.h b/include/libyuv/rotate.h index 9cbce886..76b692be 100644 --- a/include/libyuv/rotate.h +++ b/include/libyuv/rotate.h @@ -45,8 +45,8 @@ int I420Rotate(const uint8_t* src_y, int dst_stride_u, uint8_t* dst_v, int dst_stride_v, - int src_width, - int src_height, + int width, + int height, enum RotationMode mode); // Rotate NV12 input and store in I420. @@ -61,8 +61,8 @@ int NV12ToI420Rotate(const uint8_t* src_y, int dst_stride_u, uint8_t* dst_v, int dst_stride_v, - int src_width, - int src_height, + int width, + int height, enum RotationMode mode); // Rotate a plane by 0, 90, 180, or 270. @@ -71,8 +71,8 @@ int RotatePlane(const uint8_t* src, int src_stride, uint8_t* dst, int dst_stride, - int src_width, - int src_height, + int width, + int height, enum RotationMode mode); // Rotate planes by 90, 180, 270. Deprecated. diff --git a/include/libyuv/row.h b/include/libyuv/row.h index 069baade..a5132746 100644 --- a/include/libyuv/row.h +++ b/include/libyuv/row.h @@ -727,20 +727,20 @@ void I422ToARGBRow_MSA(const uint8_t* src_y, void I422ToRGBARow_MSA(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_rgba, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I422AlphaToARGBRow_MSA(const uint8_t* y_buf, - const uint8_t* u_buf, - const uint8_t* v_buf, - const uint8_t* a_buf, +void I422AlphaToARGBRow_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + const uint8_t* src_a, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); void I422ToRGB24Row_MSA(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_rgb24, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); void I422ToRGB565Row_MSA(const uint8_t* src_y, @@ -786,10 +786,10 @@ void UYVYToARGBRow_MSA(const uint8_t* src_uyvy, int width); void ARGBToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width); -void ARGBToYRow_Any_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ARGBToYRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); void ARGBToYRow_SSSE3(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_argb, uint8_t* dst_y, int width); +void ARGBToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); void ARGBToYJRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width); void BGRAToYRow_SSSE3(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); @@ -798,8 +798,8 @@ void RGB24ToYRow_SSSE3(const uint8_t* src_rgb24, uint8_t* dst_y, int width); void RAWToYRow_SSSE3(const uint8_t* src_raw, uint8_t* dst_y, int width); void ARGBToYRow_NEON(const uint8_t* src_argb, uint8_t* dst_y, int width); void ARGBToYJRow_NEON(const uint8_t* src_argb, uint8_t* dst_y, int width); -void ARGBToYRow_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); -void ARGBToYJRow_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ARGBToYRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ARGBToYJRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); void ARGBToUV444Row_NEON(const uint8_t* src_argb, uint8_t* dst_u, uint8_t* dst_v, @@ -813,7 +813,7 @@ void ARGBToUV444Row_MSA(const uint8_t* src_argb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_MSA(const uint8_t* src_argb, +void ARGBToUVRow_MSA(const uint8_t* src_argb0, int src_stride_argb, uint8_t* dst_u, uint8_t* dst_v, @@ -863,33 +863,33 @@ void ARGB4444ToUVRow_NEON(const uint8_t* src_argb4444, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_MSA(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVJRow_MSA(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void BGRAToUVRow_MSA(const uint8_t* src_bgra, - int src_stride_bgra, +void BGRAToUVRow_MSA(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ABGRToUVRow_MSA(const uint8_t* src_abgr, - int src_stride_abgr, +void ABGRToUVRow_MSA(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGBAToUVRow_MSA(const uint8_t* src_rgba, - int src_stride_rgba, +void RGBAToUVRow_MSA(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGB24ToUVRow_MSA(const uint8_t* src_rgb24, - int src_stride_rgb24, +void RGB24ToUVRow_MSA(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void RAWToUVRow_MSA(const uint8_t* src_raw, - int src_stride_raw, +void RAWToUVRow_MSA(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -915,273 +915,271 @@ void ARGB1555ToYRow_NEON(const uint8_t* src_argb1555, void ARGB4444ToYRow_NEON(const uint8_t* src_argb4444, uint8_t* dst_y, int width); -void BGRAToYRow_MSA(const uint8_t* src_bgra, uint8_t* dst_y, int width); -void ABGRToYRow_MSA(const uint8_t* src_abgr, uint8_t* dst_y, int width); -void RGBAToYRow_MSA(const uint8_t* src_rgba, uint8_t* dst_y, int width); -void RGB24ToYRow_MSA(const uint8_t* src_rgb24, uint8_t* dst_y, int width); -void RAWToYRow_MSA(const uint8_t* src_raw, uint8_t* dst_y, int width); +void BGRAToYRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ABGRToYRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void RGBAToYRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void RGB24ToYRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void RAWToYRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); void RGB565ToYRow_MSA(const uint8_t* src_rgb565, uint8_t* dst_y, int width); void ARGB1555ToYRow_MSA(const uint8_t* src_argb1555, uint8_t* dst_y, int width); -void ARGBToYRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); -void ARGBToYJRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); -void BGRAToYRow_C(const uint8_t* src_bgra, uint8_t* dst_y, int width); -void ABGRToYRow_C(const uint8_t* src_abgr, uint8_t* dst_y, int width); -void RGBAToYRow_C(const uint8_t* src_rgba, uint8_t* dst_y, int width); -void RGB24ToYRow_C(const uint8_t* src_rgb24, uint8_t* dst_y, int width); -void RAWToYRow_C(const uint8_t* src_raw, uint8_t* dst_y, int width); +void ARGBToYRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ARGBToYJRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void BGRAToYRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ABGRToYRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void RGBAToYRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void RGB24ToYRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void RAWToYRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); void RGB565ToYRow_C(const uint8_t* src_rgb565, uint8_t* dst_y, int width); void ARGB1555ToYRow_C(const uint8_t* src_argb1555, uint8_t* dst_y, int width); void ARGB4444ToYRow_C(const uint8_t* src_argb4444, uint8_t* dst_y, int width); -void ARGBToYRow_Any_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width); -void ARGBToYJRow_Any_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width); -void BGRAToYRow_Any_SSSE3(const uint8_t* src_bgra, uint8_t* dst_y, int width); -void ABGRToYRow_Any_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width); -void RGBAToYRow_Any_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width); +void ARGBToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void BGRAToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); void RGB24ToYRow_Any_SSSE3(const uint8_t* src_rgb24, uint8_t* dst_y, int width); void RAWToYRow_Any_SSSE3(const uint8_t* src_raw, uint8_t* dst_y, int width); -void ARGBToYRow_Any_NEON(const uint8_t* src_argb, uint8_t* dst_y, int width); -void ARGBToYJRow_Any_NEON(const uint8_t* src_argb, uint8_t* dst_y, int width); -void BGRAToYRow_Any_NEON(const uint8_t* src_bgra, uint8_t* dst_y, int width); -void ABGRToYRow_Any_NEON(const uint8_t* src_abgr, uint8_t* dst_y, int width); -void RGBAToYRow_Any_NEON(const uint8_t* src_rgba, uint8_t* dst_y, int width); -void RGB24ToYRow_Any_NEON(const uint8_t* src_rgb24, uint8_t* dst_y, int width); -void RAWToYRow_Any_NEON(const uint8_t* src_raw, uint8_t* dst_y, int width); -void RGB565ToYRow_Any_NEON(const uint8_t* src_rgb565, - uint8_t* dst_y, - int width); -void ARGB1555ToYRow_Any_NEON(const uint8_t* src_argb1555, - uint8_t* dst_y, +void ARGBToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void BGRAToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB565ToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGB1555ToYRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGB4444ToYRow_Any_NEON(const uint8_t* src_argb4444, - uint8_t* dst_y, +void ARGB4444ToYRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void BGRAToYRow_Any_MSA(const uint8_t* src_bgra, uint8_t* dst_y, int width); -void ABGRToYRow_Any_MSA(const uint8_t* src_abgr, uint8_t* dst_y, int width); -void RGBAToYRow_Any_MSA(const uint8_t* src_rgba, uint8_t* dst_y, int width); -void ARGBToYJRow_Any_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); -void ARGBToYRow_Any_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); -void RGB24ToYRow_Any_MSA(const uint8_t* src_rgb24, uint8_t* dst_y, int width); -void RAWToYRow_Any_MSA(const uint8_t* src_raw, uint8_t* dst_y, int width); -void RGB565ToYRow_Any_MSA(const uint8_t* src_rgb565, uint8_t* dst_y, int width); -void ARGB1555ToYRow_Any_MSA(const uint8_t* src_argb1555, - uint8_t* dst_y, - int width); - -void ARGBToUVRow_AVX2(const uint8_t* src_argb, +void BGRAToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB565ToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGB1555ToYRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGBToUVRow_AVX2(const uint8_t* src_argb0, int src_stride_argb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_AVX2(const uint8_t* src_argb, +void ARGBToUVJRow_AVX2(const uint8_t* src_argb0, int src_stride_argb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_SSSE3(const uint8_t* src_argb, +void ARGBToUVRow_SSSE3(const uint8_t* src_argb0, int src_stride_argb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_SSSE3(const uint8_t* src_argb, +void ARGBToUVJRow_SSSE3(const uint8_t* src_argb0, int src_stride_argb, uint8_t* dst_u, uint8_t* dst_v, int width); -void BGRAToUVRow_SSSE3(const uint8_t* src_bgra, +void BGRAToUVRow_SSSE3(const uint8_t* src_bgra0, int src_stride_bgra, uint8_t* dst_u, uint8_t* dst_v, int width); -void ABGRToUVRow_SSSE3(const uint8_t* src_abgr, +void ABGRToUVRow_SSSE3(const uint8_t* src_abgr0, int src_stride_abgr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGBAToUVRow_SSSE3(const uint8_t* src_rgba, +void RGBAToUVRow_SSSE3(const uint8_t* src_rgba0, int src_stride_rgba, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_Any_AVX2(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_Any_AVX2(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVJRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_Any_SSSE3(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_Any_SSSE3(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVJRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void BGRAToUVRow_Any_SSSE3(const uint8_t* src_bgra, - int src_stride_bgra, +void BGRAToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ABGRToUVRow_Any_SSSE3(const uint8_t* src_abgr, - int src_stride_abgr, +void ABGRToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGBAToUVRow_Any_SSSE3(const uint8_t* src_rgba, - int src_stride_rgba, +void RGBAToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUV444Row_Any_NEON(const uint8_t* src_argb, +void ARGBToUV444Row_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_Any_NEON(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUV444Row_Any_MSA(const uint8_t* src_argb, +void ARGBToUV444Row_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_Any_MSA(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_Any_NEON(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVJRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void BGRAToUVRow_Any_NEON(const uint8_t* src_bgra, - int src_stride_bgra, +void BGRAToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ABGRToUVRow_Any_NEON(const uint8_t* src_abgr, - int src_stride_abgr, +void ABGRToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGBAToUVRow_Any_NEON(const uint8_t* src_rgba, - int src_stride_rgba, +void RGBAToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGB24ToUVRow_Any_NEON(const uint8_t* src_rgb24, - int src_stride_rgb24, +void RGB24ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RAWToUVRow_Any_NEON(const uint8_t* src_raw, - int src_stride_raw, +void RAWToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGB565ToUVRow_Any_NEON(const uint8_t* src_rgb565, - int src_stride_rgb565, +void RGB565ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGB1555ToUVRow_Any_NEON(const uint8_t* src_argb1555, - int src_stride_argb1555, +void ARGB1555ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGB4444ToUVRow_Any_NEON(const uint8_t* src_argb4444, - int src_stride_argb4444, +void ARGB4444ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_Any_MSA(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVJRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void BGRAToUVRow_Any_MSA(const uint8_t* src_bgra, - int src_stride_bgra, +void BGRAToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ABGRToUVRow_Any_MSA(const uint8_t* src_abgr, - int src_stride_abgr, +void ABGRToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGBAToUVRow_Any_MSA(const uint8_t* src_rgba, - int src_stride_rgba, +void RGBAToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGB24ToUVRow_Any_MSA(const uint8_t* src_rgb24, - int src_stride_rgb24, +void RGB24ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RAWToUVRow_Any_MSA(const uint8_t* src_raw, - int src_stride_raw, +void RAWToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGB565ToUVRow_Any_MSA(const uint8_t* src_rgb565, - int src_stride_rgb565, +void RGB565ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGB1555ToUVRow_Any_MSA(const uint8_t* src_argb1555, - int src_stride_argb1555, +void ARGB1555ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_C(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_C(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVJRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVRow_C(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUVJRow_C(const uint8_t* src_argb, - int src_stride_argb, +void ARGBToUVJRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void BGRAToUVRow_C(const uint8_t* src_bgra, - int src_stride_bgra, +void BGRAToUVRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ABGRToUVRow_C(const uint8_t* src_abgr, - int src_stride_abgr, +void ABGRToUVRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGBAToUVRow_C(const uint8_t* src_rgba, - int src_stride_rgba, +void RGBAToUVRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void RGB24ToUVRow_C(const uint8_t* src_rgb24, - int src_stride_rgb24, +void RGB24ToUVRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); -void RAWToUVRow_C(const uint8_t* src_raw, - int src_stride_raw, +void RAWToUVRow_C(const uint8_t* src_rgb0, + int src_stride_rgb, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -1205,7 +1203,7 @@ void ARGBToUV444Row_SSSE3(const uint8_t* src_argb, uint8_t* dst_u, uint8_t* dst_v, int width); -void ARGBToUV444Row_Any_SSSE3(const uint8_t* src_argb, +void ARGBToUV444Row_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -1220,13 +1218,13 @@ void MirrorRow_SSSE3(const uint8_t* src, uint8_t* dst, int width); void MirrorRow_NEON(const uint8_t* src, uint8_t* dst, int width); void MirrorRow_MSA(const uint8_t* src, uint8_t* dst, int width); void MirrorRow_C(const uint8_t* src, uint8_t* dst, int width); -void MirrorRow_Any_AVX2(const uint8_t* src, uint8_t* dst, int width); -void MirrorRow_Any_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); void MirrorRow_Any_SSE2(const uint8_t* src, uint8_t* dst, int width); -void MirrorRow_Any_NEON(const uint8_t* src, uint8_t* dst, int width); -void MirrorRow_Any_MSA(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); -void MirrorUVRow_SSSE3(const uint8_t* src_uv, +void MirrorUVRow_SSSE3(const uint8_t* src, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -1248,10 +1246,16 @@ void ARGBMirrorRow_SSE2(const uint8_t* src, uint8_t* dst, int width); void ARGBMirrorRow_NEON(const uint8_t* src, uint8_t* dst, int width); void ARGBMirrorRow_MSA(const uint8_t* src, uint8_t* dst, int width); void ARGBMirrorRow_C(const uint8_t* src, uint8_t* dst, int width); -void ARGBMirrorRow_Any_AVX2(const uint8_t* src, uint8_t* dst, int width); -void ARGBMirrorRow_Any_SSE2(const uint8_t* src, uint8_t* dst, int width); -void ARGBMirrorRow_Any_NEON(const uint8_t* src, uint8_t* dst, int width); -void ARGBMirrorRow_Any_MSA(const uint8_t* src, uint8_t* dst, int width); +void ARGBMirrorRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBMirrorRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBMirrorRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBMirrorRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); void SplitUVRow_C(const uint8_t* src_uv, uint8_t* dst_u, @@ -1273,19 +1277,19 @@ void SplitUVRow_MSA(const uint8_t* src_uv, uint8_t* dst_u, uint8_t* dst_v, int width); -void SplitUVRow_Any_SSE2(const uint8_t* src_uv, +void SplitUVRow_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void SplitUVRow_Any_AVX2(const uint8_t* src_uv, +void SplitUVRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void SplitUVRow_Any_NEON(const uint8_t* src_uv, +void SplitUVRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void SplitUVRow_Any_MSA(const uint8_t* src_uv, +void SplitUVRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -1310,21 +1314,21 @@ void MergeUVRow_MSA(const uint8_t* src_u, const uint8_t* src_v, uint8_t* dst_uv, int width); -void MergeUVRow_Any_SSE2(const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uv, +void MergeUVRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void MergeUVRow_Any_AVX2(const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uv, +void MergeUVRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void MergeUVRow_Any_NEON(const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uv, +void MergeUVRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void MergeUVRow_Any_MSA(const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uv, +void MergeUVRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); void SplitRGBRow_C(const uint8_t* src_rgb, @@ -1342,12 +1346,12 @@ void SplitRGBRow_NEON(const uint8_t* src_rgb, uint8_t* dst_g, uint8_t* dst_b, int width); -void SplitRGBRow_Any_SSSE3(const uint8_t* src_rgb, +void SplitRGBRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_r, uint8_t* dst_g, uint8_t* dst_b, int width); -void SplitRGBRow_Any_NEON(const uint8_t* src_rgb, +void SplitRGBRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_r, uint8_t* dst_g, uint8_t* dst_b, @@ -1368,10 +1372,10 @@ void MergeRGBRow_NEON(const uint8_t* src_r, const uint8_t* src_b, uint8_t* dst_rgb, int width); -void MergeRGBRow_Any_SSSE3(const uint8_t* src_r, - const uint8_t* src_g, - const uint8_t* src_b, - uint8_t* dst_rgb, +void MergeRGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); void MergeRGBRow_Any_NEON(const uint8_t* src_r, const uint8_t* src_g, @@ -1411,12 +1415,12 @@ void Convert8To16Row_AVX2(const uint8_t* src_y, uint16_t* dst_y, int scale, int width); -void Convert8To16Row_Any_SSE2(const uint8_t* src_y, - uint16_t* dst_y, +void Convert8To16Row_Any_SSE2(const uint8_t* src_ptr, + uint16_t* dst_ptr, int scale, int width); -void Convert8To16Row_Any_AVX2(const uint8_t* src_y, - uint16_t* dst_y, +void Convert8To16Row_Any_AVX2(const uint8_t* src_ptr, + uint16_t* dst_ptr, int scale, int width); @@ -1432,39 +1436,35 @@ void Convert16To8Row_AVX2(const uint16_t* src_y, uint8_t* dst_y, int scale, int width); -void Convert16To8Row_Any_SSSE3(const uint16_t* src_y, - uint8_t* dst_y, +void Convert16To8Row_Any_SSSE3(const uint16_t* src_ptr, + uint8_t* dst_ptr, int scale, int width); -void Convert16To8Row_Any_AVX2(const uint16_t* src_y, - uint8_t* dst_y, +void Convert16To8Row_Any_AVX2(const uint16_t* src_ptr, + uint8_t* dst_ptr, int scale, int width); void CopyRow_SSE2(const uint8_t* src, uint8_t* dst, int count); void CopyRow_AVX(const uint8_t* src, uint8_t* dst, int count); -void CopyRow_ERMS(const uint8_t* src, uint8_t* dst, int count); -void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int count); +void CopyRow_ERMS(const uint8_t* src, uint8_t* dst, int width); +void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int width); void CopyRow_MIPS(const uint8_t* src, uint8_t* dst, int count); void CopyRow_C(const uint8_t* src, uint8_t* dst, int count); -void CopyRow_Any_SSE2(const uint8_t* src, uint8_t* dst, int count); -void CopyRow_Any_AVX(const uint8_t* src, uint8_t* dst, int count); -void CopyRow_Any_NEON(const uint8_t* src, uint8_t* dst, int count); +void CopyRow_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void CopyRow_Any_AVX(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void CopyRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); void CopyRow_16_C(const uint16_t* src, uint16_t* dst, int count); -void ARGBCopyAlphaRow_C(const uint8_t* src_argb, uint8_t* dst_argb, int width); -void ARGBCopyAlphaRow_SSE2(const uint8_t* src_argb, - uint8_t* dst_argb, - int width); -void ARGBCopyAlphaRow_AVX2(const uint8_t* src_argb, - uint8_t* dst_argb, - int width); -void ARGBCopyAlphaRow_Any_SSE2(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBCopyAlphaRow_C(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyAlphaRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyAlphaRow_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyAlphaRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBCopyAlphaRow_Any_AVX2(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBCopyAlphaRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); void ARGBExtractAlphaRow_C(const uint8_t* src_argb, uint8_t* dst_a, int width); @@ -1480,47 +1480,43 @@ void ARGBExtractAlphaRow_NEON(const uint8_t* src_argb, void ARGBExtractAlphaRow_MSA(const uint8_t* src_argb, uint8_t* dst_a, int width); -void ARGBExtractAlphaRow_Any_SSE2(const uint8_t* src_argb, - uint8_t* dst_a, +void ARGBExtractAlphaRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBExtractAlphaRow_Any_AVX2(const uint8_t* src_argb, - uint8_t* dst_a, +void ARGBExtractAlphaRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBExtractAlphaRow_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_a, +void ARGBExtractAlphaRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBExtractAlphaRow_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_a, +void ARGBExtractAlphaRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBCopyYToAlphaRow_C(const uint8_t* src_y, uint8_t* dst_argb, int width); -void ARGBCopyYToAlphaRow_SSE2(const uint8_t* src_y, - uint8_t* dst_argb, - int width); -void ARGBCopyYToAlphaRow_AVX2(const uint8_t* src_y, - uint8_t* dst_argb, - int width); -void ARGBCopyYToAlphaRow_Any_SSE2(const uint8_t* src_y, - uint8_t* dst_argb, +void ARGBCopyYToAlphaRow_C(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyYToAlphaRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyYToAlphaRow_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyYToAlphaRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBCopyYToAlphaRow_Any_AVX2(const uint8_t* src_y, - uint8_t* dst_argb, +void ARGBCopyYToAlphaRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void SetRow_C(uint8_t* dst, uint8_t v8, int count); -void SetRow_MSA(uint8_t* dst, uint8_t v8, int count); -void SetRow_X86(uint8_t* dst, uint8_t v8, int count); -void SetRow_ERMS(uint8_t* dst, uint8_t v8, int count); -void SetRow_NEON(uint8_t* dst, uint8_t v8, int count); -void SetRow_Any_X86(uint8_t* dst, uint8_t v8, int count); -void SetRow_Any_NEON(uint8_t* dst, uint8_t v8, int count); - -void ARGBSetRow_C(uint8_t* dst_argb, uint32_t v32, int count); -void ARGBSetRow_X86(uint8_t* dst_argb, uint32_t v32, int count); -void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int count); -void ARGBSetRow_Any_NEON(uint8_t* dst_argb, uint32_t v32, int count); -void ARGBSetRow_MSA(uint8_t* dst_argb, uint32_t v32, int count); -void ARGBSetRow_Any_MSA(uint8_t* dst_argb, uint32_t v32, int count); +void SetRow_C(uint8_t* dst, uint8_t v8, int width); +void SetRow_MSA(uint8_t* dst, uint8_t v8, int width); +void SetRow_X86(uint8_t* dst, uint8_t v8, int width); +void SetRow_ERMS(uint8_t* dst, uint8_t v8, int width); +void SetRow_NEON(uint8_t* dst, uint8_t v8, int width); +void SetRow_Any_X86(uint8_t* dst_ptr, uint8_t v32, int width); +void SetRow_Any_NEON(uint8_t* dst_ptr, uint8_t v32, int width); + +void ARGBSetRow_C(uint8_t* dst_argb, uint32_t v32, int width); +void ARGBSetRow_X86(uint8_t* dst_argb, uint32_t v32, int width); +void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int width); +void ARGBSetRow_Any_NEON(uint8_t* dst_ptr, uint32_t v32, int width); +void ARGBSetRow_MSA(uint8_t* dst_argb, uint32_t v32, int width); +void ARGBSetRow_Any_MSA(uint8_t* dst_ptr, uint32_t v32, int width); // ARGBShufflers for BGRAToARGB etc. void ARGBShuffleRow_C(const uint8_t* src_argb, @@ -1543,21 +1539,21 @@ void ARGBShuffleRow_MSA(const uint8_t* src_argb, uint8_t* dst_argb, const uint8_t* shuffler, int width); -void ARGBShuffleRow_Any_SSSE3(const uint8_t* src_argb, - uint8_t* dst_argb, - const uint8_t* shuffler, +void ARGBShuffleRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, int width); -void ARGBShuffleRow_Any_AVX2(const uint8_t* src_argb, - uint8_t* dst_argb, - const uint8_t* shuffler, +void ARGBShuffleRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, int width); -void ARGBShuffleRow_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_argb, - const uint8_t* shuffler, +void ARGBShuffleRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, int width); -void ARGBShuffleRow_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_argb, - const uint8_t* shuffler, +void ARGBShuffleRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, int width); void RGB24ToARGBRow_SSSE3(const uint8_t* src_rgb24, @@ -1565,15 +1561,9 @@ void RGB24ToARGBRow_SSSE3(const uint8_t* src_rgb24, int width); void RAWToARGBRow_SSSE3(const uint8_t* src_raw, uint8_t* dst_argb, int width); void RAWToRGB24Row_SSSE3(const uint8_t* src_raw, uint8_t* dst_rgb24, int width); -void RGB565ToARGBRow_SSE2(const uint8_t* src_rgb565, - uint8_t* dst_argb, - int width); -void ARGB1555ToARGBRow_SSE2(const uint8_t* src_argb1555, - uint8_t* dst_argb, - int width); -void ARGB4444ToARGBRow_SSE2(const uint8_t* src_argb4444, - uint8_t* dst_argb, - int width); +void RGB565ToARGBRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGB1555ToARGBRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGB4444ToARGBRow_SSE2(const uint8_t* src, uint8_t* dst, int width); void RGB565ToARGBRow_AVX2(const uint8_t* src_rgb565, uint8_t* dst_argb, int width); @@ -1613,29 +1603,33 @@ void ARGB4444ToARGBRow_MSA(const uint8_t* src_argb4444, void RGB24ToARGBRow_C(const uint8_t* src_rgb24, uint8_t* dst_argb, int width); void RAWToARGBRow_C(const uint8_t* src_raw, uint8_t* dst_argb, int width); void RAWToRGB24Row_C(const uint8_t* src_raw, uint8_t* dst_rgb24, int width); -void RGB565ToARGBRow_C(const uint8_t* src_rgb, uint8_t* dst_argb, int width); -void ARGB1555ToARGBRow_C(const uint8_t* src_argb, uint8_t* dst_argb, int width); -void ARGB4444ToARGBRow_C(const uint8_t* src_argb, uint8_t* dst_argb, int width); +void RGB565ToARGBRow_C(const uint8_t* src_rgb565, uint8_t* dst_argb, int width); +void ARGB1555ToARGBRow_C(const uint8_t* src_argb1555, + uint8_t* dst_argb, + int width); +void ARGB4444ToARGBRow_C(const uint8_t* src_argb4444, + uint8_t* dst_argb, + int width); void AR30ToARGBRow_C(const uint8_t* src_ar30, uint8_t* dst_argb, int width); void AR30ToABGRRow_C(const uint8_t* src_ar30, uint8_t* dst_abgr, int width); -void RGB24ToARGBRow_Any_SSSE3(const uint8_t* src_rgb24, - uint8_t* dst_argb, +void RGB24ToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void RAWToARGBRow_Any_SSSE3(const uint8_t* src_raw, - uint8_t* dst_argb, +void RAWToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void RAWToRGB24Row_Any_SSSE3(const uint8_t* src_raw, - uint8_t* dst_rgb24, +void RAWToRGB24Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void RGB565ToARGBRow_Any_SSE2(const uint8_t* src_rgb565, - uint8_t* dst_argb, +void RGB565ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGB1555ToARGBRow_Any_SSE2(const uint8_t* src_argb1555, - uint8_t* dst_argb, +void ARGB1555ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGB4444ToARGBRow_Any_SSE2(const uint8_t* src_argb4444, - uint8_t* dst_argb, +void ARGB4444ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); void RGB565ToARGBRow_Any_AVX2(const uint8_t* src_rgb565, uint8_t* dst_argb, @@ -1647,64 +1641,56 @@ void ARGB4444ToARGBRow_Any_AVX2(const uint8_t* src_argb4444, uint8_t* dst_argb, int width); -void RGB24ToARGBRow_Any_NEON(const uint8_t* src_rgb24, - uint8_t* dst_argb, +void RGB24ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void RGB24ToARGBRow_Any_MSA(const uint8_t* src_rgb24, - uint8_t* dst_argb, +void RGB24ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void RAWToARGBRow_Any_NEON(const uint8_t* src_raw, - uint8_t* dst_argb, - int width); -void RAWToARGBRow_Any_MSA(const uint8_t* src_raw, uint8_t* dst_argb, int width); -void RAWToRGB24Row_Any_NEON(const uint8_t* src_raw, - uint8_t* dst_rgb24, +void RAWToARGBRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToARGBRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToRGB24Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void RAWToRGB24Row_Any_MSA(const uint8_t* src_raw, - uint8_t* dst_rgb24, - int width); -void RGB565ToARGBRow_Any_NEON(const uint8_t* src_rgb565, - uint8_t* dst_argb, +void RAWToRGB24Row_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB565ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void RGB565ToARGBRow_Any_MSA(const uint8_t* src_rgb565, - uint8_t* dst_argb, +void RGB565ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGB1555ToARGBRow_Any_NEON(const uint8_t* src_argb1555, - uint8_t* dst_argb, +void ARGB1555ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGB1555ToARGBRow_Any_MSA(const uint8_t* src_argb1555, - uint8_t* dst_argb, +void ARGB1555ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGB4444ToARGBRow_Any_NEON(const uint8_t* src_argb4444, - uint8_t* dst_argb, +void ARGB4444ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGB4444ToARGBRow_Any_MSA(const uint8_t* src_argb4444, - uint8_t* dst_argb, +void ARGB4444ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRGB24Row_SSSE3(const uint8_t* src_argb, uint8_t* dst_rgb, int width); -void ARGBToRAWRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_rgb, int width); -void ARGBToRGB565Row_SSE2(const uint8_t* src_argb, uint8_t* dst_rgb, int width); -void ARGBToARGB1555Row_SSE2(const uint8_t* src_argb, - uint8_t* dst_rgb, - int width); -void ARGBToARGB4444Row_SSE2(const uint8_t* src_argb, - uint8_t* dst_rgb, - int width); -void ABGRToAR30Row_SSSE3(const uint8_t* src_abgr, uint8_t* dst_ar30, int width); -void ARGBToAR30Row_SSSE3(const uint8_t* src_argb, uint8_t* dst_ar30, int width); +void ARGBToRGB24Row_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void ARGBToRAWRow_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void ARGBToRGB565Row_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBToARGB1555Row_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBToARGB4444Row_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ABGRToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void ARGBToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width); void ARGBToRGB565DitherRow_C(const uint8_t* src_argb, uint8_t* dst_rgb, const uint32_t dither4, int width); -void ARGBToRGB565DitherRow_SSE2(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRGB565DitherRow_SSE2(const uint8_t* src, + uint8_t* dst, const uint32_t dither4, int width); -void ARGBToRGB565DitherRow_AVX2(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRGB565DitherRow_AVX2(const uint8_t* src, + uint8_t* dst, const uint32_t dither4, int width); @@ -1715,12 +1701,16 @@ void ARGBToARGB1555Row_AVX2(const uint8_t* src_argb, void ARGBToARGB4444Row_AVX2(const uint8_t* src_argb, uint8_t* dst_rgb, int width); -void ABGRToAR30Row_AVX2(const uint8_t* src_abgr, uint8_t* dst_ar30, int width); -void ARGBToAR30Row_AVX2(const uint8_t* src_argb, uint8_t* dst_ar30, int width); +void ABGRToAR30Row_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBToAR30Row_AVX2(const uint8_t* src, uint8_t* dst, int width); -void ARGBToRGB24Row_NEON(const uint8_t* src_argb, uint8_t* dst_rgb24, int width); +void ARGBToRGB24Row_NEON(const uint8_t* src_argb, + uint8_t* dst_rgb24, + int width); void ARGBToRAWRow_NEON(const uint8_t* src_argb, uint8_t* dst_raw, int width); -void ARGBToRGB565Row_NEON(const uint8_t* src_argb, uint8_t* dst_rgb565, int width); +void ARGBToRGB565Row_NEON(const uint8_t* src_argb, + uint8_t* dst_rgb565, + int width); void ARGBToARGB1555Row_NEON(const uint8_t* src_argb, uint8_t* dst_argb1555, int width); @@ -1759,81 +1749,85 @@ void J400ToARGBRow_AVX2(const uint8_t* src_y, uint8_t* dst_argb, int width); void J400ToARGBRow_NEON(const uint8_t* src_y, uint8_t* dst_argb, int width); void J400ToARGBRow_MSA(const uint8_t* src_y, uint8_t* dst_argb, int width); void J400ToARGBRow_C(const uint8_t* src_y, uint8_t* dst_argb, int width); -void J400ToARGBRow_Any_SSE2(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); void J400ToARGBRow_Any_AVX2(const uint8_t* src_y, uint8_t* dst_argb, int width); -void J400ToARGBRow_Any_NEON(const uint8_t* src_y, uint8_t* dst_argb, int width); -void J400ToARGBRow_Any_MSA(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void J400ToARGBRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); void I444ToARGBRow_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void I422ToARGBRow_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void I422ToAR30Row_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_ar30, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void I210ToAR30Row_C(const uint16_t* src_y, const uint16_t* src_u, const uint16_t* src_v, - uint8_t* dst_ar30, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void I210ToARGBRow_C(const uint16_t* src_y, const uint16_t* src_u, const uint16_t* src_v, - uint8_t* dst_argb, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); -void I422AlphaToARGBRow_C(const uint8_t* y_buf, - const uint8_t* u_buf, - const uint8_t* v_buf, - const uint8_t* a_buf, - uint8_t* dst_argb, +void I422AlphaToARGBRow_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + const uint8_t* src_a, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void NV12ToARGBRow_C(const uint8_t* src_y, const uint8_t* src_uv, - uint8_t* dst_argb, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void NV12ToRGB565Row_C(const uint8_t* src_y, const uint8_t* src_uv, - uint8_t* dst_argb, + uint8_t* dst_rgb565, const struct YuvConstants* yuvconstants, int width); void NV21ToARGBRow_C(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, + const uint8_t* src_vu, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void YUY2ToARGBRow_C(const uint8_t* src_yuy2, - uint8_t* dst_argb, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void UYVYToARGBRow_C(const uint8_t* src_uyvy, - uint8_t* dst_argb, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void I422ToRGBARow_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_rgba, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void I422ToRGB24Row_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_rgb24, + uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width); void I422ToARGB4444Row_C(const uint8_t* src_y, @@ -1845,7 +1839,7 @@ void I422ToARGB4444Row_C(const uint8_t* src_y, void I422ToARGB1555Row_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb4444, + uint8_t* dst_argb1555, const struct YuvConstants* yuvconstants, int width); void I422ToRGB565Row_C(const uint8_t* src_y, @@ -1854,82 +1848,82 @@ void I422ToRGB565Row_C(const uint8_t* src_y, uint8_t* dst_rgb565, const struct YuvConstants* yuvconstants, int width); -void I422ToARGBRow_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I422ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I422ToRGBARow_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I422ToRGBARow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I444ToARGBRow_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I444ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I444ToARGBRow_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I444ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I444ToARGBRow_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I444ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I444ToARGBRow_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I444ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I422ToARGBRow_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I422ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I422ToAR30Row_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I422ToAR30Row_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_ar30, const struct YuvConstants* yuvconstants, int width); -void I210ToAR30Row_SSSE3(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, +void I210ToAR30Row_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, uint8_t* dst_ar30, const struct YuvConstants* yuvconstants, int width); -void I210ToARGBRow_SSSE3(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, +void I210ToARGBRow_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I422ToAR30Row_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I422ToAR30Row_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_ar30, const struct YuvConstants* yuvconstants, int width); -void I210ToARGBRow_AVX2(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, +void I210ToARGBRow_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I210ToAR30Row_AVX2(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, +void I210ToAR30Row_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, uint8_t* dst_ar30, const struct YuvConstants* yuvconstants, int width); @@ -1947,97 +1941,97 @@ void I422AlphaToARGBRow_AVX2(const uint8_t* y_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void NV12ToARGBRow_SSSE3(const uint8_t* src_y, - const uint8_t* src_uv, +void NV12ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void NV12ToARGBRow_AVX2(const uint8_t* src_y, - const uint8_t* src_uv, +void NV12ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); void NV12ToRGB565Row_SSSE3(const uint8_t* src_y, const uint8_t* src_uv, - uint8_t* dst_argb, + uint8_t* dst_rgb565, const struct YuvConstants* yuvconstants, int width); void NV12ToRGB565Row_AVX2(const uint8_t* src_y, const uint8_t* src_uv, - uint8_t* dst_argb, + uint8_t* dst_rgb565, const struct YuvConstants* yuvconstants, int width); -void NV21ToARGBRow_SSSE3(const uint8_t* src_y, - const uint8_t* src_uv, +void NV21ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* vu_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void NV21ToARGBRow_AVX2(const uint8_t* src_y, - const uint8_t* src_uv, +void NV21ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* vu_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void YUY2ToARGBRow_SSSE3(const uint8_t* src_yuy2, +void YUY2ToARGBRow_SSSE3(const uint8_t* yuy2_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void UYVYToARGBRow_SSSE3(const uint8_t* src_uyvy, +void UYVYToARGBRow_SSSE3(const uint8_t* uyvy_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void YUY2ToARGBRow_AVX2(const uint8_t* src_yuy2, +void YUY2ToARGBRow_AVX2(const uint8_t* yuy2_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void UYVYToARGBRow_AVX2(const uint8_t* src_uyvy, +void UYVYToARGBRow_AVX2(const uint8_t* uyvy_buf, uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width); -void I422ToRGBARow_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I422ToRGBARow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_rgba, const struct YuvConstants* yuvconstants, int width); void I422ToARGB4444Row_SSSE3(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* dst_argb4444, const struct YuvConstants* yuvconstants, int width); void I422ToARGB4444Row_AVX2(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* dst_argb4444, const struct YuvConstants* yuvconstants, int width); void I422ToARGB1555Row_SSSE3(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* dst_argb1555, const struct YuvConstants* yuvconstants, int width); void I422ToARGB1555Row_AVX2(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* dst_argb1555, const struct YuvConstants* yuvconstants, int width); void I422ToRGB565Row_SSSE3(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* dst_rgb565, const struct YuvConstants* yuvconstants, int width); void I422ToRGB565Row_AVX2(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_argb, + uint8_t* dst_rgb565, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB24Row_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, +void I422ToRGB24Row_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, uint8_t* dst_rgb24, const struct YuvConstants* yuvconstants, int width); @@ -2047,199 +2041,205 @@ void I422ToRGB24Row_AVX2(const uint8_t* src_y, uint8_t* dst_rgb24, const struct YuvConstants* yuvconstants, int width); -void I422ToARGBRow_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGBARow_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToRGBARow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I444ToARGBRow_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I444ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I444ToARGBRow_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I444ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGBRow_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToAR30Row_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_ar30, +void I422ToAR30Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I210ToAR30Row_Any_SSSE3(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, - uint8_t* dst_ar30, +void I210ToAR30Row_Any_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I210ToARGBRow_Any_SSSE3(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, - uint8_t* dst_argb, +void I210ToARGBRow_Any_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToAR30Row_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_ar30, +void I422ToAR30Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I210ToARGBRow_Any_AVX2(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, - uint8_t* dst_argb, +void I210ToARGBRow_Any_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I210ToAR30Row_Any_AVX2(const uint16_t* src_y, - const uint16_t* src_u, - const uint16_t* src_v, - uint8_t* dst_ar30, +void I210ToAR30Row_Any_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); void I422AlphaToARGBRow_Any_SSSE3(const uint8_t* y_buf, const uint8_t* u_buf, const uint8_t* v_buf, const uint8_t* a_buf, - uint8_t* dst_argb, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); void I422AlphaToARGBRow_Any_AVX2(const uint8_t* y_buf, const uint8_t* u_buf, const uint8_t* v_buf, const uint8_t* a_buf, - uint8_t* dst_argb, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToARGBRow_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToARGBRow_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV21ToARGBRow_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_vu, - uint8_t* dst_argb, +void NV21ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV21ToARGBRow_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_vu, - uint8_t* dst_argb, +void NV21ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToRGB565Row_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToRGB565Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToRGB565Row_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToRGB565Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void YUY2ToARGBRow_Any_SSSE3(const uint8_t* src_yuy2, - uint8_t* dst_argb, +void YUY2ToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void UYVYToARGBRow_Any_SSSE3(const uint8_t* src_uyvy, - uint8_t* dst_argb, +void UYVYToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void YUY2ToARGBRow_Any_AVX2(const uint8_t* src_yuy2, - uint8_t* dst_argb, +void YUY2ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void UYVYToARGBRow_Any_AVX2(const uint8_t* src_uyvy, - uint8_t* dst_argb, +void UYVYToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGBARow_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgba, +void I422ToRGBARow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB4444Row_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgba, +void I422ToARGB4444Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB4444Row_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgba, +void I422ToARGB4444Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB1555Row_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgba, +void I422ToARGB1555Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB1555Row_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgba, +void I422ToARGB1555Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB565Row_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgba, +void I422ToRGB565Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB565Row_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgba, +void I422ToRGB565Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB24Row_Any_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToRGB24Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB24Row_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToRGB24Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I400ToARGBRow_C(const uint8_t* src_y, uint8_t* dst_argb, int width); -void I400ToARGBRow_SSE2(const uint8_t* src_y, uint8_t* dst_argb, int width); -void I400ToARGBRow_AVX2(const uint8_t* src_y, uint8_t* dst_argb, int width); +void I400ToARGBRow_C(const uint8_t* src_y, uint8_t* rgb_buf, int width); +void I400ToARGBRow_SSE2(const uint8_t* y_buf, uint8_t* dst_argb, int width); +void I400ToARGBRow_AVX2(const uint8_t* y_buf, uint8_t* dst_argb, int width); void I400ToARGBRow_NEON(const uint8_t* src_y, uint8_t* dst_argb, int width); void I400ToARGBRow_MSA(const uint8_t* src_y, uint8_t* dst_argb, int width); -void I400ToARGBRow_Any_SSE2(const uint8_t* src_y, uint8_t* dst_argb, int width); -void I400ToARGBRow_Any_AVX2(const uint8_t* src_y, uint8_t* dst_argb, int width); -void I400ToARGBRow_Any_NEON(const uint8_t* src_y, uint8_t* dst_argb, int width); -void I400ToARGBRow_Any_MSA(const uint8_t* src_y, uint8_t* dst_argb, int width); +void I400ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void I400ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void I400ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void I400ToARGBRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); // ARGB preattenuated alpha blend. -void ARGBBlendRow_SSSE3(const uint8_t* src_argb, +void ARGBBlendRow_SSSE3(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); @@ -2247,11 +2247,11 @@ void ARGBBlendRow_NEON(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBBlendRow_MSA(const uint8_t* src_argb, +void ARGBBlendRow_MSA(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBBlendRow_C(const uint8_t* src_argb, +void ARGBBlendRow_C(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); @@ -2262,20 +2262,20 @@ void BlendPlaneRow_SSSE3(const uint8_t* src0, const uint8_t* alpha, uint8_t* dst, int width); -void BlendPlaneRow_Any_SSSE3(const uint8_t* src0, - const uint8_t* src1, - const uint8_t* alpha, - uint8_t* dst, +void BlendPlaneRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); void BlendPlaneRow_AVX2(const uint8_t* src0, const uint8_t* src1, const uint8_t* alpha, uint8_t* dst, int width); -void BlendPlaneRow_Any_AVX2(const uint8_t* src0, - const uint8_t* src1, - const uint8_t* alpha, - uint8_t* dst, +void BlendPlaneRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); void BlendPlaneRow_C(const uint8_t* src0, const uint8_t* src1, @@ -2285,149 +2285,149 @@ void BlendPlaneRow_C(const uint8_t* src0, // ARGB multiply images. Same API as Blend, but these require // pointer and width alignment for SSE2. -void ARGBMultiplyRow_C(const uint8_t* src_argb, +void ARGBMultiplyRow_C(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBMultiplyRow_SSE2(const uint8_t* src_argb, +void ARGBMultiplyRow_SSE2(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBMultiplyRow_Any_SSE2(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBMultiplyRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void ARGBMultiplyRow_AVX2(const uint8_t* src_argb, +void ARGBMultiplyRow_AVX2(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBMultiplyRow_Any_AVX2(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBMultiplyRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); void ARGBMultiplyRow_NEON(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBMultiplyRow_Any_NEON(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBMultiplyRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void ARGBMultiplyRow_MSA(const uint8_t* src_argb, +void ARGBMultiplyRow_MSA(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBMultiplyRow_Any_MSA(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBMultiplyRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); // ARGB add images. -void ARGBAddRow_C(const uint8_t* src_argb, +void ARGBAddRow_C(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBAddRow_SSE2(const uint8_t* src_argb, +void ARGBAddRow_SSE2(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBAddRow_Any_SSE2(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBAddRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void ARGBAddRow_AVX2(const uint8_t* src_argb, +void ARGBAddRow_AVX2(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBAddRow_Any_AVX2(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBAddRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); void ARGBAddRow_NEON(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBAddRow_Any_NEON(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBAddRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void ARGBAddRow_MSA(const uint8_t* src_argb, +void ARGBAddRow_MSA(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBAddRow_Any_MSA(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBAddRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); // ARGB subtract images. Same API as Blend, but these require // pointer and width alignment for SSE2. -void ARGBSubtractRow_C(const uint8_t* src_argb, +void ARGBSubtractRow_C(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBSubtractRow_SSE2(const uint8_t* src_argb, +void ARGBSubtractRow_SSE2(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBSubtractRow_Any_SSE2(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBSubtractRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void ARGBSubtractRow_AVX2(const uint8_t* src_argb, +void ARGBSubtractRow_AVX2(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBSubtractRow_Any_AVX2(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBSubtractRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); void ARGBSubtractRow_NEON(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBSubtractRow_Any_NEON(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBSubtractRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void ARGBSubtractRow_MSA(const uint8_t* src_argb, +void ARGBSubtractRow_MSA(const uint8_t* src_argb0, const uint8_t* src_argb1, uint8_t* dst_argb, int width); -void ARGBSubtractRow_Any_MSA(const uint8_t* src_argb, - const uint8_t* src_argb1, - uint8_t* dst_argb, +void ARGBSubtractRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void ARGBToRGB24Row_Any_SSSE3(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRGB24Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRAWRow_Any_SSSE3(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRAWRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRGB565Row_Any_SSE2(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRGB565Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToARGB1555Row_Any_SSE2(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToARGB1555Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToARGB4444Row_Any_SSE2(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToARGB4444Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ABGRToAR30Row_Any_SSSE3(const uint8_t* src_abgr, - uint8_t* dst_ar30, +void ABGRToAR30Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToAR30Row_Any_SSSE3(const uint8_t* src_argb, - uint8_t* dst_ar30, +void ARGBToAR30Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRGB565DitherRow_Any_SSE2(const uint8_t* src_argb, - uint8_t* dst_rgb, - const uint32_t dither4, +void ARGBToRGB565DitherRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, int width); -void ARGBToRGB565DitherRow_Any_AVX2(const uint8_t* src_argb, - uint8_t* dst_rgb, - const uint32_t dither4, +void ARGBToRGB565DitherRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, int width); void ARGBToRGB565Row_Any_AVX2(const uint8_t* src_argb, @@ -2439,192 +2439,190 @@ void ARGBToARGB1555Row_Any_AVX2(const uint8_t* src_argb, void ARGBToARGB4444Row_Any_AVX2(const uint8_t* src_argb, uint8_t* dst_rgb, int width); -void ABGRToAR30Row_Any_AVX2(const uint8_t* src_abgr, - uint8_t* dst_ar30, +void ABGRToAR30Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToAR30Row_Any_AVX2(const uint8_t* src_argb, - uint8_t* dst_ar30, +void ARGBToAR30Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRGB24Row_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRGB24Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRAWRow_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_rgb, - int width); -void ARGBToRGB565Row_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRAWRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToRGB565Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToARGB1555Row_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToARGB1555Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToARGB4444Row_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToARGB4444Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRGB565DitherRow_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_rgb, - const uint32_t dither4, +void ARGBToRGB565DitherRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, int width); -void ARGBToRGB24Row_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRGB24Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRAWRow_Any_MSA(const uint8_t* src_argb, uint8_t* dst_rgb, int width); -void ARGBToRGB565Row_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToRAWRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToRGB565Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToARGB1555Row_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToARGB1555Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToARGB4444Row_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_rgb, +void ARGBToARGB4444Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBToRGB565DitherRow_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_rgb, - const uint32_t dither4, +void ARGBToRGB565DitherRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, int width); -void I444ToARGBRow_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I444ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGBRow_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422AlphaToARGBRow_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - const uint8_t* src_a, - uint8_t* dst_argb, +void I422AlphaToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGBARow_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToRGBARow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB24Row_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToRGB24Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB4444Row_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToARGB4444Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB1555Row_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToARGB1555Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB565Row_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToRGB565Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToARGBRow_Any_NEON(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV21ToARGBRow_Any_NEON(const uint8_t* src_y, - const uint8_t* src_vu, - uint8_t* dst_argb, +void NV21ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToRGB565Row_Any_NEON(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToRGB565Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void YUY2ToARGBRow_Any_NEON(const uint8_t* src_yuy2, - uint8_t* dst_argb, +void YUY2ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void UYVYToARGBRow_Any_NEON(const uint8_t* src_uyvy, - uint8_t* dst_argb, +void UYVYToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I444ToARGBRow_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I444ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGBRow_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGBARow_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb, +void I422ToRGBARow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422AlphaToARGBRow_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - const uint8_t* src_a, - uint8_t* dst_argb, +void I422AlphaToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB24Row_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgb24, +void I422ToRGB24Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToRGB565Row_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgb565, +void I422ToRGB565Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB4444Row_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb4444, +void I422ToARGB4444Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void I422ToARGB1555Row_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_argb1555, +void I422ToARGB1555Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToARGBRow_Any_MSA(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV12ToRGB565Row_Any_MSA(const uint8_t* src_y, - const uint8_t* src_uv, - uint8_t* dst_argb, +void NV12ToRGB565Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void NV21ToARGBRow_Any_MSA(const uint8_t* src_y, - const uint8_t* src_vu, - uint8_t* dst_argb, +void NV21ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void YUY2ToARGBRow_Any_MSA(const uint8_t* src_yuy2, - uint8_t* dst_argb, +void YUY2ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); -void UYVYToARGBRow_Any_MSA(const uint8_t* src_uyvy, - uint8_t* dst_argb, +void UYVYToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, const struct YuvConstants* yuvconstants, int width); @@ -2660,7 +2658,7 @@ void YUY2ToUV422Row_NEON(const uint8_t* src_yuy2, int width); void YUY2ToYRow_MSA(const uint8_t* src_yuy2, uint8_t* dst_y, int width); void YUY2ToUVRow_MSA(const uint8_t* src_yuy2, - int stride_yuy2, + int src_stride_yuy2, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -2670,7 +2668,7 @@ void YUY2ToUV422Row_MSA(const uint8_t* src_yuy2, int width); void YUY2ToYRow_C(const uint8_t* src_yuy2, uint8_t* dst_y, int width); void YUY2ToUVRow_C(const uint8_t* src_yuy2, - int stride_yuy2, + int src_stride_yuy2, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -2678,43 +2676,43 @@ void YUY2ToUV422Row_C(const uint8_t* src_yuy2, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToYRow_Any_AVX2(const uint8_t* src_yuy2, uint8_t* dst_y, int width); -void YUY2ToUVRow_Any_AVX2(const uint8_t* src_yuy2, - int stride_yuy2, +void YUY2ToYRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToUV422Row_Any_AVX2(const uint8_t* src_yuy2, +void YUY2ToUV422Row_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToYRow_Any_SSE2(const uint8_t* src_yuy2, uint8_t* dst_y, int width); -void YUY2ToUVRow_Any_SSE2(const uint8_t* src_yuy2, - int stride_yuy2, +void YUY2ToYRow_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_SSE2(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToUV422Row_Any_SSE2(const uint8_t* src_yuy2, +void YUY2ToUV422Row_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToYRow_Any_NEON(const uint8_t* src_yuy2, uint8_t* dst_y, int width); -void YUY2ToUVRow_Any_NEON(const uint8_t* src_yuy2, - int stride_yuy2, +void YUY2ToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToUV422Row_Any_NEON(const uint8_t* src_yuy2, +void YUY2ToUV422Row_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToYRow_Any_MSA(const uint8_t* src_yuy2, uint8_t* dst_y, int width); -void YUY2ToUVRow_Any_MSA(const uint8_t* src_yuy2, - int stride_yuy2, +void YUY2ToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void YUY2ToUV422Row_Any_MSA(const uint8_t* src_yuy2, +void YUY2ToUV422Row_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -2760,7 +2758,7 @@ void UYVYToUV422Row_NEON(const uint8_t* src_uyvy, int width); void UYVYToYRow_MSA(const uint8_t* src_uyvy, uint8_t* dst_y, int width); void UYVYToUVRow_MSA(const uint8_t* src_uyvy, - int stride_uyvy, + int src_stride_uyvy, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -2771,7 +2769,7 @@ void UYVYToUV422Row_MSA(const uint8_t* src_uyvy, void UYVYToYRow_C(const uint8_t* src_uyvy, uint8_t* dst_y, int width); void UYVYToUVRow_C(const uint8_t* src_uyvy, - int stride_uyvy, + int src_stride_uyvy, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -2779,43 +2777,43 @@ void UYVYToUV422Row_C(const uint8_t* src_uyvy, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToYRow_Any_AVX2(const uint8_t* src_uyvy, uint8_t* dst_y, int width); -void UYVYToUVRow_Any_AVX2(const uint8_t* src_uyvy, - int stride_uyvy, +void UYVYToYRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToUV422Row_Any_AVX2(const uint8_t* src_uyvy, +void UYVYToUV422Row_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToYRow_Any_SSE2(const uint8_t* src_uyvy, uint8_t* dst_y, int width); -void UYVYToUVRow_Any_SSE2(const uint8_t* src_uyvy, - int stride_uyvy, +void UYVYToYRow_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_SSE2(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToUV422Row_Any_SSE2(const uint8_t* src_uyvy, +void UYVYToUV422Row_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToYRow_Any_NEON(const uint8_t* src_uyvy, uint8_t* dst_y, int width); -void UYVYToUVRow_Any_NEON(const uint8_t* src_uyvy, - int stride_uyvy, +void UYVYToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToUV422Row_Any_NEON(const uint8_t* src_uyvy, +void UYVYToUV422Row_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToYRow_Any_MSA(const uint8_t* src_uyvy, uint8_t* dst_y, int width); -void UYVYToUVRow_Any_MSA(const uint8_t* src_uyvy, - int stride_uyvy, +void UYVYToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); -void UYVYToUV422Row_Any_MSA(const uint8_t* src_uyvy, +void UYVYToUV422Row_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_u, uint8_t* dst_v, int width); @@ -2823,12 +2821,12 @@ void UYVYToUV422Row_Any_MSA(const uint8_t* src_uyvy, void I422ToYUY2Row_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_yuy2, + uint8_t* dst_frame, int width); void I422ToUYVYRow_C(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_uyvy, + uint8_t* dst_frame, int width); void I422ToYUY2Row_SSE2(const uint8_t* src_y, const uint8_t* src_u, @@ -2840,15 +2838,15 @@ void I422ToUYVYRow_SSE2(const uint8_t* src_y, const uint8_t* src_v, uint8_t* dst_uyvy, int width); -void I422ToYUY2Row_Any_SSE2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_yuy2, +void I422ToYUY2Row_Any_SSE2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); -void I422ToUYVYRow_Any_SSE2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uyvy, +void I422ToUYVYRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); void I422ToYUY2Row_AVX2(const uint8_t* src_y, const uint8_t* src_u, @@ -2860,15 +2858,15 @@ void I422ToUYVYRow_AVX2(const uint8_t* src_y, const uint8_t* src_v, uint8_t* dst_uyvy, int width); -void I422ToYUY2Row_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_yuy2, +void I422ToYUY2Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); -void I422ToUYVYRow_Any_AVX2(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uyvy, +void I422ToUYVYRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); void I422ToYUY2Row_NEON(const uint8_t* src_y, const uint8_t* src_u, @@ -2880,15 +2878,15 @@ void I422ToUYVYRow_NEON(const uint8_t* src_y, const uint8_t* src_v, uint8_t* dst_uyvy, int width); -void I422ToYUY2Row_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_yuy2, +void I422ToYUY2Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); -void I422ToUYVYRow_Any_NEON(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uyvy, +void I422ToUYVYRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); void I422ToYUY2Row_MSA(const uint8_t* src_y, const uint8_t* src_u, @@ -2900,15 +2898,15 @@ void I422ToUYVYRow_MSA(const uint8_t* src_y, const uint8_t* src_v, uint8_t* dst_uyvy, int width); -void I422ToYUY2Row_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_yuy2, +void I422ToYUY2Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); -void I422ToUYVYRow_Any_MSA(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_uyvy, +void I422ToUYVYRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, int width); // Effects related row functions. @@ -2925,17 +2923,17 @@ void ARGBAttenuateRow_NEON(const uint8_t* src_argb, void ARGBAttenuateRow_MSA(const uint8_t* src_argb, uint8_t* dst_argb, int width); -void ARGBAttenuateRow_Any_SSSE3(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBAttenuateRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBAttenuateRow_Any_AVX2(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBAttenuateRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBAttenuateRow_Any_NEON(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBAttenuateRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBAttenuateRow_Any_MSA(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBAttenuateRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); // Inverse table for unattenuate, shared by C and SSE2. @@ -2949,11 +2947,11 @@ void ARGBUnattenuateRow_SSE2(const uint8_t* src_argb, void ARGBUnattenuateRow_AVX2(const uint8_t* src_argb, uint8_t* dst_argb, int width); -void ARGBUnattenuateRow_Any_SSE2(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBUnattenuateRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); -void ARGBUnattenuateRow_Any_AVX2(const uint8_t* src_argb, - uint8_t* dst_argb, +void ARGBUnattenuateRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, int width); void ARGBGrayRow_C(const uint8_t* src_argb, uint8_t* dst_argb, int width); @@ -3047,9 +3045,9 @@ void ComputeCumulativeSumRow_SSE2(const uint8_t* row, const int32_t* previous_cumsum, int width); -void CumulativeSumToAverageRow_C(const int32_t* topleft, - const int32_t* botleft, - int width, +void CumulativeSumToAverageRow_C(const int32_t* tl, + const int32_t* bl, + int w, int area, uint8_t* dst, int count); @@ -3068,24 +3066,24 @@ LIBYUV_API void ARGBAffineRow_SSE2(const uint8_t* src_argb, int src_argb_stride, uint8_t* dst_argb, - const float* uv_dudv, + const float* src_dudv, int width); // Used for I420Scale, ARGBScale, and ARGBInterpolate. void InterpolateRow_C(uint8_t* dst_ptr, const uint8_t* src_ptr, - ptrdiff_t src_stride_ptr, + ptrdiff_t src_stride, int width, int source_y_fraction); void InterpolateRow_SSSE3(uint8_t* dst_ptr, const uint8_t* src_ptr, - ptrdiff_t src_stride_ptr, - int width, + ptrdiff_t src_stride, + int dst_width, int source_y_fraction); void InterpolateRow_AVX2(uint8_t* dst_ptr, const uint8_t* src_ptr, - ptrdiff_t src_stride_ptr, - int width, + ptrdiff_t src_stride, + int dst_width, int source_y_fraction); void InterpolateRow_NEON(uint8_t* dst_ptr, const uint8_t* src_ptr, @@ -3094,7 +3092,7 @@ void InterpolateRow_NEON(uint8_t* dst_ptr, int source_y_fraction); void InterpolateRow_MSA(uint8_t* dst_ptr, const uint8_t* src_ptr, - ptrdiff_t src_stride_ptr, + ptrdiff_t src_stride, int width, int source_y_fraction); void InterpolateRow_Any_NEON(uint8_t* dst_ptr, @@ -3120,7 +3118,7 @@ void InterpolateRow_Any_MSA(uint8_t* dst_ptr, void InterpolateRow_16_C(uint16_t* dst_ptr, const uint16_t* src_ptr, - ptrdiff_t src_stride_ptr, + ptrdiff_t src_stride, int width, int source_y_fraction); @@ -3209,41 +3207,41 @@ void SobelXYRow_MSA(const uint8_t* src_sobelx, const uint8_t* src_sobely, uint8_t* dst_argb, int width); -void SobelRow_Any_SSE2(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_argb, +void SobelRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelRow_Any_NEON(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_argb, +void SobelRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelRow_Any_MSA(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_argb, +void SobelRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelToPlaneRow_Any_SSE2(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_y, +void SobelToPlaneRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelToPlaneRow_Any_NEON(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_y, +void SobelToPlaneRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelToPlaneRow_Any_MSA(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_y, +void SobelToPlaneRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelXYRow_Any_SSE2(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_argb, +void SobelXYRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelXYRow_Any_NEON(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_argb, +void SobelXYRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); -void SobelXYRow_Any_MSA(const uint8_t* src_sobelx, - const uint8_t* src_sobely, - uint8_t* dst_argb, +void SobelXYRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, int width); void ARGBPolynomialRow_C(const uint8_t* src_argb, @@ -3265,17 +3263,17 @@ void HalfFloatRow_SSE2(const uint16_t* src, uint16_t* dst, float scale, int width); -void HalfFloatRow_Any_SSE2(const uint16_t* src, - uint16_t* dst, - float scale, +void HalfFloatRow_Any_SSE2(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, int width); void HalfFloatRow_AVX2(const uint16_t* src, uint16_t* dst, float scale, int width); -void HalfFloatRow_Any_AVX2(const uint16_t* src, - uint16_t* dst, - float scale, +void HalfFloatRow_Any_AVX2(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, int width); void HalfFloatRow_F16C(const uint16_t* src, uint16_t* dst, @@ -3297,25 +3295,25 @@ void HalfFloatRow_NEON(const uint16_t* src, uint16_t* dst, float scale, int width); -void HalfFloatRow_Any_NEON(const uint16_t* src, - uint16_t* dst, - float scale, +void HalfFloatRow_Any_NEON(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, int width); void HalfFloat1Row_NEON(const uint16_t* src, uint16_t* dst, float scale, int width); -void HalfFloat1Row_Any_NEON(const uint16_t* src, - uint16_t* dst, - float scale, +void HalfFloat1Row_Any_NEON(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, int width); void HalfFloatRow_MSA(const uint16_t* src, uint16_t* dst, float scale, int width); -void HalfFloatRow_Any_MSA(const uint16_t* src, - uint16_t* dst, - float scale, +void HalfFloatRow_Any_MSA(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, int width); void ARGBLumaColorTableRow_C(const uint8_t* src_argb, diff --git a/include/libyuv/scale.h b/include/libyuv/scale.h index 0ec8f528..b937d348 100644 --- a/include/libyuv/scale.h +++ b/include/libyuv/scale.h @@ -118,17 +118,6 @@ int Scale(const uint8_t* src_y, int dst_height, LIBYUV_BOOL interpolate); -// Legacy API. Deprecated. -LIBYUV_API -int ScaleOffset(const uint8_t* src_i420, - int src_width, - int src_height, - uint8_t* dst_i420, - int dst_width, - int dst_height, - int dst_yoffset, - LIBYUV_BOOL interpolate); - // For testing, allow disabling of specialized scalers. LIBYUV_API void SetUseReferenceImpl(LIBYUV_BOOL use); diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h index c8265eac..7194ba09 100644 --- a/include/libyuv/scale_row.h +++ b/include/libyuv/scale_row.h @@ -270,12 +270,12 @@ void ScaleFilterCols_16_C(uint16_t* dst_ptr, void ScaleFilterCols64_C(uint8_t* dst_ptr, const uint8_t* src_ptr, int dst_width, - int x, + int x32, int dx); void ScaleFilterCols64_16_C(uint16_t* dst_ptr, const uint16_t* src_ptr, int dst_width, - int x, + int x32, int dx); void ScaleRowDown38_C(const uint8_t* src_ptr, ptrdiff_t src_stride, @@ -335,7 +335,7 @@ void ScaleARGBCols_C(uint8_t* dst_argb, void ScaleARGBCols64_C(uint8_t* dst_argb, const uint8_t* src_argb, int dst_width, - int x, + int x32, int dx); void ScaleARGBColsUp2_C(uint8_t* dst_argb, const uint8_t* src_argb, @@ -350,7 +350,7 @@ void ScaleARGBFilterCols_C(uint8_t* dst_argb, void ScaleARGBFilterCols64_C(uint8_t* dst_argb, const uint8_t* src_argb, int dst_width, - int x, + int x32, int dx); // Specialized scalers for x86. @@ -539,13 +539,13 @@ void ScaleARGBCols_NEON(uint8_t* dst_argb, int dst_width, int x, int dx); -void ScaleARGBFilterCols_Any_NEON(uint8_t* dst_argb, - const uint8_t* src_argb, +void ScaleARGBFilterCols_Any_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, int dst_width, int x, int dx); -void ScaleARGBCols_Any_NEON(uint8_t* dst_argb, - const uint8_t* src_argb, +void ScaleARGBCols_Any_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, int dst_width, int x, int dx); @@ -559,13 +559,13 @@ void ScaleARGBCols_MSA(uint8_t* dst_argb, int dst_width, int x, int dx); -void ScaleARGBFilterCols_Any_MSA(uint8_t* dst_argb, - const uint8_t* src_argb, +void ScaleARGBFilterCols_Any_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, int dst_width, int x, int dx); -void ScaleARGBCols_Any_MSA(uint8_t* dst_argb, - const uint8_t* src_argb, +void ScaleARGBCols_Any_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, int dst_width, int x, int dx); @@ -607,41 +607,41 @@ void ScaleARGBRowDown2Box_MSA(const uint8_t* src_argb, ptrdiff_t src_stride, uint8_t* dst_argb, int dst_width); -void ScaleARGBRowDown2_Any_SSE2(const uint8_t* src_argb, +void ScaleARGBRowDown2_Any_SSE2(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDown2Linear_Any_SSE2(const uint8_t* src_argb, +void ScaleARGBRowDown2Linear_Any_SSE2(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDown2Box_Any_SSE2(const uint8_t* src_argb, +void ScaleARGBRowDown2Box_Any_SSE2(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); void ScaleARGBRowDown2_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDown2Linear_Any_NEON(const uint8_t* src_argb, +void ScaleARGBRowDown2Linear_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); void ScaleARGBRowDown2Box_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDown2_Any_MSA(const uint8_t* src_argb, +void ScaleARGBRowDown2_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDown2Linear_Any_MSA(const uint8_t* src_argb, +void ScaleARGBRowDown2Linear_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDown2Box_Any_MSA(const uint8_t* src_argb, +void ScaleARGBRowDown2Box_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); void ScaleARGBRowDownEven_SSE2(const uint8_t* src_argb, @@ -674,35 +674,35 @@ void ScaleARGBRowDownEvenBox_MSA(const uint8_t* src_argb, int src_stepx, uint8_t* dst_argb, int dst_width); -void ScaleARGBRowDownEven_Any_SSE2(const uint8_t* src_argb, +void ScaleARGBRowDownEven_Any_SSE2(const uint8_t* src_ptr, ptrdiff_t src_stride, int src_stepx, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDownEvenBox_Any_SSE2(const uint8_t* src_argb, +void ScaleARGBRowDownEvenBox_Any_SSE2(const uint8_t* src_ptr, ptrdiff_t src_stride, int src_stepx, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDownEven_Any_NEON(const uint8_t* src_argb, +void ScaleARGBRowDownEven_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, int src_stepx, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDownEvenBox_Any_NEON(const uint8_t* src_argb, +void ScaleARGBRowDownEvenBox_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, int src_stepx, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDownEven_Any_MSA(const uint8_t* src_argb, +void ScaleARGBRowDownEven_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, int32_t src_stepx, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); -void ScaleARGBRowDownEvenBox_Any_MSA(const uint8_t* src_argb, +void ScaleARGBRowDownEvenBox_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, int src_stepx, - uint8_t* dst_argb, + uint8_t* dst_ptr, int dst_width); // ScaleRowDown2Box also used by planar functions @@ -765,19 +765,19 @@ void ScaleRowDown38_2_Box_NEON(const uint8_t* src_ptr, void ScaleRowDown2_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown2Linear_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown2Box_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown2Box_Odd_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown4_Any_NEON(const uint8_t* src_ptr, ptrdiff_t src_stride, @@ -872,40 +872,40 @@ void ScaleFilterCols_MSA(uint8_t* dst_ptr, int dx); void ScaleRowDown34_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_ptr, + uint8_t* dst, int dst_width); void ScaleRowDown34_0_Box_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_ptr, + uint8_t* d, int dst_width); void ScaleRowDown34_1_Box_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst_ptr, + uint8_t* d, int dst_width); void ScaleRowDown2_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown2Linear_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown2Box_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown4_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown4Box_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown38_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, - uint8_t* dst, + uint8_t* dst_ptr, int dst_width); void ScaleRowDown38_2_Box_Any_MSA(const uint8_t* src_ptr, ptrdiff_t src_stride, diff --git a/include/libyuv/version.h b/include/libyuv/version.h index cb010d29..49eb6e60 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 1696 +#define LIBYUV_VERSION 1697 #endif // INCLUDE_LIBYUV_VERSION_H_ diff --git a/source/convert_argb.cc b/source/convert_argb.cc index bea04e4c..6925414d 100644 --- a/source/convert_argb.cc +++ b/source/convert_argb.cc @@ -1570,8 +1570,8 @@ static int NV12ToARGBMatrix(const uint8_t* src_y, // Convert NV21 to ARGB with matrix static int NV21ToARGBMatrix(const uint8_t* src_y, int src_stride_y, - const uint8_t* src_uv, - int src_stride_uv, + const uint8_t* src_vu, + int src_stride_vu, uint8_t* dst_argb, int dst_stride_argb, const struct YuvConstants* yuvconstants, @@ -1581,7 +1581,7 @@ static int NV21ToARGBMatrix(const uint8_t* src_y, void (*NV21ToARGBRow)( const uint8_t* y_buf, const uint8_t* uv_buf, uint8_t* rgb_buf, const struct YuvConstants* yuvconstants, int width) = NV21ToARGBRow_C; - if (!src_y || !src_uv || !dst_argb || width <= 0 || height == 0) { + if (!src_y || !src_vu || !dst_argb || width <= 0 || height == 0) { return -1; } // Negative height means invert the image. @@ -1624,11 +1624,11 @@ static int NV21ToARGBMatrix(const uint8_t* src_y, #endif for (y = 0; y < height; ++y) { - NV21ToARGBRow(src_y, src_uv, dst_argb, yuvconstants, width); + NV21ToARGBRow(src_y, src_vu, dst_argb, yuvconstants, width); dst_argb += dst_stride_argb; src_y += src_stride_y; if (y & 1) { - src_uv += src_stride_uv; + src_vu += src_stride_vu; } } return 0; @@ -1652,13 +1652,13 @@ int NV12ToARGB(const uint8_t* src_y, LIBYUV_API int NV21ToARGB(const uint8_t* src_y, int src_stride_y, - const uint8_t* src_uv, - int src_stride_uv, + const uint8_t* src_vu, + int src_stride_vu, uint8_t* dst_argb, int dst_stride_argb, int width, int height) { - return NV21ToARGBMatrix(src_y, src_stride_y, src_uv, src_stride_uv, dst_argb, + return NV21ToARGBMatrix(src_y, src_stride_y, src_vu, src_stride_vu, dst_argb, dst_stride_argb, &kYuvI601Constants, width, height); } diff --git a/source/convert_from_argb.cc b/source/convert_from_argb.cc index d0b4829f..16b83845 100644 --- a/source/convert_from_argb.cc +++ b/source/convert_from_argb.cc @@ -360,8 +360,8 @@ int ARGBToNV21(const uint8_t* src_argb, int src_stride_argb, uint8_t* dst_y, int dst_stride_y, - uint8_t* dst_uv, - int dst_stride_uv, + uint8_t* dst_vu, + int dst_stride_vu, int width, int height) { int y; @@ -372,8 +372,8 @@ int ARGBToNV21(const uint8_t* src_argb, void (*ARGBToYRow)(const uint8_t* src_argb, uint8_t* dst_y, int width) = ARGBToYRow_C; void (*MergeUVRow_)(const uint8_t* src_u, const uint8_t* src_v, - uint8_t* dst_uv, int width) = MergeUVRow_C; - if (!src_argb || !dst_y || !dst_uv || width <= 0 || height == 0) { + uint8_t* dst_vu, int width) = MergeUVRow_C; + if (!src_argb || !dst_y || !dst_vu || width <= 0 || height == 0) { return -1; } // Negative height means invert the image. @@ -473,16 +473,16 @@ int ARGBToNV21(const uint8_t* src_argb, for (y = 0; y < height - 1; y += 2) { ARGBToUVRow(src_argb, src_stride_argb, row_u, row_v, width); - MergeUVRow_(row_v, row_u, dst_uv, halfwidth); + MergeUVRow_(row_v, row_u, dst_vu, halfwidth); ARGBToYRow(src_argb, dst_y, width); ARGBToYRow(src_argb + src_stride_argb, dst_y + dst_stride_y, width); src_argb += src_stride_argb * 2; dst_y += dst_stride_y * 2; - dst_uv += dst_stride_uv; + dst_vu += dst_stride_vu; } if (height & 1) { ARGBToUVRow(src_argb, 0, row_u, row_v, width); - MergeUVRow_(row_v, row_u, dst_uv, halfwidth); + MergeUVRow_(row_v, row_u, dst_vu, halfwidth); ARGBToYRow(src_argb, dst_y, width); } free_aligned_buffer_64(row_u); diff --git a/source/convert_to_argb.cc b/source/convert_to_argb.cc index cd154de5..677e5d56 100644 --- a/source/convert_to_argb.cc +++ b/source/convert_to_argb.cc @@ -31,8 +31,8 @@ extern "C" { LIBYUV_API int ConvertToARGB(const uint8_t* sample, size_t sample_size, - uint8_t* crop_argb, - int argb_stride, + uint8_t* dst_argb, + int dst_stride_argb, int crop_x, int crop_y, int src_width, @@ -52,17 +52,17 @@ int ConvertToARGB(const uint8_t* sample, // One pass rotation is available for some formats. For the rest, convert // to ARGB (with optional vertical flipping) into a temporary ARGB buffer, // and then rotate the ARGB to the final destination buffer. - // For in-place conversion, if destination crop_argb is same as source sample, + // For in-place conversion, if destination dst_argb is same as source sample, // also enable temporary buffer. LIBYUV_BOOL need_buf = - (rotation && format != FOURCC_ARGB) || crop_argb == sample; - uint8_t* dest_argb = crop_argb; - int dest_argb_stride = argb_stride; + (rotation && format != FOURCC_ARGB) || dst_argb == sample; + uint8_t* dest_argb = dst_argb; + int dest_dst_stride_argb = dst_stride_argb; uint8_t* rotate_buffer = NULL; int abs_crop_height = (crop_height < 0) ? -crop_height : crop_height; - if (crop_argb == NULL || sample == NULL || src_width <= 0 || - crop_width <= 0 || src_height == 0 || crop_height == 0) { + if (dst_argb == NULL || sample == NULL || src_width <= 0 || crop_width <= 0 || + src_height == 0 || crop_height == 0) { return -1; } if (src_height < 0) { @@ -75,72 +75,72 @@ int ConvertToARGB(const uint8_t* sample, if (!rotate_buffer) { return 1; // Out of memory runtime error. } - crop_argb = rotate_buffer; - argb_stride = crop_width * 4; + dst_argb = rotate_buffer; + dst_stride_argb = crop_width * 4; } switch (format) { // Single plane formats case FOURCC_YUY2: src = sample + (aligned_src_width * crop_y + crop_x) * 2; - r = YUY2ToARGB(src, aligned_src_width * 2, crop_argb, argb_stride, + r = YUY2ToARGB(src, aligned_src_width * 2, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_UYVY: src = sample + (aligned_src_width * crop_y + crop_x) * 2; - r = UYVYToARGB(src, aligned_src_width * 2, crop_argb, argb_stride, + r = UYVYToARGB(src, aligned_src_width * 2, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_24BG: src = sample + (src_width * crop_y + crop_x) * 3; - r = RGB24ToARGB(src, src_width * 3, crop_argb, argb_stride, crop_width, + r = RGB24ToARGB(src, src_width * 3, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_RAW: src = sample + (src_width * crop_y + crop_x) * 3; - r = RAWToARGB(src, src_width * 3, crop_argb, argb_stride, crop_width, + r = RAWToARGB(src, src_width * 3, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_ARGB: if (!need_buf && !rotation) { src = sample + (src_width * crop_y + crop_x) * 4; - r = ARGBToARGB(src, src_width * 4, crop_argb, argb_stride, crop_width, - inv_crop_height); + r = ARGBToARGB(src, src_width * 4, dst_argb, dst_stride_argb, + crop_width, inv_crop_height); } break; case FOURCC_BGRA: src = sample + (src_width * crop_y + crop_x) * 4; - r = BGRAToARGB(src, src_width * 4, crop_argb, argb_stride, crop_width, + r = BGRAToARGB(src, src_width * 4, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_ABGR: src = sample + (src_width * crop_y + crop_x) * 4; - r = ABGRToARGB(src, src_width * 4, crop_argb, argb_stride, crop_width, + r = ABGRToARGB(src, src_width * 4, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_RGBA: src = sample + (src_width * crop_y + crop_x) * 4; - r = RGBAToARGB(src, src_width * 4, crop_argb, argb_stride, crop_width, + r = RGBAToARGB(src, src_width * 4, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_RGBP: src = sample + (src_width * crop_y + crop_x) * 2; - r = RGB565ToARGB(src, src_width * 2, crop_argb, argb_stride, crop_width, - inv_crop_height); + r = RGB565ToARGB(src, src_width * 2, dst_argb, dst_stride_argb, + crop_width, inv_crop_height); break; case FOURCC_RGBO: src = sample + (src_width * crop_y + crop_x) * 2; - r = ARGB1555ToARGB(src, src_width * 2, crop_argb, argb_stride, crop_width, - inv_crop_height); + r = ARGB1555ToARGB(src, src_width * 2, dst_argb, dst_stride_argb, + crop_width, inv_crop_height); break; case FOURCC_R444: src = sample + (src_width * crop_y + crop_x) * 2; - r = ARGB4444ToARGB(src, src_width * 2, crop_argb, argb_stride, crop_width, - inv_crop_height); + r = ARGB4444ToARGB(src, src_width * 2, dst_argb, dst_stride_argb, + crop_width, inv_crop_height); break; case FOURCC_I400: src = sample + src_width * crop_y + crop_x; - r = I400ToARGB(src, src_width, crop_argb, argb_stride, crop_width, + r = I400ToARGB(src, src_width, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; @@ -148,19 +148,19 @@ int ConvertToARGB(const uint8_t* sample, case FOURCC_NV12: src = sample + (src_width * crop_y + crop_x); src_uv = sample + aligned_src_width * (src_height + crop_y / 2) + crop_x; - r = NV12ToARGB(src, src_width, src_uv, aligned_src_width, crop_argb, - argb_stride, crop_width, inv_crop_height); + r = NV12ToARGB(src, src_width, src_uv, aligned_src_width, dst_argb, + dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_NV21: src = sample + (src_width * crop_y + crop_x); src_uv = sample + aligned_src_width * (src_height + crop_y / 2) + crop_x; // Call NV12 but with u and v parameters swapped. - r = NV21ToARGB(src, src_width, src_uv, aligned_src_width, crop_argb, - argb_stride, crop_width, inv_crop_height); + r = NV21ToARGB(src, src_width, src_uv, aligned_src_width, dst_argb, + dst_stride_argb, crop_width, inv_crop_height); break; case FOURCC_M420: src = sample + (src_width * crop_y) * 12 / 8 + crop_x; - r = M420ToARGB(src, src_width, crop_argb, argb_stride, crop_width, + r = M420ToARGB(src, src_width, dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; // Triplanar formats @@ -183,7 +183,7 @@ int ConvertToARGB(const uint8_t* sample, halfwidth * (halfheight + crop_y / 2) + crop_x / 2; } r = I420ToARGB(src_y, src_width, src_u, halfwidth, src_v, halfwidth, - crop_argb, argb_stride, crop_width, inv_crop_height); + dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; } @@ -198,7 +198,7 @@ int ConvertToARGB(const uint8_t* sample, src_v = sample + src_width * abs_src_height + halfwidth * (halfheight + crop_y / 2) + crop_x / 2; r = J420ToARGB(src_y, src_width, src_u, halfwidth, src_v, halfwidth, - crop_argb, argb_stride, crop_width, inv_crop_height); + dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; } @@ -220,7 +220,7 @@ int ConvertToARGB(const uint8_t* sample, halfwidth * (abs_src_height + crop_y) + crop_x / 2; } r = I422ToARGB(src_y, src_width, src_u, halfwidth, src_v, halfwidth, - crop_argb, argb_stride, crop_width, inv_crop_height); + dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; } case FOURCC_I444: @@ -236,12 +236,12 @@ int ConvertToARGB(const uint8_t* sample, src_v = sample + src_width * (abs_src_height * 2 + crop_y) + crop_x; } r = I444ToARGB(src_y, src_width, src_u, src_width, src_v, src_width, - crop_argb, argb_stride, crop_width, inv_crop_height); + dst_argb, dst_stride_argb, crop_width, inv_crop_height); break; } #ifdef HAVE_JPEG case FOURCC_MJPG: - r = MJPGToARGB(sample, sample_size, crop_argb, argb_stride, src_width, + r = MJPGToARGB(sample, sample_size, dst_argb, dst_stride_argb, src_width, abs_src_height, crop_width, inv_crop_height); break; #endif @@ -251,13 +251,13 @@ int ConvertToARGB(const uint8_t* sample, if (need_buf) { if (!r) { - r = ARGBRotate(crop_argb, argb_stride, dest_argb, dest_argb_stride, + r = ARGBRotate(dst_argb, dst_stride_argb, dest_argb, dest_dst_stride_argb, crop_width, abs_crop_height, rotation); } free(rotate_buffer); } else if (rotation) { src = sample + (src_width * crop_y + crop_x) * 4; - r = ARGBRotate(src, src_width * 4, crop_argb, argb_stride, crop_width, + r = ARGBRotate(src, src_width * 4, dst_argb, dst_stride_argb, crop_width, inv_crop_height, rotation); } diff --git a/source/convert_to_i420.cc b/source/convert_to_i420.cc index 38cf6f67..1bed9d64 100644 --- a/source/convert_to_i420.cc +++ b/source/convert_to_i420.cc @@ -27,12 +27,12 @@ extern "C" { LIBYUV_API int ConvertToI420(const uint8_t* sample, size_t sample_size, - uint8_t* y, - int y_stride, - uint8_t* u, - int u_stride, - uint8_t* v, - int v_stride, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, int crop_x, int crop_y, int src_width, @@ -52,26 +52,26 @@ int ConvertToI420(const uint8_t* sample, LIBYUV_BOOL need_buf = (rotation && format != FOURCC_I420 && format != FOURCC_NV12 && format != FOURCC_NV21 && format != FOURCC_YV12) || - y == sample; - uint8_t* tmp_y = y; - uint8_t* tmp_u = u; - uint8_t* tmp_v = v; - int tmp_y_stride = y_stride; - int tmp_u_stride = u_stride; - int tmp_v_stride = v_stride; + dst_y == sample; + uint8_t* tmp_y = dst_y; + uint8_t* tmp_u = dst_u; + uint8_t* tmp_v = dst_v; + int tmp_y_stride = dst_stride_y; + int tmp_u_stride = dst_stride_u; + int tmp_v_stride = dst_stride_v; uint8_t* rotate_buffer = NULL; const int inv_crop_height = (src_height < 0) ? -abs_crop_height : abs_crop_height; - if (!y || !u || !v || !sample || src_width <= 0 || crop_width <= 0 || - src_height == 0 || crop_height == 0) { + if (!dst_y || !dst_u || !dst_v || !sample || src_width <= 0 || + crop_width <= 0 || src_height == 0 || crop_height == 0) { return -1; } // One pass rotation is available for some formats. For the rest, convert // to I420 (with optional vertical flipping) into a temporary I420 buffer, // and then rotate the I420 to the final destination buffer. - // For in-place conversion, if destination y is same as source sample, + // For in-place conversion, if destination dst_y is same as source sample, // also enable temporary buffer. if (need_buf) { int y_size = crop_width * abs_crop_height; @@ -80,97 +80,108 @@ int ConvertToI420(const uint8_t* sample, if (!rotate_buffer) { return 1; // Out of memory runtime error. } - y = rotate_buffer; - u = y + y_size; - v = u + uv_size; - y_stride = crop_width; - u_stride = v_stride = ((crop_width + 1) / 2); + dst_y = rotate_buffer; + dst_u = dst_y + y_size; + dst_v = dst_u + uv_size; + dst_stride_y = crop_width; + dst_stride_u = dst_stride_v = ((crop_width + 1) / 2); } switch (format) { // Single plane formats case FOURCC_YUY2: src = sample + (aligned_src_width * crop_y + crop_x) * 2; - r = YUY2ToI420(src, aligned_src_width * 2, y, y_stride, u, u_stride, v, - v_stride, crop_width, inv_crop_height); + r = YUY2ToI420(src, aligned_src_width * 2, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_UYVY: src = sample + (aligned_src_width * crop_y + crop_x) * 2; - r = UYVYToI420(src, aligned_src_width * 2, y, y_stride, u, u_stride, v, - v_stride, crop_width, inv_crop_height); + r = UYVYToI420(src, aligned_src_width * 2, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_RGBP: src = sample + (src_width * crop_y + crop_x) * 2; - r = RGB565ToI420(src, src_width * 2, y, y_stride, u, u_stride, v, - v_stride, crop_width, inv_crop_height); + r = RGB565ToI420(src, src_width * 2, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_RGBO: src = sample + (src_width * crop_y + crop_x) * 2; - r = ARGB1555ToI420(src, src_width * 2, y, y_stride, u, u_stride, v, - v_stride, crop_width, inv_crop_height); + r = ARGB1555ToI420(src, src_width * 2, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_R444: src = sample + (src_width * crop_y + crop_x) * 2; - r = ARGB4444ToI420(src, src_width * 2, y, y_stride, u, u_stride, v, - v_stride, crop_width, inv_crop_height); + r = ARGB4444ToI420(src, src_width * 2, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_24BG: src = sample + (src_width * crop_y + crop_x) * 3; - r = RGB24ToI420(src, src_width * 3, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = RGB24ToI420(src, src_width * 3, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_RAW: src = sample + (src_width * crop_y + crop_x) * 3; - r = RAWToI420(src, src_width * 3, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = RAWToI420(src, src_width * 3, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_ARGB: src = sample + (src_width * crop_y + crop_x) * 4; - r = ARGBToI420(src, src_width * 4, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = ARGBToI420(src, src_width * 4, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_BGRA: src = sample + (src_width * crop_y + crop_x) * 4; - r = BGRAToI420(src, src_width * 4, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = BGRAToI420(src, src_width * 4, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_ABGR: src = sample + (src_width * crop_y + crop_x) * 4; - r = ABGRToI420(src, src_width * 4, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = ABGRToI420(src, src_width * 4, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_RGBA: src = sample + (src_width * crop_y + crop_x) * 4; - r = RGBAToI420(src, src_width * 4, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = RGBAToI420(src, src_width * 4, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, crop_width, + inv_crop_height); break; case FOURCC_I400: src = sample + src_width * crop_y + crop_x; - r = I400ToI420(src, src_width, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = I400ToI420(src, src_width, dst_y, dst_stride_y, dst_u, dst_stride_u, + dst_v, dst_stride_v, crop_width, inv_crop_height); break; // Biplanar formats case FOURCC_NV12: src = sample + (src_width * crop_y + crop_x); src_uv = sample + (src_width * src_height) + ((crop_y / 2) * aligned_src_width) + ((crop_x / 2) * 2); - r = NV12ToI420Rotate(src, src_width, src_uv, aligned_src_width, y, - y_stride, u, u_stride, v, v_stride, crop_width, - inv_crop_height, rotation); + r = NV12ToI420Rotate(src, src_width, src_uv, aligned_src_width, dst_y, + dst_stride_y, dst_u, dst_stride_u, dst_v, + dst_stride_v, crop_width, inv_crop_height, rotation); break; case FOURCC_NV21: src = sample + (src_width * crop_y + crop_x); src_uv = sample + (src_width * src_height) + ((crop_y / 2) * aligned_src_width) + ((crop_x / 2) * 2); - // Call NV12 but with u and v parameters swapped. - r = NV12ToI420Rotate(src, src_width, src_uv, aligned_src_width, y, - y_stride, v, v_stride, u, u_stride, crop_width, - inv_crop_height, rotation); + // Call NV12 but with dst_u and dst_v parameters swapped. + r = NV12ToI420Rotate(src, src_width, src_uv, aligned_src_width, dst_y, + dst_stride_y, dst_v, dst_stride_v, dst_u, + dst_stride_u, crop_width, inv_crop_height, rotation); break; case FOURCC_M420: src = sample + (src_width * crop_y) * 12 / 8 + crop_x; - r = M420ToI420(src, src_width, y, y_stride, u, u_stride, v, v_stride, - crop_width, inv_crop_height); + r = M420ToI420(src, src_width, dst_y, dst_stride_y, dst_u, dst_stride_u, + dst_v, dst_stride_v, crop_width, inv_crop_height); break; // Triplanar formats case FOURCC_I420: @@ -191,9 +202,9 @@ int ConvertToI420(const uint8_t* sample, src_v = sample + src_width * abs_src_height + halfwidth * (halfheight + crop_y / 2) + crop_x / 2; } - r = I420Rotate(src_y, src_width, src_u, halfwidth, src_v, halfwidth, y, - y_stride, u, u_stride, v, v_stride, crop_width, - inv_crop_height, rotation); + r = I420Rotate(src_y, src_width, src_u, halfwidth, src_v, halfwidth, + dst_y, dst_stride_y, dst_u, dst_stride_u, dst_v, + dst_stride_v, crop_width, inv_crop_height, rotation); break; } case FOURCC_I422: @@ -213,9 +224,9 @@ int ConvertToI420(const uint8_t* sample, src_v = sample + src_width * abs_src_height + halfwidth * (abs_src_height + crop_y) + crop_x / 2; } - r = I422ToI420(src_y, src_width, src_u, halfwidth, src_v, halfwidth, y, - y_stride, u, u_stride, v, v_stride, crop_width, - inv_crop_height); + r = I422ToI420(src_y, src_width, src_u, halfwidth, src_v, halfwidth, + dst_y, dst_stride_y, dst_u, dst_stride_u, dst_v, + dst_stride_v, crop_width, inv_crop_height); break; } case FOURCC_I444: @@ -230,15 +241,16 @@ int ConvertToI420(const uint8_t* sample, src_u = sample + src_width * (abs_src_height + crop_y) + crop_x; src_v = sample + src_width * (abs_src_height * 2 + crop_y) + crop_x; } - r = I444ToI420(src_y, src_width, src_u, src_width, src_v, src_width, y, - y_stride, u, u_stride, v, v_stride, crop_width, - inv_crop_height); + r = I444ToI420(src_y, src_width, src_u, src_width, src_v, src_width, + dst_y, dst_stride_y, dst_u, dst_stride_u, dst_v, + dst_stride_v, crop_width, inv_crop_height); break; } #ifdef HAVE_JPEG case FOURCC_MJPG: - r = MJPGToI420(sample, sample_size, y, y_stride, u, u_stride, v, v_stride, - src_width, abs_src_height, crop_width, inv_crop_height); + r = MJPGToI420(sample, sample_size, dst_y, dst_stride_y, dst_u, + dst_stride_u, dst_v, dst_stride_v, src_width, + abs_src_height, crop_width, inv_crop_height); break; #endif default: @@ -247,9 +259,10 @@ int ConvertToI420(const uint8_t* sample, if (need_buf) { if (!r) { - r = I420Rotate(y, y_stride, u, u_stride, v, v_stride, tmp_y, tmp_y_stride, - tmp_u, tmp_u_stride, tmp_v, tmp_v_stride, crop_width, - abs_crop_height, rotation); + r = I420Rotate(dst_y, dst_stride_y, dst_u, dst_stride_u, dst_v, + dst_stride_v, tmp_y, tmp_y_stride, tmp_u, tmp_u_stride, + tmp_v, tmp_v_stride, crop_width, abs_crop_height, + rotation); } free(rotate_buffer); } diff --git a/source/planar_functions.cc b/source/planar_functions.cc index 09e9c336..77d71633 100644 --- a/source/planar_functions.cc +++ b/source/planar_functions.cc @@ -3219,9 +3219,9 @@ int ARGBCopyAlpha(const uint8_t* src_argb, // Extract just the alpha channel from ARGB. LIBYUV_API int ARGBExtractAlpha(const uint8_t* src_argb, - int src_stride, + int src_stride_argb, uint8_t* dst_a, - int dst_stride, + int dst_stride_a, int width, int height) { if (!src_argb || !dst_a || width <= 0 || height == 0) { @@ -3230,14 +3230,14 @@ int ARGBExtractAlpha(const uint8_t* src_argb, // Negative height means invert the image. if (height < 0) { height = -height; - src_argb += (height - 1) * src_stride; - src_stride = -src_stride; + src_argb += (height - 1) * src_stride_argb; + src_stride_argb = -src_stride_argb; } // Coalesce rows. - if (src_stride == width * 4 && dst_stride == width) { + if (src_stride_argb == width * 4 && dst_stride_a == width) { width *= height; height = 1; - src_stride = dst_stride = 0; + src_stride_argb = dst_stride_a = 0; } void (*ARGBExtractAlphaRow)(const uint8_t* src_argb, uint8_t* dst_a, int width) = ARGBExtractAlphaRow_C; @@ -3268,8 +3268,8 @@ int ARGBExtractAlpha(const uint8_t* src_argb, for (int y = 0; y < height; ++y) { ARGBExtractAlphaRow(src_argb, dst_a, width); - src_argb += src_stride; - dst_a += dst_stride; + src_argb += src_stride_argb; + dst_a += dst_stride_a; } return 0; } diff --git a/source/row_gcc.cc b/source/row_gcc.cc index 41a3ed7b..95845c25 100644 --- a/source/row_gcc.cc +++ b/source/row_gcc.cc @@ -3626,7 +3626,7 @@ void MergeRGBRow_SSSE3(const uint8_t* src_r, #endif // HAS_MERGERGBROW_SSSE3 #ifdef HAS_COPYROW_SSE2 -void CopyRow_SSE2(const uint8_t* src, uint8_t* dst, int count) { +void CopyRow_SSE2(const uint8_t* src, uint8_t* dst, int width) { asm volatile( "test $0xf,%0 \n" "jne 2f \n" @@ -3659,14 +3659,14 @@ void CopyRow_SSE2(const uint8_t* src, uint8_t* dst, int count) { LABELALIGN "9: \n" : "+r"(src), // %0 "+r"(dst), // %1 - "+r"(count) // %2 + "+r"(width) // %2 : : "memory", "cc", "xmm0", "xmm1"); } #endif // HAS_COPYROW_SSE2 #ifdef HAS_COPYROW_AVX -void CopyRow_AVX(const uint8_t* src, uint8_t* dst, int count) { +void CopyRow_AVX(const uint8_t* src, uint8_t* dst, int width) { asm volatile( LABELALIGN @@ -3681,7 +3681,7 @@ void CopyRow_AVX(const uint8_t* src, uint8_t* dst, int count) { "jg 1b \n" : "+r"(src), // %0 "+r"(dst), // %1 - "+r"(count) // %2 + "+r"(width) // %2 : : "memory", "cc", "xmm0", "xmm1"); } diff --git a/source/row_msa.cc b/source/row_msa.cc index ba9a8432..66666cef 100644 --- a/source/row_msa.cc +++ b/source/row_msa.cc @@ -370,7 +370,7 @@ void I422ToUYVYRow_MSA(const uint8_t* src_y, void I422ToARGBRow_MSA(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -390,18 +390,18 @@ void I422ToARGBRow_MSA(const uint8_t* src_y, src1 = (v16u8)__msa_ilvr_b((v16i8)src2, (v16i8)src1); YUVTORGB(src0, src1, vec_ubvr, vec_ugvg, vec_bb, vec_bg, vec_br, vec_yg, vec0, vec1, vec2); - STOREARGB(vec0, vec1, vec2, alpha, rgb_buf); + STOREARGB(vec0, vec1, vec2, alpha, dst_argb); src_y += 8; src_u += 4; src_v += 4; - rgb_buf += 32; + dst_argb += 32; } } void I422ToRGBARow_MSA(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -421,11 +421,11 @@ void I422ToRGBARow_MSA(const uint8_t* src_y, src1 = (v16u8)__msa_ilvr_b((v16i8)src2, (v16i8)src1); YUVTORGB(src0, src1, vec_ubvr, vec_ugvg, vec_bb, vec_bg, vec_br, vec_yg, vec0, vec1, vec2); - STOREARGB(alpha, vec0, vec1, vec2, rgb_buf); + STOREARGB(alpha, vec0, vec1, vec2, dst_argb); src_y += 8; src_u += 4; src_v += 4; - rgb_buf += 32; + dst_argb += 32; } } @@ -433,7 +433,7 @@ void I422AlphaToARGBRow_MSA(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, const uint8_t* src_a, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -457,19 +457,19 @@ void I422AlphaToARGBRow_MSA(const uint8_t* src_y, YUVTORGB(src0, src1, vec_ubvr, vec_ugvg, vec_bb, vec_bg, vec_br, vec_yg, vec0, vec1, vec2); src3 = (v16u8)__msa_ilvr_b((v16i8)src3, (v16i8)src3); - STOREARGB(vec0, vec1, vec2, src3, rgb_buf); + STOREARGB(vec0, vec1, vec2, src3, dst_argb); src_y += 8; src_u += 4; src_v += 4; src_a += 8; - rgb_buf += 32; + dst_argb += 32; } } void I422ToRGB24Row_MSA(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int32_t width) { int x; @@ -510,12 +510,12 @@ void I422ToRGB24Row_MSA(const uint8_t* src_y, dst0 = (v16u8)__msa_vshf_b(shuffler0, (v16i8)reg3, (v16i8)reg0); dst1 = (v16u8)__msa_vshf_b(shuffler1, (v16i8)reg3, (v16i8)reg1); dst2 = (v16u8)__msa_vshf_b(shuffler2, (v16i8)reg3, (v16i8)reg2); - ST_UB2(dst0, dst1, rgb_buf, 16); - ST_UB(dst2, (rgb_buf + 32)); + ST_UB2(dst0, dst1, dst_argb, 16); + ST_UB(dst2, (dst_argb + 32)); src_y += 16; src_u += 8; src_v += 8; - rgb_buf += 48; + dst_argb += 48; } } @@ -2229,7 +2229,7 @@ void RAWToUVRow_MSA(const uint8_t* src_rgb0, void NV12ToARGBRow_MSA(const uint8_t* src_y, const uint8_t* src_uv, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -2257,16 +2257,16 @@ void NV12ToARGBRow_MSA(const uint8_t* src_y, res1 = (v16u8)__msa_ilvev_b((v16i8)alpha, (v16i8)vec1); dst0 = (v16u8)__msa_ilvr_b((v16i8)res1, (v16i8)res0); dst1 = (v16u8)__msa_ilvl_b((v16i8)res1, (v16i8)res0); - ST_UB2(dst0, dst1, rgb_buf, 16); + ST_UB2(dst0, dst1, dst_argb, 16); src_y += 8; src_uv += 8; - rgb_buf += 32; + dst_argb += 32; } } void NV12ToRGB565Row_MSA(const uint8_t* src_y, const uint8_t* src_uv, - uint8_t* rgb_buf, + uint8_t* dst_rgb565, const struct YuvConstants* yuvconstants, int width) { int x; @@ -2293,16 +2293,16 @@ void NV12ToRGB565Row_MSA(const uint8_t* src_y, vec1 = (vec1 >> 2) << 5; vec2 = (vec2 >> 3) << 11; dst0 = (v16u8)(vec0 | vec1 | vec2); - ST_UB(dst0, rgb_buf); + ST_UB(dst0, dst_rgb565); src_y += 8; src_uv += 8; - rgb_buf += 16; + dst_rgb565 += 16; } } void NV21ToARGBRow_MSA(const uint8_t* src_y, const uint8_t* src_vu, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -2332,10 +2332,10 @@ void NV21ToARGBRow_MSA(const uint8_t* src_y, res1 = (v16u8)__msa_ilvev_b((v16i8)alpha, (v16i8)vec1); dst0 = (v16u8)__msa_ilvr_b((v16i8)res1, (v16i8)res0); dst1 = (v16u8)__msa_ilvl_b((v16i8)res1, (v16i8)res0); - ST_UB2(dst0, dst1, rgb_buf, 16); + ST_UB2(dst0, dst1, dst_argb, 16); src_y += 8; src_vu += 8; - rgb_buf += 32; + dst_argb += 32; } } @@ -2669,7 +2669,7 @@ void RGBAToUVRow_MSA(const uint8_t* src_rgb0, void I444ToARGBRow_MSA(const uint8_t* src_y, const uint8_t* src_u, const uint8_t* src_v, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -2726,15 +2726,15 @@ void I444ToARGBRow_MSA(const uint8_t* src_y, vec1 = (v8u16)__msa_ilvev_b((v16i8)alpha, (v16i8)vec2); dst0 = (v16u8)__msa_ilvr_h((v8i16)vec1, (v8i16)vec0); dst1 = (v16u8)__msa_ilvl_h((v8i16)vec1, (v8i16)vec0); - ST_UB2(dst0, dst1, rgb_buf, 16); + ST_UB2(dst0, dst1, dst_argb, 16); src_y += 8; src_u += 8; src_v += 8; - rgb_buf += 32; + dst_argb += 32; } } -void I400ToARGBRow_MSA(const uint8_t* src_y, uint8_t* rgb_buf, int width) { +void I400ToARGBRow_MSA(const uint8_t* src_y, uint8_t* dst_argb, int width) { int x; v16u8 src0, res0, res1, res2, res3, res4, dst0, dst1, dst2, dst3; v8i16 vec0, vec1; @@ -2780,9 +2780,9 @@ void I400ToARGBRow_MSA(const uint8_t* src_y, uint8_t* rgb_buf, int width) { dst1 = (v16u8)__msa_ilvl_b((v16i8)res3, (v16i8)res1); dst2 = (v16u8)__msa_ilvr_b((v16i8)res4, (v16i8)res2); dst3 = (v16u8)__msa_ilvl_b((v16i8)res4, (v16i8)res2); - ST_UB4(dst0, dst1, dst2, dst3, rgb_buf, 16); + ST_UB4(dst0, dst1, dst2, dst3, dst_argb, 16); src_y += 16; - rgb_buf += 64; + dst_argb += 64; } } @@ -2808,7 +2808,7 @@ void J400ToARGBRow_MSA(const uint8_t* src_y, uint8_t* dst_argb, int width) { } void YUY2ToARGBRow_MSA(const uint8_t* src_yuy2, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -2829,14 +2829,14 @@ void YUY2ToARGBRow_MSA(const uint8_t* src_yuy2, src2 = (v16u8)__msa_pckod_b((v16i8)src0, (v16i8)src0); YUVTORGB(src1, src2, vec_ubvr, vec_ugvg, vec_bb, vec_bg, vec_br, vec_yg, vec0, vec1, vec2); - STOREARGB(vec0, vec1, vec2, alpha, rgb_buf); + STOREARGB(vec0, vec1, vec2, alpha, dst_argb); src_yuy2 += 16; - rgb_buf += 32; + dst_argb += 32; } } void UYVYToARGBRow_MSA(const uint8_t* src_uyvy, - uint8_t* rgb_buf, + uint8_t* dst_argb, const struct YuvConstants* yuvconstants, int width) { int x; @@ -2857,9 +2857,9 @@ void UYVYToARGBRow_MSA(const uint8_t* src_uyvy, src2 = (v16u8)__msa_pckev_b((v16i8)src0, (v16i8)src0); YUVTORGB(src1, src2, vec_ubvr, vec_ugvg, vec_bb, vec_bg, vec_br, vec_yg, vec0, vec1, vec2); - STOREARGB(vec0, vec1, vec2, alpha, rgb_buf); + STOREARGB(vec0, vec1, vec2, alpha, dst_argb); src_uyvy += 16; - rgb_buf += 32; + dst_argb += 32; } } diff --git a/source/row_neon.cc b/source/row_neon.cc index 32491a47..93a3497d 100644 --- a/source/row_neon.cc +++ b/source/row_neon.cc @@ -584,7 +584,7 @@ void MergeRGBRow_NEON(const uint8_t* src_r, } // Copy multiple of 32. vld4.8 allow unaligned and is fastest on a15. -void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int count) { +void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int width) { asm volatile( "1: \n" "vld1.8 {d0, d1, d2, d3}, [%0]! \n" // load 32 @@ -593,14 +593,14 @@ void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int count) { "bgt 1b \n" : "+r"(src), // %0 "+r"(dst), // %1 - "+r"(count) // %2 // Output registers + "+r"(width) // %2 // Output registers : // Input registers : "cc", "memory", "q0", "q1" // Clobber List ); } -// SetRow writes 'count' bytes using an 8 bit value repeated. -void SetRow_NEON(uint8_t* dst, uint8_t v8, int count) { +// SetRow writes 'width' bytes using an 8 bit value repeated. +void SetRow_NEON(uint8_t* dst, uint8_t v8, int width) { asm volatile( "vdup.8 q0, %2 \n" // duplicate 16 bytes "1: \n" @@ -608,13 +608,13 @@ void SetRow_NEON(uint8_t* dst, uint8_t v8, int count) { "vst1.8 {q0}, [%0]! \n" // store "bgt 1b \n" : "+r"(dst), // %0 - "+r"(count) // %1 + "+r"(width) // %1 : "r"(v8) // %2 : "cc", "memory", "q0"); } -// ARGBSetRow writes 'count' pixels using an 32 bit value repeated. -void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int count) { +// ARGBSetRow writes 'width' pixels using an 32 bit value repeated. +void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int width) { asm volatile( "vdup.u32 q0, %2 \n" // duplicate 4 ints "1: \n" @@ -622,7 +622,7 @@ void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int count) { "vst1.8 {q0}, [%0]! \n" // store "bgt 1b \n" : "+r"(dst), // %0 - "+r"(count) // %1 + "+r"(width) // %1 : "r"(v32) // %2 : "cc", "memory", "q0"); } @@ -2552,7 +2552,10 @@ void SobelYRow_NEON(const uint8_t* src_y0, ); } -void HalfFloat1Row_NEON(const uint16_t* src, uint16_t* dst, float, int width) { +void HalfFloat1Row_NEON(const uint16_t* src, + uint16_t* dst, + float /*unused*/, + int width) { asm volatile( "vdup.32 q0, %3 \n" diff --git a/source/row_neon64.cc b/source/row_neon64.cc index 93670966..e7b8b5c1 100644 --- a/source/row_neon64.cc +++ b/source/row_neon64.cc @@ -629,7 +629,7 @@ void MergeRGBRow_NEON(const uint8_t* src_r, } // Copy multiple of 32. -void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int count) { +void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int width) { asm volatile( "1: \n" "ldp q0, q1, [%0], #32 \n" @@ -638,14 +638,14 @@ void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int count) { "b.gt 1b \n" : "+r"(src), // %0 "+r"(dst), // %1 - "+r"(count) // %2 // Output registers + "+r"(width) // %2 // Output registers : // Input registers : "cc", "memory", "v0", "v1" // Clobber List ); } -// SetRow writes 'count' bytes using an 8 bit value repeated. -void SetRow_NEON(uint8_t* dst, uint8_t v8, int count) { +// SetRow writes 'width' bytes using an 8 bit value repeated. +void SetRow_NEON(uint8_t* dst, uint8_t v8, int width) { asm volatile( "dup v0.16b, %w2 \n" // duplicate 16 bytes "1: \n" @@ -653,12 +653,12 @@ void SetRow_NEON(uint8_t* dst, uint8_t v8, int count) { "st1 {v0.16b}, [%0], #16 \n" // store "b.gt 1b \n" : "+r"(dst), // %0 - "+r"(count) // %1 + "+r"(width) // %1 : "r"(v8) // %2 : "cc", "memory", "v0"); } -void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int count) { +void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int width) { asm volatile( "dup v0.4s, %w2 \n" // duplicate 4 ints "1: \n" @@ -666,7 +666,7 @@ void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int count) { "st1 {v0.16b}, [%0], #16 \n" // store "b.gt 1b \n" : "+r"(dst), // %0 - "+r"(count) // %1 + "+r"(width) // %1 : "r"(v32) // %2 : "cc", "memory", "v0"); } @@ -2600,7 +2600,10 @@ void SobelYRow_NEON(const uint8_t* src_y0, } // Caveat - rounds float to half float whereas scaling version truncates. -void HalfFloat1Row_NEON(const uint16_t* src, uint16_t* dst, float, int width) { +void HalfFloat1Row_NEON(const uint16_t* src, + uint16_t* dst, + float /*unused*/, + int width) { asm volatile( "1: \n" "ld1 {v1.16b}, [%0], #16 \n" // load 8 shorts diff --git a/source/row_win.cc b/source/row_win.cc index e94bb227..5500d7f5 100644 --- a/source/row_win.cc +++ b/source/row_win.cc @@ -3275,14 +3275,14 @@ __declspec(naked) void MergeUVRow_AVX2(const uint8_t* src_u, #endif // HAS_MERGEUVROW_AVX2 #ifdef HAS_COPYROW_SSE2 -// CopyRow copys 'count' bytes using a 16 byte load/store, 32 bytes at time. +// CopyRow copys 'width' bytes using a 16 byte load/store, 32 bytes at time. __declspec(naked) void CopyRow_SSE2(const uint8_t* src, uint8_t* dst, - int count) { + int width) { __asm { mov eax, [esp + 4] // src mov edx, [esp + 8] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width test eax, 15 jne convertloopu test edx, 15 @@ -3314,14 +3314,14 @@ __declspec(naked) void CopyRow_SSE2(const uint8_t* src, #endif // HAS_COPYROW_SSE2 #ifdef HAS_COPYROW_AVX -// CopyRow copys 'count' bytes using a 32 byte load/store, 64 bytes at time. +// CopyRow copys 'width' bytes using a 32 byte load/store, 64 bytes at time. __declspec(naked) void CopyRow_AVX(const uint8_t* src, uint8_t* dst, - int count) { + int width) { __asm { mov eax, [esp + 4] // src mov edx, [esp + 8] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width convertloop: vmovdqu ymm0, [eax] @@ -3342,13 +3342,13 @@ __declspec(naked) void CopyRow_AVX(const uint8_t* src, // Multiple of 1. __declspec(naked) void CopyRow_ERMS(const uint8_t* src, uint8_t* dst, - int count) { + int width) { __asm { mov eax, esi mov edx, edi mov esi, [esp + 4] // src mov edi, [esp + 8] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width rep movsb mov edi, edx mov esi, eax @@ -3364,7 +3364,7 @@ __declspec(naked) void ARGBCopyAlphaRow_SSE2(const uint8_t* src, __asm { mov eax, [esp + 4] // src mov edx, [esp + 8] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width pcmpeqb xmm0, xmm0 // generate mask 0xff000000 pslld xmm0, 24 pcmpeqb xmm1, xmm1 // generate mask 0x00ffffff @@ -3401,7 +3401,7 @@ __declspec(naked) void ARGBCopyAlphaRow_AVX2(const uint8_t* src, __asm { mov eax, [esp + 4] // src mov edx, [esp + 8] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width vpcmpeqb ymm0, ymm0, ymm0 vpsrld ymm0, ymm0, 8 // generate mask 0x00ffffff @@ -3495,7 +3495,7 @@ __declspec(naked) void ARGBCopyYToAlphaRow_SSE2(const uint8_t* src, __asm { mov eax, [esp + 4] // src mov edx, [esp + 8] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width pcmpeqb xmm0, xmm0 // generate mask 0xff000000 pslld xmm0, 24 pcmpeqb xmm1, xmm1 // generate mask 0x00ffffff @@ -3534,7 +3534,7 @@ __declspec(naked) void ARGBCopyYToAlphaRow_AVX2(const uint8_t* src, __asm { mov eax, [esp + 4] // src mov edx, [esp + 8] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width vpcmpeqb ymm0, ymm0, ymm0 vpsrld ymm0, ymm0, 8 // generate mask 0x00ffffff @@ -3559,16 +3559,16 @@ __declspec(naked) void ARGBCopyYToAlphaRow_AVX2(const uint8_t* src, #endif // HAS_ARGBCOPYYTOALPHAROW_AVX2 #ifdef HAS_SETROW_X86 -// Write 'count' bytes using an 8 bit value repeated. -// Count should be multiple of 4. -__declspec(naked) void SetRow_X86(uint8_t* dst, uint8_t v8, int count) { +// Write 'width' bytes using an 8 bit value repeated. +// width should be multiple of 4. +__declspec(naked) void SetRow_X86(uint8_t* dst, uint8_t v8, int width) { __asm { movzx eax, byte ptr [esp + 8] // v8 mov edx, 0x01010101 // Duplicate byte to all bytes. mul edx // overwrites edx with upper part of result. mov edx, edi mov edi, [esp + 4] // dst - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width shr ecx, 2 rep stosd mov edi, edx @@ -3576,28 +3576,28 @@ __declspec(naked) void SetRow_X86(uint8_t* dst, uint8_t v8, int count) { } } -// Write 'count' bytes using an 8 bit value repeated. -__declspec(naked) void SetRow_ERMS(uint8_t* dst, uint8_t v8, int count) { +// Write 'width' bytes using an 8 bit value repeated. +__declspec(naked) void SetRow_ERMS(uint8_t* dst, uint8_t v8, int width) { __asm { mov edx, edi mov edi, [esp + 4] // dst mov eax, [esp + 8] // v8 - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width rep stosb mov edi, edx ret } } -// Write 'count' 32 bit values. +// Write 'width' 32 bit values. __declspec(naked) void ARGBSetRow_X86(uint8_t* dst_argb, uint32_t v32, - int count) { + int width) { __asm { mov edx, edi mov edi, [esp + 4] // dst mov eax, [esp + 8] // v32 - mov ecx, [esp + 12] // count + mov ecx, [esp + 12] // width rep stosd mov edi, edx ret diff --git a/source/scale.cc b/source/scale.cc index 510372be..2cfa1c6c 100644 --- a/source/scale.cc +++ b/source/scale.cc @@ -1735,44 +1735,6 @@ int Scale(const uint8_t* src_y, dst_height, interpolate ? kFilterBox : kFilterNone); } -// Deprecated api -LIBYUV_API -int ScaleOffset(const uint8_t* src, - int src_width, - int src_height, - uint8_t* dst, - int dst_width, - int dst_height, - int dst_yoffset, - LIBYUV_BOOL interpolate) { - // Chroma requires offset to multiple of 2. - int dst_yoffset_even = dst_yoffset & ~1; - int src_halfwidth = SUBSAMPLE(src_width, 1, 1); - int src_halfheight = SUBSAMPLE(src_height, 1, 1); - int dst_halfwidth = SUBSAMPLE(dst_width, 1, 1); - int dst_halfheight = SUBSAMPLE(dst_height, 1, 1); - int aheight = dst_height - dst_yoffset_even * 2; // actual output height - const uint8_t* src_y = src; - const uint8_t* src_u = src + src_width * src_height; - const uint8_t* src_v = - src + src_width * src_height + src_halfwidth * src_halfheight; - uint8_t* dst_y = dst + dst_yoffset_even * dst_width; - uint8_t* dst_u = - dst + dst_width * dst_height + (dst_yoffset_even >> 1) * dst_halfwidth; - uint8_t* dst_v = dst + dst_width * dst_height + - dst_halfwidth * dst_halfheight + - (dst_yoffset_even >> 1) * dst_halfwidth; - if (!src || src_width <= 0 || src_height <= 0 || !dst || dst_width <= 0 || - dst_height <= 0 || dst_yoffset_even < 0 || - dst_yoffset_even >= dst_height) { - return -1; - } - return I420Scale(src_y, src_width, src_u, src_halfwidth, src_v, src_halfwidth, - src_width, src_height, dst_y, dst_width, dst_u, - dst_halfwidth, dst_v, dst_halfwidth, dst_width, aheight, - interpolate ? kFilterBox : kFilterNone); -} - #ifdef __cplusplus } // extern "C" } // namespace libyuv diff --git a/util/psnr.h b/util/psnr.h index 32714527..aac128cb 100644 --- a/util/psnr.h +++ b/util/psnr.h @@ -31,7 +31,9 @@ static const double kMaxPSNR = 128.0; #if !defined(HAVE_JPEG) // Computer Sum of Squared Error (SSE). // Pass this to ComputePSNR for final result. -double ComputeSumSquareError(const uint8_t* org, const uint8_t* rec, int size); +double ComputeSumSquareError(const uint8_t* src_a, + const uint8_t* src_b, + int count); #endif // PSNR formula: psnr = 10 * log10 (Peak Signal^2 * size / sse) |