OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_BASE_VIDEO_UTIL_H_ | 5 #ifndef MEDIA_BASE_VIDEO_UTIL_H_ |
6 #define MEDIA_BASE_VIDEO_UTIL_H_ | 6 #define MEDIA_BASE_VIDEO_UTIL_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "media/base/media_export.h" | 9 #include "media/base/media_export.h" |
10 #include "ui/gfx/geometry/rect.h" | 10 #include "ui/gfx/geometry/rect.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 int rotation, // Clockwise. | 77 int rotation, // Clockwise. |
78 bool flip_vert, | 78 bool flip_vert, |
79 bool flip_horiz); | 79 bool flip_horiz); |
80 | 80 |
81 // Return the largest centered rectangle with the same aspect ratio of |content| | 81 // Return the largest centered rectangle with the same aspect ratio of |content| |
82 // that fits entirely inside of |bounds|. If |content| is empty, its aspect | 82 // that fits entirely inside of |bounds|. If |content| is empty, its aspect |
83 // ratio would be undefined; and in this case an empty Rect would be returned. | 83 // ratio would be undefined; and in this case an empty Rect would be returned. |
84 MEDIA_EXPORT gfx::Rect ComputeLetterboxRegion(const gfx::Rect& bounds, | 84 MEDIA_EXPORT gfx::Rect ComputeLetterboxRegion(const gfx::Rect& bounds, |
85 const gfx::Size& content); | 85 const gfx::Size& content); |
86 | 86 |
| 87 // Return a scaled |size| whose area is less than or equal to |target|, where |
| 88 // one of its dimensions is equal to |target|'s. The aspect ratio of the result |
| 89 // is preserved as closely as possible. If |size| is empty, its aspect ratio |
| 90 // would be undefined; and in this case an empty Size would be returned. |
| 91 MEDIA_EXPORT gfx::Size ScaleSizeToFitWithinTarget(const gfx::Size& size, |
| 92 const gfx::Size& target); |
| 93 |
| 94 // Return a scaled |size| whose area is greater than or equal to |target|, where |
| 95 // one of its dimensions is equal to |target|'s. The aspect ratio of the result |
| 96 // is preserved as closely as possible. If |size| is empty, its aspect ratio |
| 97 // would be undefined; and in this case an empty Size would be returned. |
| 98 MEDIA_EXPORT gfx::Size ScaleSizeToEncompassTarget(const gfx::Size& size, |
| 99 const gfx::Size& target); |
| 100 |
| 101 // Returns |size| with one of its dimensions increased such that the result |
| 102 // matches the aspect ratio of |target|. If |target| is empty, its aspect ratio |
| 103 // would be undefined; and in this case an empty Size would be returned. |
| 104 MEDIA_EXPORT gfx::Size PadToMatchAspectRatio(const gfx::Size& size, |
| 105 const gfx::Size& target); |
| 106 |
87 // Copy an RGB bitmap into the specified |region_in_frame| of a YUV video frame. | 107 // Copy an RGB bitmap into the specified |region_in_frame| of a YUV video frame. |
88 // Fills the regions outside |region_in_frame| with black. | 108 // Fills the regions outside |region_in_frame| with black. |
89 MEDIA_EXPORT void CopyRGBToVideoFrame(const uint8* source, | 109 MEDIA_EXPORT void CopyRGBToVideoFrame(const uint8* source, |
90 int stride, | 110 int stride, |
91 const gfx::Rect& region_in_frame, | 111 const gfx::Rect& region_in_frame, |
92 VideoFrame* frame); | 112 VideoFrame* frame); |
93 | 113 |
94 } // namespace media | 114 } // namespace media |
95 | 115 |
96 #endif // MEDIA_BASE_VIDEO_UTIL_H_ | 116 #endif // MEDIA_BASE_VIDEO_UTIL_H_ |
OLD | NEW |