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

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

Issue 48113011: Remove media::VideoFrame from media::VideoCaptureDevice::Client interface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@git-svn
Patch Set: 8c5b9836 Nits. Created 7 years, 1 month 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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 const gfx::Size& natural_size, 128 const gfx::Size& natural_size,
129 base::TimeDelta timestamp, 129 base::TimeDelta timestamp,
130 const ReadPixelsCB& read_pixels_cb, 130 const ReadPixelsCB& read_pixels_cb,
131 const base::Closure& no_longer_needed_cb); 131 const base::Closure& no_longer_needed_cb);
132 132
133 // Read pixels from the native texture backing |*this| and write 133 // Read pixels from the native texture backing |*this| and write
134 // them to |pixels| as BGRA. |pixels| must point to a buffer at 134 // them to |pixels| as BGRA. |pixels| must point to a buffer at
135 // least as large as 4*visible_rect().width()*visible_rect().height(). 135 // least as large as 4*visible_rect().width()*visible_rect().height().
136 void ReadPixelsFromNativeTexture(const SkBitmap& pixels); 136 void ReadPixelsFromNativeTexture(const SkBitmap& pixels);
137 137
138 // Wraps image data in a buffer backed by a base::SharedMemoryHandle with a 138 // Wraps packed image data residing in a memory buffer with a VideoFrame.
139 // VideoFrame. The image data resides in |data| and is assumed to be packed 139 // The image data resides in |data| and is assumed to be packed tightly in a
140 // tightly in a buffer of logical dimensions |coded_size| with the appropriate 140 // buffer of logical dimensions |coded_size| with the appropriate bit depth
141 // bit depth and plane count as given by |format|. When the frame is 141 // and plane count as given by |format|. The shared memory handle of the
142 // destroyed |no_longer_needed_cb.Run()| will be called. 142 // backing allocation, if present, can be passed in with |handle|. When the
143 static scoped_refptr<VideoFrame> WrapExternalSharedMemory( 143 // frame is destroyed, |no_longer_needed_cb.Run()| will be called.
144 static scoped_refptr<VideoFrame> WrapExternalPackedMemory(
144 Format format, 145 Format format,
145 const gfx::Size& coded_size, 146 const gfx::Size& coded_size,
146 const gfx::Rect& visible_rect, 147 const gfx::Rect& visible_rect,
147 const gfx::Size& natural_size, 148 const gfx::Size& natural_size,
148 uint8* data, 149 uint8* data,
149 size_t data_size, 150 size_t data_size,
150 base::SharedMemoryHandle handle, 151 base::SharedMemoryHandle handle,
151 base::TimeDelta timestamp, 152 base::TimeDelta timestamp,
152 const base::Closure& no_longer_needed_cb); 153 const base::Closure& no_longer_needed_cb);
153 154
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 // Allocates a hole frame. 188 // Allocates a hole frame.
188 static scoped_refptr<VideoFrame> CreateHoleFrame(const gfx::Size& size); 189 static scoped_refptr<VideoFrame> CreateHoleFrame(const gfx::Size& size);
189 #endif 190 #endif
190 191
191 static size_t NumPlanes(Format format); 192 static size_t NumPlanes(Format format);
192 193
193 // Returns the required allocation size for a (tightly packed) frame of the 194 // Returns the required allocation size for a (tightly packed) frame of the
194 // given coded size and format. 195 // given coded size and format.
195 static size_t AllocationSize(Format format, const gfx::Size& coded_size); 196 static size_t AllocationSize(Format format, const gfx::Size& coded_size);
196 197
198 // Returns the required allocation size for a (tightly packed) plane of the
199 // given coded size and format.
200 static size_t PlaneAllocationSize(Format format,
201 size_t plane,
Ami GONE FROM CHROMIUM 2013/11/19 21:01:52 size_t is a weird type to use for this. Please na
sheu 2013/11/19 21:30:27 Everything else uses size_t for plane index. Shou
ncarter (slow) 2013/11/19 21:36:42 I concur with sheu@; we should leave this as size_
202 const gfx::Size& coded_size);
203
197 Format format() const { return format_; } 204 Format format() const { return format_; }
198 205
199 const gfx::Size& coded_size() const { return coded_size_; } 206 const gfx::Size& coded_size() const { return coded_size_; }
200 const gfx::Rect& visible_rect() const { return visible_rect_; } 207 const gfx::Rect& visible_rect() const { return visible_rect_; }
201 const gfx::Size& natural_size() const { return natural_size_; } 208 const gfx::Size& natural_size() const { return natural_size_; }
202 209
203 int stride(size_t plane) const; 210 int stride(size_t plane) const;
204 211
205 // Returns the number of bytes per row and number of rows for a given plane. 212 // Returns the number of bytes per row and number of rows for a given plane.
206 // 213 //
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 base::TimeDelta timestamp_; 295 base::TimeDelta timestamp_;
289 296
290 const bool end_of_stream_; 297 const bool end_of_stream_;
291 298
292 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); 299 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame);
293 }; 300 };
294 301
295 } // namespace media 302 } // namespace media
296 303
297 #endif // MEDIA_BASE_VIDEO_FRAME_H_ 304 #endif // MEDIA_BASE_VIDEO_FRAME_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698