aboutsummaryrefslogtreecommitdiff
path: root/include/libyuv/planar_functions.h
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2017-12-28 18:12:27 -0800
committerCommit Bot <commit-bot@chromium.org>2018-01-02 21:09:39 +0000
commit2ed2402fa0b8ee98ededb5de48153926ef79a42f (patch)
tree4492125e5dcd944b63cbd9261ba7e307f0c2e4d4 /include/libyuv/planar_functions.h
parent140fc0a261e6e76329f68267442177400b23827d (diff)
downloadlibyuv-2ed2402fa0b8ee98ededb5de48153926ef79a42f.tar.gz
I420ToI010 for 8 to 10 bit YUV conversion.
Convert planar 8 bit formats to planar 16 bit formats. Includes msan fix for Convert8To16Row_Opt unittest. I420 is YUV bt.601 8 bits per channel with 420 subsampling. I010 is YUV bt.601 10 bits per channel with 420 subsampling. I is color space - bt.601. The function does no color space conversion so H420ToI010 is aliased to this function as well. 0 = 420 subsampling. The chroma channels are half width / height. 10 = 10 bits per channel, stored in low 10 bits of 16 bit samples. For SSSE3 version: out/Release/libyuv_unittest --gtest_filter=*LibYUVConvertTest.I420ToI010_Opt --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1 --libyuv_cpu_info=-1 [ RUN ] LibYUVConvertTest.I420ToI010_Opt [ OK ] LibYUVConvertTest.I420ToI010_Opt (276 ms) Bug: libyuv:751 Test: LibYUVConvertTest.I420ToI010_Opt Change-Id: I072876ee4fd74a2b74f459b628838bc808f9bdd2 Reviewed-on: https://chromium-review.googlesource.com/846421 Reviewed-by: Miguel Casas <mcasas@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'include/libyuv/planar_functions.h')
-rw-r--r--include/libyuv/planar_functions.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h
index 88b651dd..653b0619 100644
--- a/include/libyuv/planar_functions.h
+++ b/include/libyuv/planar_functions.h
@@ -48,6 +48,15 @@ void Convert16To8Plane(const uint16* src_y,
int width,
int height);
+LIBYUV_API
+void Convert8To16Plane(const uint8* src_y,
+ int src_stride_y,
+ uint16* dst_y,
+ int dst_stride_y,
+ int scale, // 1024 for 10 bits
+ int width,
+ int height);
+
// Set a plane of data to a 32 bit value.
LIBYUV_API
void SetPlane(uint8* dst_y,