| 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 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 case VideoFrame::NATIVE_TEXTURE: | 55 case VideoFrame::NATIVE_TEXTURE: |
| 56 return "NATIVE_TEXTURE"; | 56 return "NATIVE_TEXTURE"; |
| 57 #if defined(VIDEO_HOLE) | 57 #if defined(VIDEO_HOLE) |
| 58 case VideoFrame::HOLE: | 58 case VideoFrame::HOLE: |
| 59 return "HOLE"; | 59 return "HOLE"; |
| 60 #endif // defined(VIDEO_HOLE) | 60 #endif // defined(VIDEO_HOLE) |
| 61 case VideoFrame::YV12A: | 61 case VideoFrame::YV12A: |
| 62 return "YV12A"; | 62 return "YV12A"; |
| 63 case VideoFrame::YV12J: | 63 case VideoFrame::YV12J: |
| 64 return "YV12J"; | 64 return "YV12J"; |
| 65 case VideoFrame::HISTOGRAM_MAX: | |
| 66 return "HISTOGRAM_MAX"; | |
| 67 } | 65 } |
| 68 NOTREACHED() << "Invalid videoframe format provided: " << format; | 66 NOTREACHED() << "Invalid videoframe format provided: " << format; |
| 69 return ""; | 67 return ""; |
| 70 } | 68 } |
| 71 | 69 |
| 72 // static | 70 // static |
| 73 bool VideoFrame::IsValidConfig(VideoFrame::Format format, | 71 bool VideoFrame::IsValidConfig(VideoFrame::Format format, |
| 74 const gfx::Size& coded_size, | 72 const gfx::Size& coded_size, |
| 75 const gfx::Rect& visible_rect, | 73 const gfx::Rect& visible_rect, |
| 76 const gfx::Size& natural_size) { | 74 const gfx::Size& natural_size) { |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 #endif // defined(VIDEO_HOLE) | 252 #endif // defined(VIDEO_HOLE) |
| 255 return 0; | 253 return 0; |
| 256 case VideoFrame::YV12: | 254 case VideoFrame::YV12: |
| 257 case VideoFrame::YV16: | 255 case VideoFrame::YV16: |
| 258 case VideoFrame::I420: | 256 case VideoFrame::I420: |
| 259 case VideoFrame::YV12J: | 257 case VideoFrame::YV12J: |
| 260 return 3; | 258 return 3; |
| 261 case VideoFrame::YV12A: | 259 case VideoFrame::YV12A: |
| 262 return 4; | 260 return 4; |
| 263 case VideoFrame::UNKNOWN: | 261 case VideoFrame::UNKNOWN: |
| 264 case VideoFrame::HISTOGRAM_MAX: | |
| 265 break; | 262 break; |
| 266 } | 263 } |
| 267 NOTREACHED() << "Unsupported video frame format: " << format; | 264 NOTREACHED() << "Unsupported video frame format: " << format; |
| 268 return 0; | 265 return 0; |
| 269 } | 266 } |
| 270 | 267 |
| 271 static inline size_t RoundUp(size_t value, size_t alignment) { | 268 static inline size_t RoundUp(size_t value, size_t alignment) { |
| 272 // Check that |alignment| is a power of 2. | 269 // Check that |alignment| is a power of 2. |
| 273 DCHECK((alignment + (alignment - 1)) == (alignment | (alignment - 1))); | 270 DCHECK((alignment + (alignment - 1)) == (alignment | (alignment - 1))); |
| 274 return ((value + (alignment - 1)) & ~(alignment-1)); | 271 return ((value + (alignment - 1)) & ~(alignment-1)); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 return area; | 317 return area; |
| 321 case VideoFrame::kUPlane: | 318 case VideoFrame::kUPlane: |
| 322 case VideoFrame::kVPlane: | 319 case VideoFrame::kVPlane: |
| 323 return area / 2; | 320 return area / 2; |
| 324 default: | 321 default: |
| 325 break; | 322 break; |
| 326 } | 323 } |
| 327 } | 324 } |
| 328 case VideoFrame::UNKNOWN: | 325 case VideoFrame::UNKNOWN: |
| 329 case VideoFrame::NATIVE_TEXTURE: | 326 case VideoFrame::NATIVE_TEXTURE: |
| 330 case VideoFrame::HISTOGRAM_MAX: | |
| 331 #if defined(VIDEO_HOLE) | 327 #if defined(VIDEO_HOLE) |
| 332 case VideoFrame::HOLE: | 328 case VideoFrame::HOLE: |
| 333 #endif // defined(VIDEO_HOLE) | 329 #endif // defined(VIDEO_HOLE) |
| 334 break; | 330 break; |
| 335 } | 331 } |
| 336 NOTREACHED() << "Unsupported video frame format/plane: " | 332 NOTREACHED() << "Unsupported video frame format/plane: " |
| 337 << format << "/" << plane; | 333 << format << "/" << plane; |
| 338 return 0; | 334 return 0; |
| 339 } | 335 } |
| 340 | 336 |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 : mailbox_(mailbox), | 516 : mailbox_(mailbox), |
| 521 sync_point_(sync_point), | 517 sync_point_(sync_point), |
| 522 release_callback_(release_callback) {} | 518 release_callback_(release_callback) {} |
| 523 | 519 |
| 524 VideoFrame::MailboxHolder::~MailboxHolder() { | 520 VideoFrame::MailboxHolder::~MailboxHolder() { |
| 525 if (!release_callback_.is_null()) | 521 if (!release_callback_.is_null()) |
| 526 release_callback_.Run(sync_point_); | 522 release_callback_.Run(sync_point_); |
| 527 } | 523 } |
| 528 | 524 |
| 529 } // namespace media | 525 } // namespace media |
| OLD | NEW |