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

Side by Side Diff: media/base/video_frame.h

Issue 22935009: Add content::SurfaceCapturer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@screencast_stride
Patch Set: cff149b4 WIP Created 7 years, 4 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 unified diff | Download patch
OLDNEW
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_FRAME_H_ 5 #ifndef MEDIA_BASE_VIDEO_FRAME_H_
6 #define MEDIA_BASE_VIDEO_FRAME_H_ 6 #define MEDIA_BASE_VIDEO_FRAME_H_
7 7
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/md5.h" 9 #include "base/md5.h"
10 #include "base/memory/shared_memory.h" 10 #include "base/memory/shared_memory.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 // VideoFrame. The image data resides in |data| and is assumed to be packed 141 // VideoFrame. The image data resides in |data| and is assumed to be packed
142 // tightly in a buffer of logical dimensions |coded_size| with the appropriate 142 // tightly in a buffer of logical dimensions |coded_size| with the appropriate
143 // bit depth and plane count as given by |format|. When the frame is 143 // bit depth and plane count as given by |format|. When the frame is
144 // destroyed |no_longer_needed_cb.Run()| will be called. 144 // destroyed |no_longer_needed_cb.Run()| will be called.
145 static scoped_refptr<VideoFrame> WrapExternalSharedMemory( 145 static scoped_refptr<VideoFrame> WrapExternalSharedMemory(
146 Format format, 146 Format format,
147 const gfx::Size& coded_size, 147 const gfx::Size& coded_size,
148 const gfx::Rect& visible_rect, 148 const gfx::Rect& visible_rect,
149 const gfx::Size& natural_size, 149 const gfx::Size& natural_size,
150 uint8* data, 150 uint8* data,
151 size_t data_size,
151 base::SharedMemoryHandle handle, 152 base::SharedMemoryHandle handle,
152 base::TimeDelta timestamp, 153 base::TimeDelta timestamp,
153 const base::Closure& no_longer_needed_cb); 154 const base::Closure& no_longer_needed_cb);
154 155
155 // Wraps external YUV data of the given parameters with a VideoFrame. 156 // Wraps external YUV data of the given parameters with a VideoFrame.
156 // The returned VideoFrame does not own the data passed in. When the frame 157 // The returned VideoFrame does not own the data passed in. When the frame
157 // is destroyed |no_longer_needed_cb.Run()| will be called. 158 // is destroyed |no_longer_needed_cb.Run()| will be called.
158 // TODO(sheu): merge this into WrapExternalSharedMemory(). 159 // TODO(sheu): merge this into WrapExternalSharedMemory().
159 // http://crbug.com/270217 160 // http://crbug.com/270217
160 static scoped_refptr<VideoFrame> WrapExternalYuvData( 161 static scoped_refptr<VideoFrame> WrapExternalYuvData(
(...skipping 24 matching lines...) Expand all
185 // equivalent of RGB(0,0,0). 186 // equivalent of RGB(0,0,0).
186 static scoped_refptr<VideoFrame> CreateBlackFrame(const gfx::Size& size); 187 static scoped_refptr<VideoFrame> CreateBlackFrame(const gfx::Size& size);
187 188
188 #if defined(GOOGLE_TV) 189 #if defined(GOOGLE_TV)
189 // Allocates a hole frame. 190 // Allocates a hole frame.
190 static scoped_refptr<VideoFrame> CreateHoleFrame(const gfx::Size& size); 191 static scoped_refptr<VideoFrame> CreateHoleFrame(const gfx::Size& size);
191 #endif 192 #endif
192 193
193 static size_t NumPlanes(Format format); 194 static size_t NumPlanes(Format format);
194 195
196 // Returns the required allocation size for a (tightly packed) frame of the
197 // givencoded size and format.
198 static size_t AllocationSize(Format format, const gfx::Size& coded_size);
199
200
195 Format format() const { return format_; } 201 Format format() const { return format_; }
196 202
197 const gfx::Size& coded_size() const { return coded_size_; } 203 const gfx::Size& coded_size() const { return coded_size_; }
198 const gfx::Rect& visible_rect() const { return visible_rect_; } 204 const gfx::Rect& visible_rect() const { return visible_rect_; }
199 const gfx::Size& natural_size() const { return natural_size_; } 205 const gfx::Size& natural_size() const { return natural_size_; }
200 206
201 int stride(size_t plane) const; 207 int stride(size_t plane) const;
202 208
203 // Returns the number of bytes per row and number of rows for a given plane. 209 // Returns the number of bytes per row and number of rows for a given plane.
204 // 210 //
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 base::Closure no_longer_needed_cb_; 291 base::Closure no_longer_needed_cb_;
286 292
287 base::TimeDelta timestamp_; 293 base::TimeDelta timestamp_;
288 294
289 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); 295 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame);
290 }; 296 };
291 297
292 } // namespace media 298 } // namespace media
293 299
294 #endif // MEDIA_BASE_VIDEO_FRAME_H_ 300 #endif // MEDIA_BASE_VIDEO_FRAME_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698