aboutsummaryrefslogtreecommitdiff
path: root/include/libyuv/planar_functions.h
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2020-04-17 11:08:04 -0700
committerCommit Bot <commit-bot@chromium.org>2020-04-17 19:22:29 +0000
commit2f48ffd42b8479181c9019710c62ba13ab5697fc (patch)
treef6bad6543b554c37966ef79bf907f2b5581d5442 /include/libyuv/planar_functions.h
parentd4c3f45eb672e7bd008cac3347f3e21c955cbf7d (diff)
downloadlibyuv-2f48ffd42b8479181c9019710c62ba13ab5697fc.tar.gz
HalfMergeUVPlane function and optimized I444ToNV12 and I444ToNV21
Bug: libyuv:858 Change-Id: Ie1f03a9acaff02ee8059cf1e5c2c2e5afcde8592 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2154608 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
Diffstat (limited to 'include/libyuv/planar_functions.h')
-rw-r--r--include/libyuv/planar_functions.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h
index 30a6d3bc..9caef1b5 100644
--- a/include/libyuv/planar_functions.h
+++ b/include/libyuv/planar_functions.h
@@ -105,6 +105,19 @@ void MergeUVPlane(const uint8_t* src_u,
int width,
int height);
+// Scale U and V to half width and height and merge into interleaved UV plane.
+// width and height are source size, allowing odd sizes.
+// Use for converting I444 or I422 to NV12.
+LIBYUV_API
+void HalfMergeUVPlane(const uint8_t* src_u,
+ int src_stride_u,
+ const uint8_t* src_v,
+ int src_stride_v,
+ uint8_t* dst_uv,
+ int dst_stride_uv,
+ int width,
+ int height);
+
// Swap U and V channels in interleaved UV plane.
LIBYUV_API
void SwapUVPlane(const uint8_t* src_uv,