diff options
author | Frank Barchard <fbarchard@google.com> | 2020-04-17 11:08:04 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-17 19:22:29 +0000 |
commit | 2f48ffd42b8479181c9019710c62ba13ab5697fc (patch) | |
tree | f6bad6543b554c37966ef79bf907f2b5581d5442 /include/libyuv/planar_functions.h | |
parent | d4c3f45eb672e7bd008cac3347f3e21c955cbf7d (diff) | |
download | libyuv-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.h | 13 |
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, |