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_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 <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 YV24 = 5, // 24bpp YUV planar, no subsampling. | 55 YV24 = 5, // 24bpp YUV planar, no subsampling. |
56 #if defined(OS_MACOSX) || defined(OS_CHROMEOS) | 56 #if defined(OS_MACOSX) || defined(OS_CHROMEOS) |
57 NV12 = 6, // 12bpp with Y plane followed by a 2x2 interleaved UV plane. | 57 NV12 = 6, // 12bpp with Y plane followed by a 2x2 interleaved UV plane. |
58 #endif | 58 #endif |
59 ARGB = 7, // 32bpp ARGB, 1 plane. | 59 ARGB = 7, // 32bpp ARGB, 1 plane. |
60 XRGB = 8, // 24bpp XRGB, 1 plane. | 60 XRGB = 8, // 24bpp XRGB, 1 plane. |
61 // Please update UMA histogram enumeration when adding new formats here. | 61 // Please update UMA histogram enumeration when adding new formats here. |
62 FORMAT_MAX = XRGB, // Must always be equal to largest entry logged. | 62 FORMAT_MAX = XRGB, // Must always be equal to largest entry logged. |
63 }; | 63 }; |
64 | 64 |
65 // Color space or color range used for the pixels. | 65 // Color space or color range used for the pixels, in general this is left |
| 66 // unspecified, meaning Rec601 (SD) is assumed. |
66 // Logged to UMA, so never reuse values. Leave gaps if necessary. | 67 // Logged to UMA, so never reuse values. Leave gaps if necessary. |
67 enum ColorSpace { | 68 enum ColorSpace { |
68 COLOR_SPACE_UNSPECIFIED = 0, // In general this is Rec601. | 69 COLOR_SPACE_UNSPECIFIED = 0, // In general this is Rec601. |
69 COLOR_SPACE_JPEG = 1, // JPEG color range. | 70 COLOR_SPACE_JPEG = 1, // JPEG color range. |
70 COLOR_SPACE_HD_REC709 = 2, // Rec709 "HD" color space. | 71 COLOR_SPACE_HD_REC709 = 2, // Rec709 "HD" color space. |
71 COLOR_SPACE_SD_REC601 = 3, // Rec601 "SD" color space. | 72 COLOR_SPACE_MAX = COLOR_SPACE_HD_REC709, |
72 COLOR_SPACE_MAX = COLOR_SPACE_SD_REC601, | |
73 }; | 73 }; |
74 | 74 |
75 // Defines the pixel storage type. Differentiates between directly accessible | 75 // Defines the pixel storage type. Differentiates between directly accessible |
76 // |data_| and pixels that are only indirectly accessible and not via mappable | 76 // |data_| and pixels that are only indirectly accessible and not via mappable |
77 // memory. | 77 // memory. |
78 // Note that VideoFrames of any StorageType can also have Texture backing, | 78 // Note that VideoFrames of any StorageType can also have Texture backing, |
79 // with "classical" GPU Driver-only textures identified as STORAGE_OPAQUE. | 79 // with "classical" GPU Driver-only textures identified as STORAGE_OPAQUE. |
80 enum StorageType { | 80 enum StorageType { |
81 STORAGE_UNKNOWN = 0, | 81 STORAGE_UNKNOWN = 0, |
82 STORAGE_OPAQUE = 1, // We don't know how VideoFrame's pixels are stored. | 82 STORAGE_OPAQUE = 1, // We don't know how VideoFrame's pixels are stored. |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
512 uint32 release_sync_point_; | 512 uint32 release_sync_point_; |
513 | 513 |
514 VideoFrameMetadata metadata_; | 514 VideoFrameMetadata metadata_; |
515 | 515 |
516 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); | 516 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); |
517 }; | 517 }; |
518 | 518 |
519 } // namespace media | 519 } // namespace media |
520 | 520 |
521 #endif // MEDIA_BASE_VIDEO_FRAME_H_ | 521 #endif // MEDIA_BASE_VIDEO_FRAME_H_ |
OLD | NEW |