Chromium Code Reviews| Index: cc/resources/video_resource_updater.h |
| diff --git a/cc/resources/video_resource_updater.h b/cc/resources/video_resource_updater.h |
| index a42784c9b999ca948b2ed1f4ee32fb8e09f10cf5..b9b5b95c02631e476cf1fbd76347af5052506b42 100644 |
| --- a/cc/resources/video_resource_updater.h |
| +++ b/cc/resources/video_resource_updater.h |
| @@ -80,14 +80,28 @@ class CC_EXPORT VideoResourceUpdater |
| VideoFrameExternalResources CreateExternalResourcesFromVideoFrame( |
| scoped_refptr<media::VideoFrame> video_frame); |
| - // 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 |
| - static void MakeHalfFloats(const uint16_t* src, |
| - int bits_per_channel, |
| - size_t num, |
| - uint16_t* dst); |
| + // Base class for converting short integers to half-floats. |
| + // TODO(hubbe): Move this to media/. |
| + class 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 |
|
fbarchard1
2016/10/21 22:46:06
This comment needs update?
hubbe
2016/10/21 22:55:04
Will fix in separate cl (Since this one is checked
|
| + 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; |
| + }; |
| + |
| + static std::unique_ptr<HalfFloatMaker> NewHalfFloatMaker( |
| + int bits_per_channel); |
| private: |
| class PlaneResource { |