| 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 #include "media/base/video_frame.h" | 5 #include "media/base/video_frame.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 #include <climits> | 8 #include <climits> | 
| 9 | 9 | 
| 10 #include "base/bind.h" | 10 #include "base/bind.h" | 
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 205 | 205 | 
| 206   gpu::MailboxHolder mailbox_holders[kMaxPlanes]; | 206   gpu::MailboxHolder mailbox_holders[kMaxPlanes]; | 
| 207   mailbox_holders[kYPlane] = y_mailbox_holder; | 207   mailbox_holders[kYPlane] = y_mailbox_holder; | 
| 208   mailbox_holders[kUPlane] = u_mailbox_holder; | 208   mailbox_holders[kUPlane] = u_mailbox_holder; | 
| 209   mailbox_holders[kVPlane] = v_mailbox_holder; | 209   mailbox_holders[kVPlane] = v_mailbox_holder; | 
| 210   return new VideoFrame(format, storage, coded_size, visible_rect, natural_size, | 210   return new VideoFrame(format, storage, coded_size, visible_rect, natural_size, | 
| 211                         mailbox_holders, mailbox_holder_release_cb, timestamp); | 211                         mailbox_holders, mailbox_holder_release_cb, timestamp); | 
| 212 } | 212 } | 
| 213 | 213 | 
| 214 // static | 214 // static | 
|  | 215 scoped_refptr<VideoFrame> VideoFrame::WrapYV12ANativeTextures( | 
|  | 216     const gpu::MailboxHolder& y_mailbox_holder, | 
|  | 217     const gpu::MailboxHolder& u_mailbox_holder, | 
|  | 218     const gpu::MailboxHolder& v_mailbox_holder, | 
|  | 219     const gpu::MailboxHolder& a_mailbox_holder, | 
|  | 220     const ReleaseMailboxCB& mailbox_holder_release_cb, | 
|  | 221     const gfx::Size& coded_size, | 
|  | 222     const gfx::Rect& visible_rect, | 
|  | 223     const gfx::Size& natural_size, | 
|  | 224     base::TimeDelta timestamp) { | 
|  | 225   const StorageType storage = STORAGE_OPAQUE; | 
|  | 226   VideoPixelFormat format = PIXEL_FORMAT_YV12A; | 
|  | 227   if (!IsValidConfig(format, storage, coded_size, visible_rect, natural_size)) { | 
|  | 228     LOG(DFATAL) << __FUNCTION__ << " Invalid config." | 
|  | 229                 << ConfigToString(format, storage, coded_size, visible_rect, | 
|  | 230                                   natural_size); | 
|  | 231     return nullptr; | 
|  | 232   } | 
|  | 233 | 
|  | 234   gpu::MailboxHolder mailbox_holders[kMaxPlanes]; | 
|  | 235   mailbox_holders[kYPlane] = y_mailbox_holder; | 
|  | 236   mailbox_holders[kUPlane] = u_mailbox_holder; | 
|  | 237   mailbox_holders[kVPlane] = v_mailbox_holder; | 
|  | 238   mailbox_holders[kAPlane] = a_mailbox_holder; | 
|  | 239   return new VideoFrame(format, storage, coded_size, visible_rect, natural_size, | 
|  | 240                         mailbox_holders, mailbox_holder_release_cb, timestamp); | 
|  | 241 } | 
|  | 242 | 
|  | 243 // static | 
| 215 scoped_refptr<VideoFrame> VideoFrame::WrapExternalData( | 244 scoped_refptr<VideoFrame> VideoFrame::WrapExternalData( | 
| 216     VideoPixelFormat format, | 245     VideoPixelFormat format, | 
| 217     const gfx::Size& coded_size, | 246     const gfx::Size& coded_size, | 
| 218     const gfx::Rect& visible_rect, | 247     const gfx::Rect& visible_rect, | 
| 219     const gfx::Size& natural_size, | 248     const gfx::Size& natural_size, | 
| 220     uint8_t* data, | 249     uint8_t* data, | 
| 221     size_t data_size, | 250     size_t data_size, | 
| 222     base::TimeDelta timestamp) { | 251     base::TimeDelta timestamp) { | 
| 223   return WrapExternalStorage(format, STORAGE_UNOWNED_MEMORY, coded_size, | 252   return WrapExternalStorage(format, STORAGE_UNOWNED_MEMORY, coded_size, | 
| 224                              visible_rect, natural_size, data, data_size, | 253                              visible_rect, natural_size, data, data_size, | 
| (...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1115   if (zero_initialize_memory) | 1144   if (zero_initialize_memory) | 
| 1116     memset(data, 0, data_size); | 1145     memset(data, 0, data_size); | 
| 1117 | 1146 | 
| 1118   for (size_t plane = 0; plane < NumPlanes(format_); ++plane) | 1147   for (size_t plane = 0; plane < NumPlanes(format_); ++plane) | 
| 1119     data_[plane] = data + offset[plane]; | 1148     data_[plane] = data + offset[plane]; | 
| 1120 | 1149 | 
| 1121   AddDestructionObserver(base::Bind(&base::AlignedFree, data)); | 1150   AddDestructionObserver(base::Bind(&base::AlignedFree, data)); | 
| 1122 } | 1151 } | 
| 1123 | 1152 | 
| 1124 }  // namespace media | 1153 }  // namespace media | 
| OLD | NEW | 
|---|