OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 virtual int StrideY() const = 0; | 90 virtual int StrideY() const = 0; |
91 virtual int StrideU() const = 0; | 91 virtual int StrideU() const = 0; |
92 virtual int StrideV() const = 0; | 92 virtual int StrideV() const = 0; |
93 | 93 |
94 protected: | 94 protected: |
95 ~PlanarYuvBuffer() override {} | 95 ~PlanarYuvBuffer() override {} |
96 }; | 96 }; |
97 | 97 |
98 class I420BufferInterface : public PlanarYuvBuffer { | 98 class I420BufferInterface : public PlanarYuvBuffer { |
99 public: | 99 public: |
100 Type type() const final; | 100 Type type() const override; |
101 | 101 |
102 int ChromaWidth() const final; | 102 int ChromaWidth() const final; |
103 int ChromaHeight() const final; | 103 int ChromaHeight() const final; |
104 | 104 |
| 105 bool HasAlpha() const; |
| 106 virtual const uint8_t* DataA() const; |
| 107 virtual int StrideA() const; |
| 108 |
105 rtc::scoped_refptr<I420BufferInterface> ToI420() final; | 109 rtc::scoped_refptr<I420BufferInterface> ToI420() final; |
106 | 110 |
107 protected: | 111 protected: |
108 ~I420BufferInterface() override {} | 112 ~I420BufferInterface() override {} |
109 }; | 113 }; |
110 | 114 |
111 class I444BufferInterface : public PlanarYuvBuffer { | 115 class I444BufferInterface : public PlanarYuvBuffer { |
112 public: | 116 public: |
113 Type type() const final; | 117 Type type() const final; |
114 | 118 |
115 int ChromaWidth() const final; | 119 int ChromaWidth() const final; |
116 int ChromaHeight() const final; | 120 int ChromaHeight() const final; |
117 | 121 |
118 rtc::scoped_refptr<I420BufferInterface> ToI420() final; | 122 rtc::scoped_refptr<I420BufferInterface> ToI420() final; |
119 | 123 |
120 protected: | 124 protected: |
121 ~I444BufferInterface() override {} | 125 ~I444BufferInterface() override {} |
122 }; | 126 }; |
123 | 127 |
124 } // namespace webrtc | 128 } // namespace webrtc |
125 | 129 |
126 #endif // API_VIDEO_VIDEO_FRAME_BUFFER_H_ | 130 #endif // API_VIDEO_VIDEO_FRAME_BUFFER_H_ |
OLD | NEW |