| 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/atomic_sequence_num.h" | 10 #include "base/atomic_sequence_num.h" |
| (...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 788 if (metadata()->IsTrue(media::VideoFrameMetadata::END_OF_STREAM)) | 788 if (metadata()->IsTrue(media::VideoFrameMetadata::END_OF_STREAM)) |
| 789 return "end of stream"; | 789 return "end of stream"; |
| 790 | 790 |
| 791 std::ostringstream s; | 791 std::ostringstream s; |
| 792 s << ConfigToString(format_, storage_type_, coded_size_, visible_rect_, | 792 s << ConfigToString(format_, storage_type_, coded_size_, visible_rect_, |
| 793 natural_size_) | 793 natural_size_) |
| 794 << " timestamp:" << timestamp_.InMicroseconds(); | 794 << " timestamp:" << timestamp_.InMicroseconds(); |
| 795 return s.str(); | 795 return s.str(); |
| 796 } | 796 } |
| 797 | 797 |
| 798 int VideoFrame::BitsPerChannel(VideoPixelFormat format) { |
| 799 int bits_per_channel = 0; |
| 800 switch (format) { |
| 801 case media::PIXEL_FORMAT_UNKNOWN: |
| 802 NOTREACHED(); |
| 803 // Fall through! |
| 804 case media::PIXEL_FORMAT_I420: |
| 805 case media::PIXEL_FORMAT_YV12: |
| 806 case media::PIXEL_FORMAT_YV16: |
| 807 case media::PIXEL_FORMAT_YV12A: |
| 808 case media::PIXEL_FORMAT_YV24: |
| 809 case media::PIXEL_FORMAT_NV12: |
| 810 case media::PIXEL_FORMAT_NV21: |
| 811 case media::PIXEL_FORMAT_UYVY: |
| 812 case media::PIXEL_FORMAT_YUY2: |
| 813 case media::PIXEL_FORMAT_ARGB: |
| 814 case media::PIXEL_FORMAT_XRGB: |
| 815 case media::PIXEL_FORMAT_RGB24: |
| 816 case media::PIXEL_FORMAT_RGB32: |
| 817 case media::PIXEL_FORMAT_MJPEG: |
| 818 case media::PIXEL_FORMAT_MT21: |
| 819 case media::PIXEL_FORMAT_Y8: |
| 820 case media::PIXEL_FORMAT_I422: |
| 821 bits_per_channel = 8; |
| 822 break; |
| 823 case media::PIXEL_FORMAT_YUV420P9: |
| 824 case media::PIXEL_FORMAT_YUV422P9: |
| 825 case media::PIXEL_FORMAT_YUV444P9: |
| 826 bits_per_channel = 9; |
| 827 break; |
| 828 case media::PIXEL_FORMAT_YUV420P10: |
| 829 case media::PIXEL_FORMAT_YUV422P10: |
| 830 case media::PIXEL_FORMAT_YUV444P10: |
| 831 bits_per_channel = 10; |
| 832 break; |
| 833 case media::PIXEL_FORMAT_YUV420P12: |
| 834 case media::PIXEL_FORMAT_YUV422P12: |
| 835 case media::PIXEL_FORMAT_YUV444P12: |
| 836 bits_per_channel = 12; |
| 837 break; |
| 838 case media::PIXEL_FORMAT_Y16: |
| 839 bits_per_channel = 16; |
| 840 break; |
| 841 } |
| 842 return bits_per_channel; |
| 843 } |
| 844 |
| 798 // static | 845 // static |
| 799 scoped_refptr<VideoFrame> VideoFrame::WrapExternalStorage( | 846 scoped_refptr<VideoFrame> VideoFrame::WrapExternalStorage( |
| 800 VideoPixelFormat format, | 847 VideoPixelFormat format, |
| 801 StorageType storage_type, | 848 StorageType storage_type, |
| 802 const gfx::Size& coded_size, | 849 const gfx::Size& coded_size, |
| 803 const gfx::Rect& visible_rect, | 850 const gfx::Rect& visible_rect, |
| 804 const gfx::Size& natural_size, | 851 const gfx::Size& natural_size, |
| 805 uint8_t* data, | 852 uint8_t* data, |
| 806 size_t data_size, | 853 size_t data_size, |
| 807 base::TimeDelta timestamp, | 854 base::TimeDelta timestamp, |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1152 if (zero_initialize_memory) | 1199 if (zero_initialize_memory) |
| 1153 memset(data, 0, data_size); | 1200 memset(data, 0, data_size); |
| 1154 | 1201 |
| 1155 for (size_t plane = 0; plane < NumPlanes(format_); ++plane) | 1202 for (size_t plane = 0; plane < NumPlanes(format_); ++plane) |
| 1156 data_[plane] = data + offset[plane]; | 1203 data_[plane] = data + offset[plane]; |
| 1157 | 1204 |
| 1158 AddDestructionObserver(base::Bind(&base::AlignedFree, data)); | 1205 AddDestructionObserver(base::Bind(&base::AlignedFree, data)); |
| 1159 } | 1206 } |
| 1160 | 1207 |
| 1161 } // namespace media | 1208 } // namespace media |
| OLD | NEW |