aboutsummaryrefslogtreecommitdiff
path: root/include/libyuv/planar_functions.h
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2016-09-29 15:06:30 -0700
committerFrank Barchard <fbarchard@google.com>2016-09-29 15:06:30 -0700
commit7fc932ddd306c11493a27b65fdd042ae15be79bf (patch)
tree936807a2a1cfcceefafc33d904af3f6a7ea33b73 /include/libyuv/planar_functions.h
parentc11e9b7fb7c03f3480e43faa9a906aba48fec466 (diff)
downloadlibyuv-7fc932ddd306c11493a27b65fdd042ae15be79bf.tar.gz
Add low level support for 12 bit 420, 422 and 444 YUV video frame conversion.
BUG=libyuv:560,chromium:445071 TEST=untested R=hubbe@chromium.org Review URL: https://codereview.chromium.org/2371293002 .
Diffstat (limited to 'include/libyuv/planar_functions.h')
-rw-r--r--include/libyuv/planar_functions.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h
index 9b0f994b..1b57b292 100644
--- a/include/libyuv/planar_functions.h
+++ b/include/libyuv/planar_functions.h
@@ -281,6 +281,14 @@ int ARGBPolynomial(const uint8* src_argb, int src_stride_argb,
const float* poly,
int width, int height);
+// Convert plane of 16 bit shorts to half floats.
+// Source values are multiplied by scale before storing as half float.
+LIBYUV_API
+int HalfFloatPlane(const uint16* src_y, int src_stride_y,
+ uint16* dst_y, int dst_stride_y,
+ float scale,
+ int width, int height);
+
// Quantize a rectangle of ARGB. Alpha unaffected.
// scale is a 16 bit fractional fixed point scaler between 0 and 65535.
// interval_size should be a value between 1 and 255.