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 <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 int32_t u_stride, | 187 int32_t u_stride, |
188 int32_t v_stride, | 188 int32_t v_stride, |
189 uint8_t* y_data, | 189 uint8_t* y_data, |
190 uint8_t* u_data, | 190 uint8_t* u_data, |
191 uint8_t* v_data, | 191 uint8_t* v_data, |
192 const gfx::GpuMemoryBufferHandle& y_handle, | 192 const gfx::GpuMemoryBufferHandle& y_handle, |
193 const gfx::GpuMemoryBufferHandle& u_handle, | 193 const gfx::GpuMemoryBufferHandle& u_handle, |
194 const gfx::GpuMemoryBufferHandle& v_handle, | 194 const gfx::GpuMemoryBufferHandle& v_handle, |
195 base::TimeDelta timestamp); | 195 base::TimeDelta timestamp); |
196 | 196 |
| 197 // Wraps external YUVA data of the given parameters with a VideoFrame. |
| 198 // The returned VideoFrame does not own the data passed in. |
| 199 static scoped_refptr<VideoFrame> WrapExternalYuvaData( |
| 200 VideoPixelFormat format, |
| 201 const gfx::Size& coded_size, |
| 202 const gfx::Rect& visible_rect, |
| 203 const gfx::Size& natural_size, |
| 204 int32_t y_stride, |
| 205 int32_t u_stride, |
| 206 int32_t v_stride, |
| 207 int32_t a_stride, |
| 208 uint8_t* y_data, |
| 209 uint8_t* u_data, |
| 210 uint8_t* v_data, |
| 211 uint8_t* a_data, |
| 212 base::TimeDelta timestamp); |
| 213 |
197 #if defined(OS_LINUX) | 214 #if defined(OS_LINUX) |
198 // Wraps provided dmabufs | 215 // Wraps provided dmabufs |
199 // (https://www.kernel.org/doc/Documentation/dma-buf-sharing.txt) with a | 216 // (https://www.kernel.org/doc/Documentation/dma-buf-sharing.txt) with a |
200 // VideoFrame. The dmabuf fds are dup()ed on creation, so that the VideoFrame | 217 // VideoFrame. The dmabuf fds are dup()ed on creation, so that the VideoFrame |
201 // retains a reference to them, and are automatically close()d on destruction, | 218 // retains a reference to them, and are automatically close()d on destruction, |
202 // dropping the reference. The caller may safely close() its reference after | 219 // dropping the reference. The caller may safely close() its reference after |
203 // calling WrapExternalDmabufs(). | 220 // calling WrapExternalDmabufs(). |
204 // The image data is only accessible via dmabuf fds, which are usually passed | 221 // The image data is only accessible via dmabuf fds, which are usually passed |
205 // directly to a hardware device and/or to another process, or can also be | 222 // directly to a hardware device and/or to another process, or can also be |
206 // mapped via mmap() for CPU access. | 223 // mapped via mmap() for CPU access. |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 | 573 |
557 // Generated at construction time. | 574 // Generated at construction time. |
558 const int unique_id_; | 575 const int unique_id_; |
559 | 576 |
560 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); | 577 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoFrame); |
561 }; | 578 }; |
562 | 579 |
563 } // namespace media | 580 } // namespace media |
564 | 581 |
565 #endif // MEDIA_BASE_VIDEO_FRAME_H_ | 582 #endif // MEDIA_BASE_VIDEO_FRAME_H_ |
OLD | NEW |