Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: media/video/half_float_maker.h

Issue 2763503002: Move HalfFloatMaker to media (Closed)
Patch Set: Added math.h in half_float_maker_unittest.cc for POW undefined error Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/BUILD.gn ('k') | media/video/half_float_maker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/video/half_float_maker.h
diff --git a/media/video/half_float_maker.h b/media/video/half_float_maker.h
new file mode 100644
index 0000000000000000000000000000000000000000..08ec6817aa56e28ae2ee89d680832ee4ca83f2fd
--- /dev/null
+++ b/media/video/half_float_maker.h
@@ -0,0 +1,38 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef MEDIA_VIDEO_HALF_FLOAT_MAKER_H_
+#define MEDIA_VIDEO_HALF_FLOAT_MAKER_H_
+
+#include <stddef.h>
+#include <stdint.h>
+#include <memory>
+
+#include "media/base/media_export.h"
+
+namespace media {
+
+class MEDIA_EXPORT HalfFloatMaker {
+ public:
+ // Convert an array of short integers into an array of half-floats.
+ // |src| is an array of integers in range 0 .. 2^{bits_per_channel} - 1
+ // |num| is number of entries in input and output array.
+ // The numbers stored in |dst| will be half floats in range 0.0..1.0
+ virtual void MakeHalfFloats(const uint16_t* src,
+ size_t num,
+ uint16_t* dst) = 0;
+ // The half-floats made needs by this class will be in the range
+ // [Offset() .. Offset() + 1.0/Multiplier]. So if you want results
+ // in the 0-1 range, you need to do:
+ // (half_float - Offset()) * Multiplier()
+ // to each returned value.
+ virtual float Offset() const = 0;
+ virtual float Multiplier() const = 0;
+ // Below is a factory method which can be used to create halffloatmaker.
+ static std::unique_ptr<HalfFloatMaker> NewHalfFloatMaker(
+ int bits_per_channel);
+};
+
+} // namespace media
+#endif // MEDIA_VIDEO_HALF_FLOAT_MAKER_H_
« no previous file with comments | « media/BUILD.gn ('k') | media/video/half_float_maker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698