| Index: include/libyuv/planar_functions.h
|
| diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h
|
| index 6d5dd082f9d09d9bc0860583c75c7f6227c39c07..9d30225d4cbb6d5bdef9dbbf2be9c15d603bc962 100644
|
| --- a/include/libyuv/planar_functions.h
|
| +++ b/include/libyuv/planar_functions.h
|
| @@ -302,6 +302,7 @@ LIBYUV_API
|
| ARGBBlendRow GetARGBBlend();
|
|
|
| // Alpha Blend ARGB images and store to destination.
|
| +// Source is pre-multiplied by alpha using ARGBAttenuate.
|
| // Alpha of destination is set to 255.
|
| LIBYUV_API
|
| int ARGBBlend(const uint8* src_argb0, int src_stride_argb0,
|
| @@ -309,6 +310,31 @@ int ARGBBlend(const uint8* src_argb0, int src_stride_argb0,
|
| uint8* dst_argb, int dst_stride_argb,
|
| int width, int height);
|
|
|
| +// Alpha Blend plane and store to destination.
|
| +// Source is not pre-multiplied by alpha.
|
| +LIBYUV_API
|
| +int BlendPlane(const uint8* src_y0, int src_stride_y0,
|
| + const uint8* src_y1, int src_stride_y1,
|
| + const uint8* alpha, int alpha_stride,
|
| + uint8* dst_y, int dst_stride_y,
|
| + int width, int height);
|
| +
|
| +// Alpha Blend YUV images and store to destination.
|
| +// Source is not pre-multiplied by alpha.
|
| +// Alpha is full width x height and subsampled to half size to apply to UV.
|
| +LIBYUV_API
|
| +int I420Blend(const uint8* src_y0, int src_stride_y0,
|
| + const uint8* src_u0, int src_stride_u0,
|
| + const uint8* src_v0, int src_stride_v0,
|
| + const uint8* src_y1, int src_stride_y1,
|
| + const uint8* src_u1, int src_stride_u1,
|
| + const uint8* src_v1, int src_stride_v1,
|
| + const uint8* alpha, int alpha_stride,
|
| + uint8* dst_y, int dst_stride_y,
|
| + uint8* dst_u, int dst_stride_u,
|
| + uint8* dst_v, int dst_stride_v,
|
| + int width, int height);
|
| +
|
| // Multiply ARGB image by ARGB image. Shifted down by 8. Saturates to 255.
|
| LIBYUV_API
|
| int ARGBMultiply(const uint8* src_argb0, int src_stride_argb0,
|
|
|