diff options
author | Frank Barchard <fbarchard@google.com> | 2016-08-24 16:47:24 -0700 |
---|---|---|
committer | Frank Barchard <fbarchard@google.com> | 2016-08-24 16:47:24 -0700 |
commit | c244a3e9a03920cee977e88d4c1b3925f27e87da (patch) | |
tree | a28284c668fbeca5663d25ecd357c7d373879002 /include/libyuv/planar_functions.h | |
parent | 161e5c45696e45cab8f437eb9d8c6d7a0c1bb997 (diff) | |
download | libyuv-c244a3e9a03920cee977e88d4c1b3925f27e87da.tar.gz |
Add SplitUVPlanes and MergeUVPlanes
Add public methods SplitUVPlanes and MergeUVPlanes based on the
optimized assembly functions that already exists. Also, de-duplicate the
CPU dispatching code for these functions by moving them to helper
functions.
BUG=libyuv:629
R=braveyao@chromium.org
Review URL: https://codereview.chromium.org/2277603004 .
Diffstat (limited to 'include/libyuv/planar_functions.h')
-rw-r--r-- | include/libyuv/planar_functions.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h index 881b0c5c..9662516c 100644 --- a/include/libyuv/planar_functions.h +++ b/include/libyuv/planar_functions.h @@ -39,6 +39,20 @@ void SetPlane(uint8* dst_y, int dst_stride_y, int width, int height, uint32 value); +// Split interleaved UV plane into separate U and V planes. +LIBYUV_API +void SplitUVPlane(const uint8* src_uv, int src_stride_uv, + uint8* dst_u, int dst_stride_u, + uint8* dst_v, int dst_stride_v, + int width, int height); + +// Merge separate U and V planes into one interleaved UV plane. +LIBYUV_API +void MergeUVPlane(const uint8* src_u, int src_stride_u, + const uint8* src_v, int src_stride_v, + uint8* dst_uv, int dst_stride_uv, + int width, int height); + // Copy I400. Supports inverting. LIBYUV_API int I400ToI400(const uint8* src_y, int src_stride_y, |