aboutsummaryrefslogtreecommitdiff
path: root/include/libyuv/planar_functions.h
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2016-08-24 16:47:24 -0700
committerFrank Barchard <fbarchard@google.com>2016-08-24 16:47:24 -0700
commitc244a3e9a03920cee977e88d4c1b3925f27e87da (patch)
treea28284c668fbeca5663d25ecd357c7d373879002 /include/libyuv/planar_functions.h
parent161e5c45696e45cab8f437eb9d8c6d7a0c1bb997 (diff)
downloadlibyuv-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.h14
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,