| Index: source/planar_functions.cc
|
| diff --git a/source/planar_functions.cc b/source/planar_functions.cc
|
| index 3cca5f48b2518478281627ddcce75f07c55484cf..2299ab8920a7e030a12f2e61f48e59c7b07930fa 100644
|
| --- a/source/planar_functions.cc
|
| +++ b/source/planar_functions.cc
|
| @@ -287,9 +287,9 @@ int YUY2ToI422(const uint8* src_yuy2, int src_stride_yuy2,
|
| int width, int height) {
|
| int y;
|
| void (*YUY2ToUV422Row)(const uint8* src_yuy2,
|
| - uint8* dst_u, uint8* dst_v, int pix) =
|
| + uint8* dst_u, uint8* dst_v, int width) =
|
| YUY2ToUV422Row_C;
|
| - void (*YUY2ToYRow)(const uint8* src_yuy2, uint8* dst_y, int pix) =
|
| + void (*YUY2ToYRow)(const uint8* src_yuy2, uint8* dst_y, int width) =
|
| YUY2ToYRow_C;
|
| // Negative height means invert the image.
|
| if (height < 0) {
|
| @@ -359,10 +359,10 @@ int UYVYToI422(const uint8* src_uyvy, int src_stride_uyvy,
|
| int width, int height) {
|
| int y;
|
| void (*UYVYToUV422Row)(const uint8* src_uyvy,
|
| - uint8* dst_u, uint8* dst_v, int pix) =
|
| + uint8* dst_u, uint8* dst_v, int width) =
|
| UYVYToUV422Row_C;
|
| void (*UYVYToYRow)(const uint8* src_uyvy,
|
| - uint8* dst_y, int pix) = UYVYToYRow_C;
|
| + uint8* dst_y, int width) = UYVYToYRow_C;
|
| // Negative height means invert the image.
|
| if (height < 0) {
|
| height = -height;
|
| @@ -790,6 +790,7 @@ int I422ToBGRA(const uint8* src_y, int src_stride_y,
|
| const uint8* u_buf,
|
| const uint8* v_buf,
|
| uint8* rgb_buf,
|
| + struct YuvConstants* yuvconstants,
|
| int width) = I422ToBGRARow_C;
|
| if (!src_y || !src_u || !src_v ||
|
| !dst_bgra ||
|
| @@ -846,7 +847,7 @@ int I422ToBGRA(const uint8* src_y, int src_stride_y,
|
| #endif
|
|
|
| for (y = 0; y < height; ++y) {
|
| - I422ToBGRARow(src_y, src_u, src_v, dst_bgra, width);
|
| + I422ToBGRARow(src_y, src_u, src_v, dst_bgra, &kYuvConstants, width);
|
| dst_bgra += dst_stride_bgra;
|
| src_y += src_stride_y;
|
| src_u += src_stride_u;
|
| @@ -867,6 +868,7 @@ int I422ToABGR(const uint8* src_y, int src_stride_y,
|
| const uint8* u_buf,
|
| const uint8* v_buf,
|
| uint8* rgb_buf,
|
| + struct YuvConstants* yuvconstants,
|
| int width) = I422ToABGRRow_C;
|
| if (!src_y || !src_u || !src_v ||
|
| !dst_abgr ||
|
| @@ -914,7 +916,7 @@ int I422ToABGR(const uint8* src_y, int src_stride_y,
|
| #endif
|
|
|
| for (y = 0; y < height; ++y) {
|
| - I422ToABGRRow(src_y, src_u, src_v, dst_abgr, width);
|
| + I422ToABGRRow(src_y, src_u, src_v, dst_abgr, &kYuvConstants, width);
|
| dst_abgr += dst_stride_abgr;
|
| src_y += src_stride_y;
|
| src_u += src_stride_u;
|
| @@ -935,6 +937,7 @@ int I422ToRGBA(const uint8* src_y, int src_stride_y,
|
| const uint8* u_buf,
|
| const uint8* v_buf,
|
| uint8* rgb_buf,
|
| + struct YuvConstants* yuvconstants,
|
| int width) = I422ToRGBARow_C;
|
| if (!src_y || !src_u || !src_v ||
|
| !dst_rgba ||
|
| @@ -982,7 +985,7 @@ int I422ToRGBA(const uint8* src_y, int src_stride_y,
|
| #endif
|
|
|
| for (y = 0; y < height; ++y) {
|
| - I422ToRGBARow(src_y, src_u, src_v, dst_rgba, width);
|
| + I422ToRGBARow(src_y, src_u, src_v, dst_rgba, &kYuvConstants, width);
|
| dst_rgba += dst_stride_rgba;
|
| src_y += src_stride_y;
|
| src_u += src_stride_u;
|
| @@ -1001,6 +1004,7 @@ int NV12ToRGB565(const uint8* src_y, int src_stride_y,
|
| void (*NV12ToRGB565Row)(const uint8* y_buf,
|
| const uint8* uv_buf,
|
| uint8* rgb_buf,
|
| + struct YuvConstants* yuvconstants,
|
| int width) = NV12ToRGB565Row_C;
|
| if (!src_y || !src_uv || !dst_rgb565 ||
|
| width <= 0 || height == 0) {
|
| @@ -1038,7 +1042,7 @@ int NV12ToRGB565(const uint8* src_y, int src_stride_y,
|
| #endif
|
|
|
| for (y = 0; y < height; ++y) {
|
| - NV12ToRGB565Row(src_y, src_uv, dst_rgb565, width);
|
| + NV12ToRGB565Row(src_y, src_uv, dst_rgb565, &kYuvConstants, width);
|
| dst_rgb565 += dst_stride_rgb565;
|
| src_y += src_stride_y;
|
| if (y & 1) {
|
| @@ -1055,10 +1059,11 @@ int NV21ToRGB565(const uint8* src_y, int src_stride_y,
|
| uint8* dst_rgb565, int dst_stride_rgb565,
|
| int width, int height) {
|
| int y;
|
| - void (*NV21ToRGB565Row)(const uint8* y_buf,
|
| + void (*NV12ToRGB565Row)(const uint8* y_buf,
|
| const uint8* src_vu,
|
| uint8* rgb_buf,
|
| - int width) = NV21ToRGB565Row_C;
|
| + struct YuvConstants* yuvconstants,
|
| + int width) = NV12ToRGB565Row_C;
|
| if (!src_y || !src_vu || !dst_rgb565 ||
|
| width <= 0 || height == 0) {
|
| return -1;
|
| @@ -1069,33 +1074,33 @@ int NV21ToRGB565(const uint8* src_y, int src_stride_y,
|
| dst_rgb565 = dst_rgb565 + (height - 1) * dst_stride_rgb565;
|
| dst_stride_rgb565 = -dst_stride_rgb565;
|
| }
|
| -#if defined(HAS_NV21TORGB565ROW_SSSE3)
|
| +#if defined(HAS_NV12TORGB565ROW_SSSE3)
|
| if (TestCpuFlag(kCpuHasSSSE3)) {
|
| - NV21ToRGB565Row = NV21ToRGB565Row_Any_SSSE3;
|
| + NV12ToRGB565Row = NV12ToRGB565Row_Any_SSSE3;
|
| if (IS_ALIGNED(width, 8)) {
|
| - NV21ToRGB565Row = NV21ToRGB565Row_SSSE3;
|
| + NV12ToRGB565Row = NV12ToRGB565Row_SSSE3;
|
| }
|
| }
|
| #endif
|
| -#if defined(HAS_NV21TORGB565ROW_AVX2)
|
| +#if defined(HAS_NV12TORGB565ROW_AVX2)
|
| if (TestCpuFlag(kCpuHasAVX2)) {
|
| - NV21ToRGB565Row = NV21ToRGB565Row_Any_AVX2;
|
| + NV12ToRGB565Row = NV12ToRGB565Row_Any_AVX2;
|
| if (IS_ALIGNED(width, 16)) {
|
| - NV21ToRGB565Row = NV21ToRGB565Row_AVX2;
|
| + NV12ToRGB565Row = NV12ToRGB565Row_AVX2;
|
| }
|
| }
|
| #endif
|
| -#if defined(HAS_NV21TORGB565ROW_NEON)
|
| +#if defined(HAS_NV12TORGB565ROW_NEON)
|
| if (TestCpuFlag(kCpuHasNEON)) {
|
| - NV21ToRGB565Row = NV21ToRGB565Row_Any_NEON;
|
| + NV12ToRGB565Row = NV12ToRGB565Row_Any_NEON;
|
| if (IS_ALIGNED(width, 8)) {
|
| - NV21ToRGB565Row = NV21ToRGB565Row_NEON;
|
| + NV12ToRGB565Row = NV12ToRGB565Row_NEON;
|
| }
|
| }
|
| #endif
|
|
|
| for (y = 0; y < height; ++y) {
|
| - NV21ToRGB565Row(src_y, src_vu, dst_rgb565, width);
|
| + NV12ToRGB565Row(src_y, src_vu, dst_rgb565, &kYvuConstants, width);
|
| dst_rgb565 += dst_stride_rgb565;
|
| src_y += src_stride_y;
|
| if (y & 1) {
|
| @@ -1110,7 +1115,7 @@ void SetPlane(uint8* dst_y, int dst_stride_y,
|
| int width, int height,
|
| uint32 value) {
|
| int y;
|
| - void (*SetRow)(uint8* dst, uint8 value, int pix) = SetRow_C;
|
| + void (*SetRow)(uint8* dst, uint8 value, int width) = SetRow_C;
|
| if (height < 0) {
|
| height = -height;
|
| dst_y = dst_y + (height - 1) * dst_stride_y;
|
| @@ -1186,7 +1191,7 @@ int ARGBRect(uint8* dst_argb, int dst_stride_argb,
|
| int width, int height,
|
| uint32 value) {
|
| int y;
|
| - void (*ARGBSetRow)(uint8* dst_argb, uint32 value, int pix) = ARGBSetRow_C;
|
| + void (*ARGBSetRow)(uint8* dst_argb, uint32 value, int width) = ARGBSetRow_C;
|
| if (!dst_argb ||
|
| width <= 0 || height == 0 ||
|
| dst_x < 0 || dst_y < 0) {
|
| @@ -1909,7 +1914,7 @@ int ARGBShuffle(const uint8* src_bgra, int src_stride_bgra,
|
| const uint8* shuffler, int width, int height) {
|
| int y;
|
| void (*ARGBShuffleRow)(const uint8* src_bgra, uint8* dst_argb,
|
| - const uint8* shuffler, int pix) = ARGBShuffleRow_C;
|
| + const uint8* shuffler, int width) = ARGBShuffleRow_C;
|
| if (!src_bgra || !dst_argb ||
|
| width <= 0 || height == 0) {
|
| return -1;
|
| @@ -1976,7 +1981,7 @@ static int ARGBSobelize(const uint8* src_argb, int src_stride_argb,
|
| const uint8* src_sobely,
|
| uint8* dst, int width)) {
|
| int y;
|
| - void (*ARGBToYJRow)(const uint8* src_argb, uint8* dst_g, int pix) =
|
| + void (*ARGBToYJRow)(const uint8* src_argb, uint8* dst_g, int width) =
|
| ARGBToYJRow_C;
|
| void (*SobelYRow)(const uint8* src_y0, const uint8* src_y1,
|
| uint8* dst_sobely, int width) = SobelYRow_C;
|
| @@ -2360,8 +2365,8 @@ int YUY2ToNV12(const uint8* src_yuy2, int src_stride_yuy2,
|
| int width, int height) {
|
| int y;
|
| int halfwidth = (width + 1) >> 1;
|
| - void (*SplitUVRow)(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int pix) =
|
| - SplitUVRow_C;
|
| + void (*SplitUVRow)(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
|
| + int width) = SplitUVRow_C;
|
| void (*InterpolateRow)(uint8* dst_ptr, const uint8* src_ptr,
|
| ptrdiff_t src_stride, int dst_width,
|
| int source_y_fraction) = InterpolateRow_C;
|
| @@ -2464,8 +2469,8 @@ int UYVYToNV12(const uint8* src_uyvy, int src_stride_uyvy,
|
| int width, int height) {
|
| int y;
|
| int halfwidth = (width + 1) >> 1;
|
| - void (*SplitUVRow)(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int pix) =
|
| - SplitUVRow_C;
|
| + void (*SplitUVRow)(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
|
| + int width) = SplitUVRow_C;
|
| void (*InterpolateRow)(uint8* dst_ptr, const uint8* src_ptr,
|
| ptrdiff_t src_stride, int dst_width,
|
| int source_y_fraction) = InterpolateRow_C;
|
|
|