Chromium Code Reviews| 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 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 290 | 290 |
| 291 VideoPixelFormat format() const { return format_; } | 291 VideoPixelFormat format() const { return format_; } |
| 292 StorageType storage_type() const { return storage_type_; } | 292 StorageType storage_type() const { return storage_type_; } |
| 293 | 293 |
| 294 const gfx::Size& coded_size() const { return coded_size_; } | 294 const gfx::Size& coded_size() const { return coded_size_; } |
| 295 const gfx::Rect& visible_rect() const { return visible_rect_; } | 295 const gfx::Rect& visible_rect() const { return visible_rect_; } |
| 296 const gfx::Size& natural_size() const { return natural_size_; } | 296 const gfx::Size& natural_size() const { return natural_size_; } |
| 297 | 297 |
| 298 int stride(size_t plane) const; | 298 int stride(size_t plane) const; |
| 299 | 299 |
| 300 // Returns the actual allocation size for a YUV frame that is created by | |
| 301 // CreateFrame() method. | |
| 302 size_t allocated_size() const { return allocated_size_; } | |
| 303 | |
| 300 // Returns the number of bytes per row and number of rows for a given plane. | 304 // Returns the number of bytes per row and number of rows for a given plane. |
| 301 // | 305 // |
| 302 // As opposed to stride(), row_bytes() refers to the bytes representing | 306 // As opposed to stride(), row_bytes() refers to the bytes representing |
| 303 // frame data scanlines (coded_size.width() pixels, without stride padding). | 307 // frame data scanlines (coded_size.width() pixels, without stride padding). |
| 304 int row_bytes(size_t plane) const; | 308 int row_bytes(size_t plane) const; |
| 305 int rows(size_t plane) const; | 309 int rows(size_t plane) const; |
| 306 | 310 |
| 307 // Returns pointer to the buffer for a given plane, if this is an | 311 // Returns pointer to the buffer for a given plane, if this is an |
| 308 // IsMappable() frame type. The memory is owned by VideoFrame object and must | 312 // IsMappable() frame type. The memory is owned by VideoFrame object and must |
| 309 // not be freed by the caller. | 313 // not be freed by the caller. |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 437 | 441 |
| 438 // Width and height of the visible portion of the video frame | 442 // Width and height of the visible portion of the video frame |
| 439 // (|visible_rect_.size()|) with aspect ratio taken into account. | 443 // (|visible_rect_.size()|) with aspect ratio taken into account. |
| 440 const gfx::Size natural_size_; | 444 const gfx::Size natural_size_; |
| 441 | 445 |
| 442 // Array of strides for each plane, typically greater or equal to the width | 446 // Array of strides for each plane, typically greater or equal to the width |
| 443 // of the surface divided by the horizontal sampling period. Note that | 447 // of the surface divided by the horizontal sampling period. Note that |
| 444 // strides can be negative. | 448 // strides can be negative. |
| 445 int32 strides_[kMaxPlanes]; | 449 int32 strides_[kMaxPlanes]; |
| 446 | 450 |
| 451 // Actual allocation size for a YUV frame with alignments and padding. | |
| 452 size_t allocated_size_; | |
|
miu
2015/08/04 20:16:22
This isn't needed. See comments below.
| |
| 453 | |
| 447 // Array of data pointers to each plane. | 454 // Array of data pointers to each plane. |
| 448 // TODO(mcasas): we don't know on ctor if we own |data_| or not. After | 455 // TODO(mcasas): we don't know on ctor if we own |data_| or not. After |
| 449 // refactoring VideoFrame, change to scoped_ptr<uint8, AlignedFreeDeleter>. | 456 // refactoring VideoFrame, change to scoped_ptr<uint8, AlignedFreeDeleter>. |
| 450 uint8* data_[kMaxPlanes]; | 457 uint8* data_[kMaxPlanes]; |
| 451 | 458 |
| 452 // Native texture mailboxes, if this is a IsTexture() frame. | 459 // Native texture mailboxes, if this is a IsTexture() frame. |
| 453 gpu::MailboxHolder mailbox_holders_[kMaxPlanes]; | 460 gpu::MailboxHolder mailbox_holders_[kMaxPlanes]; |
| 454 ReleaseMailboxCB mailbox_holders_release_cb_; | 461 ReleaseMailboxCB mailbox_holders_release_cb_; |
| 455 | 462 |
| 456 // Shared memory handle and associated offset inside it, if this frame is | 463 // Shared memory handle and associated offset inside it, if this frame is |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 476 uint32 release_sync_point_; | 483 uint32 release_sync_point_; |
| 477 | 484 |
| 478 VideoFrameMetadata metadata_; | 485 VideoFrameMetadata metadata_; |
| 479 | 486 |
| 480 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); | 487 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); |
| 481 }; | 488 }; |
| 482 | 489 |
| 483 } // namespace media | 490 } // namespace media |
| 484 | 491 |
| 485 #endif // MEDIA_BASE_VIDEO_FRAME_H_ | 492 #endif // MEDIA_BASE_VIDEO_FRAME_H_ |
| OLD | NEW |