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

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

Issue 110683002: Split the hole punching logic from GOOGLE_TV ifdef to VIDEO_HOLE (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/media/android/webmediaplayer_android.cc ('k') | media/base/video_frame.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 26 matching lines...) Expand all
37 // Surface formats roughly based on FOURCC labels, see: 37 // Surface formats roughly based on FOURCC labels, see:
38 // http://www.fourcc.org/rgb.php 38 // http://www.fourcc.org/rgb.php
39 // http://www.fourcc.org/yuv.php 39 // http://www.fourcc.org/yuv.php
40 // Logged to UMA, so never reuse values. 40 // Logged to UMA, so never reuse values.
41 enum Format { 41 enum Format {
42 UNKNOWN = 0, // Unknown format value. 42 UNKNOWN = 0, // Unknown format value.
43 YV12 = 1, // 12bpp YVU planar 1x1 Y, 2x2 VU samples 43 YV12 = 1, // 12bpp YVU planar 1x1 Y, 2x2 VU samples
44 YV16 = 2, // 16bpp YVU planar 1x1 Y, 2x1 VU samples 44 YV16 = 2, // 16bpp YVU planar 1x1 Y, 2x1 VU samples
45 I420 = 3, // 12bpp YVU planar 1x1 Y, 2x2 UV samples. 45 I420 = 3, // 12bpp YVU planar 1x1 Y, 2x2 UV samples.
46 YV12A = 4, // 20bpp YUVA planar 1x1 Y, 2x2 VU, 1x1 A samples. 46 YV12A = 4, // 20bpp YUVA planar 1x1 Y, 2x2 VU, 1x1 A samples.
47 #if defined(GOOGLE_TV) 47 #if defined(VIDEO_HOLE)
48 HOLE = 5, // Hole frame. 48 HOLE = 5, // Hole frame.
49 #endif 49 #endif // defined(VIDEO_HOLE)
50 NATIVE_TEXTURE = 6, // Native texture. Pixel-format agnostic. 50 NATIVE_TEXTURE = 6, // Native texture. Pixel-format agnostic.
51 YV12J = 7, // JPEG color range version of YV12 51 YV12J = 7, // JPEG color range version of YV12
52 HISTOGRAM_MAX, // Must always be greatest. 52 HISTOGRAM_MAX, // Must always be greatest.
53 }; 53 };
54 54
55 // Returns the name of a Format as a string. 55 // Returns the name of a Format as a string.
56 static std::string FormatToString(Format format); 56 static std::string FormatToString(Format format);
57 57
58 // This class calls the TextureNoLongerNeededCallback when this class is 58 // This class calls the TextureNoLongerNeededCallback when this class is
59 // destroyed. Users can query the current sync point associated with this 59 // destroyed. Users can query the current sync point associated with this
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 // Allocates YV12 frame based on |size|, and sets its data to the YUV(y,u,v). 181 // Allocates YV12 frame based on |size|, and sets its data to the YUV(y,u,v).
182 static scoped_refptr<VideoFrame> CreateColorFrame( 182 static scoped_refptr<VideoFrame> CreateColorFrame(
183 const gfx::Size& size, 183 const gfx::Size& size,
184 uint8 y, uint8 u, uint8 v, 184 uint8 y, uint8 u, uint8 v,
185 base::TimeDelta timestamp); 185 base::TimeDelta timestamp);
186 186
187 // Allocates YV12 frame based on |size|, and sets its data to the YUV 187 // Allocates YV12 frame based on |size|, and sets its data to the YUV
188 // equivalent of RGB(0,0,0). 188 // equivalent of RGB(0,0,0).
189 static scoped_refptr<VideoFrame> CreateBlackFrame(const gfx::Size& size); 189 static scoped_refptr<VideoFrame> CreateBlackFrame(const gfx::Size& size);
190 190
191 #if defined(GOOGLE_TV) 191 #if defined(VIDEO_HOLE)
192 // Allocates a hole frame. 192 // Allocates a hole frame.
193 static scoped_refptr<VideoFrame> CreateHoleFrame(const gfx::Size& size); 193 static scoped_refptr<VideoFrame> CreateHoleFrame(const gfx::Size& size);
194 #endif 194 #endif // defined(VIDEO_HOLE)
195 195
196 static size_t NumPlanes(Format format); 196 static size_t NumPlanes(Format format);
197 197
198 // Returns the required allocation size for a (tightly packed) frame of the 198 // Returns the required allocation size for a (tightly packed) frame of the
199 // given coded size and format. 199 // given coded size and format.
200 static size_t AllocationSize(Format format, const gfx::Size& coded_size); 200 static size_t AllocationSize(Format format, const gfx::Size& coded_size);
201 201
202 // Returns the required allocation size for a (tightly packed) plane of the 202 // Returns the required allocation size for a (tightly packed) plane of the
203 // given coded size and format. 203 // given coded size and format.
204 static size_t PlaneAllocationSize(Format format, 204 static size_t PlaneAllocationSize(Format format,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 base::TimeDelta timestamp_; 299 base::TimeDelta timestamp_;
300 300
301 const bool end_of_stream_; 301 const bool end_of_stream_;
302 302
303 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); 303 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame);
304 }; 304 };
305 305
306 } // namespace media 306 } // namespace media
307 307
308 #endif // MEDIA_BASE_VIDEO_FRAME_H_ 308 #endif // MEDIA_BASE_VIDEO_FRAME_H_
OLDNEW
« no previous file with comments | « content/renderer/media/android/webmediaplayer_android.cc ('k') | media/base/video_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698