OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 frame.set_timestamp(123u); | 122 frame.set_timestamp(123u); |
123 EXPECT_EQ(123u, frame.timestamp()); | 123 EXPECT_EQ(123u, frame.timestamp()); |
124 frame.set_ntp_time_ms(456); | 124 frame.set_ntp_time_ms(456); |
125 EXPECT_EQ(456, frame.ntp_time_ms()); | 125 EXPECT_EQ(456, frame.ntp_time_ms()); |
126 EXPECT_EQ(789, frame.render_time_ms()); | 126 EXPECT_EQ(789, frame.render_time_ms()); |
127 } | 127 } |
128 | 128 |
129 TEST(TestVideoFrame, ShallowCopy) { | 129 TEST(TestVideoFrame, ShallowCopy) { |
130 uint32_t timestamp = 1; | 130 uint32_t timestamp = 1; |
131 int64_t ntp_time_ms = 2; | 131 int64_t ntp_time_ms = 2; |
132 int64_t render_time_ms = 3; | 132 int64_t timestamp_us = 3; |
133 int stride_y = 15; | 133 int stride_y = 15; |
134 int stride_u = 10; | 134 int stride_u = 10; |
135 int stride_v = 10; | 135 int stride_v = 10; |
136 int width = 15; | 136 int width = 15; |
137 int height = 15; | 137 int height = 15; |
138 | 138 |
139 const int kSizeY = 400; | 139 const int kSizeY = 400; |
140 const int kSizeU = 100; | 140 const int kSizeU = 100; |
141 const int kSizeV = 100; | 141 const int kSizeV = 100; |
142 const VideoRotation kRotation = kVideoRotation_270; | 142 const VideoRotation kRotation = kVideoRotation_270; |
143 uint8_t buffer_y[kSizeY]; | 143 uint8_t buffer_y[kSizeY]; |
144 uint8_t buffer_u[kSizeU]; | 144 uint8_t buffer_u[kSizeU]; |
145 uint8_t buffer_v[kSizeV]; | 145 uint8_t buffer_v[kSizeV]; |
146 memset(buffer_y, 16, kSizeY); | 146 memset(buffer_y, 16, kSizeY); |
147 memset(buffer_u, 8, kSizeU); | 147 memset(buffer_u, 8, kSizeU); |
148 memset(buffer_v, 4, kSizeV); | 148 memset(buffer_v, 4, kSizeV); |
149 | 149 |
150 VideoFrame frame1( | 150 VideoFrame frame1( |
151 I420Buffer::Copy(width, height, | 151 I420Buffer::Copy(width, height, |
152 buffer_y, stride_y, | 152 buffer_y, stride_y, |
153 buffer_u, stride_u, | 153 buffer_u, stride_u, |
154 buffer_v, stride_v), | 154 buffer_v, stride_v), |
155 kRotation, 0); | 155 kRotation, 0); |
156 frame1.set_timestamp(timestamp); | 156 frame1.set_timestamp(timestamp); |
157 frame1.set_ntp_time_ms(ntp_time_ms); | 157 frame1.set_ntp_time_ms(ntp_time_ms); |
158 frame1.set_render_time_ms(render_time_ms); | 158 frame1.set_timestamp_us(timestamp_us); |
159 VideoFrame frame2(frame1); | 159 VideoFrame frame2(frame1); |
160 | 160 |
161 EXPECT_EQ(frame1.video_frame_buffer(), frame2.video_frame_buffer()); | 161 EXPECT_EQ(frame1.video_frame_buffer(), frame2.video_frame_buffer()); |
162 EXPECT_EQ(frame1.video_frame_buffer()->DataY(), | 162 EXPECT_EQ(frame1.video_frame_buffer()->DataY(), |
163 frame2.video_frame_buffer()->DataY()); | 163 frame2.video_frame_buffer()->DataY()); |
164 EXPECT_EQ(frame1.video_frame_buffer()->DataU(), | 164 EXPECT_EQ(frame1.video_frame_buffer()->DataU(), |
165 frame2.video_frame_buffer()->DataU()); | 165 frame2.video_frame_buffer()->DataU()); |
166 EXPECT_EQ(frame1.video_frame_buffer()->DataV(), | 166 EXPECT_EQ(frame1.video_frame_buffer()->DataV(), |
167 frame2.video_frame_buffer()->DataV()); | 167 frame2.video_frame_buffer()->DataV()); |
168 | 168 |
169 EXPECT_EQ(frame2.timestamp(), frame1.timestamp()); | 169 EXPECT_EQ(frame2.timestamp(), frame1.timestamp()); |
170 EXPECT_EQ(frame2.ntp_time_ms(), frame1.ntp_time_ms()); | 170 EXPECT_EQ(frame2.ntp_time_ms(), frame1.ntp_time_ms()); |
171 EXPECT_EQ(frame2.render_time_ms(), frame1.render_time_ms()); | 171 EXPECT_EQ(frame2.timestamp_us(), frame1.timestamp_us()); |
172 EXPECT_EQ(frame2.rotation(), frame1.rotation()); | 172 EXPECT_EQ(frame2.rotation(), frame1.rotation()); |
173 | 173 |
174 frame2.set_timestamp(timestamp + 1); | 174 frame2.set_timestamp(timestamp + 1); |
175 frame2.set_ntp_time_ms(ntp_time_ms + 1); | 175 frame2.set_ntp_time_ms(ntp_time_ms + 1); |
176 frame2.set_render_time_ms(render_time_ms + 1); | 176 frame2.set_timestamp_us(timestamp_us + 1); |
177 frame2.set_rotation(kVideoRotation_90); | 177 frame2.set_rotation(kVideoRotation_90); |
178 | 178 |
179 EXPECT_NE(frame2.timestamp(), frame1.timestamp()); | 179 EXPECT_NE(frame2.timestamp(), frame1.timestamp()); |
180 EXPECT_NE(frame2.ntp_time_ms(), frame1.ntp_time_ms()); | 180 EXPECT_NE(frame2.ntp_time_ms(), frame1.ntp_time_ms()); |
181 EXPECT_NE(frame2.render_time_ms(), frame1.render_time_ms()); | 181 EXPECT_NE(frame2.timestamp_us(), frame1.timestamp_us()); |
182 EXPECT_NE(frame2.rotation(), frame1.rotation()); | 182 EXPECT_NE(frame2.rotation(), frame1.rotation()); |
183 } | 183 } |
184 | 184 |
185 TEST(TestVideoFrame, TextureInitialValues) { | 185 TEST(TestVideoFrame, TextureInitialValues) { |
186 test::FakeNativeHandle* handle = new test::FakeNativeHandle(); | 186 test::FakeNativeHandle* handle = new test::FakeNativeHandle(); |
187 VideoFrame frame = test::FakeNativeHandle::CreateFrame( | 187 VideoFrame frame = test::FakeNativeHandle::CreateFrame( |
188 handle, 640, 480, 100, 10, webrtc::kVideoRotation_0); | 188 handle, 640, 480, 100, 10, webrtc::kVideoRotation_0); |
189 EXPECT_EQ(640, frame.width()); | 189 EXPECT_EQ(640, frame.width()); |
190 EXPECT_EQ(480, frame.height()); | 190 EXPECT_EQ(480, frame.height()); |
191 EXPECT_EQ(100u, frame.timestamp()); | 191 EXPECT_EQ(100u, frame.timestamp()); |
192 EXPECT_EQ(10, frame.render_time_ms()); | 192 EXPECT_EQ(10, frame.render_time_ms()); |
193 ASSERT_TRUE(frame.video_frame_buffer() != nullptr); | 193 ASSERT_TRUE(frame.video_frame_buffer() != nullptr); |
194 EXPECT_EQ(handle, frame.video_frame_buffer()->native_handle()); | 194 EXPECT_EQ(handle, frame.video_frame_buffer()->native_handle()); |
195 | 195 |
196 frame.set_timestamp(200); | 196 frame.set_timestamp(200); |
197 EXPECT_EQ(200u, frame.timestamp()); | 197 EXPECT_EQ(200u, frame.timestamp()); |
198 frame.set_render_time_ms(20); | 198 frame.set_timestamp_us(20); |
199 EXPECT_EQ(20, frame.render_time_ms()); | 199 EXPECT_EQ(20, frame.timestamp_us()); |
200 } | 200 } |
201 | 201 |
202 TEST(TestI420FrameBuffer, Copy) { | 202 TEST(TestI420FrameBuffer, Copy) { |
203 rtc::scoped_refptr<I420Buffer> buf1( | 203 rtc::scoped_refptr<I420Buffer> buf1( |
204 I420Buffer::Create(20, 10)); | 204 I420Buffer::Create(20, 10)); |
205 memset(buf1->MutableDataY(), 1, 200); | 205 memset(buf1->MutableDataY(), 1, 200); |
206 memset(buf1->MutableDataU(), 2, 50); | 206 memset(buf1->MutableDataU(), 2, 50); |
207 memset(buf1->MutableDataV(), 3, 50); | 207 memset(buf1->MutableDataV(), 3, 50); |
208 rtc::scoped_refptr<I420Buffer> buf2 = I420Buffer::Copy(*buf1); | 208 rtc::scoped_refptr<I420Buffer> buf2 = I420Buffer::Copy(*buf1); |
209 EXPECT_TRUE(test::FrameBufsEqual(buf1, buf2)); | 209 EXPECT_TRUE(test::FrameBufsEqual(buf1, buf2)); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 CheckRotate(640, 480, GetParam(), *rotated_buffer); | 301 CheckRotate(640, 480, GetParam(), *rotated_buffer); |
302 } | 302 } |
303 | 303 |
304 INSTANTIATE_TEST_CASE_P(Rotate, TestI420BufferRotateOld, | 304 INSTANTIATE_TEST_CASE_P(Rotate, TestI420BufferRotateOld, |
305 ::testing::Values(kVideoRotation_0, | 305 ::testing::Values(kVideoRotation_0, |
306 kVideoRotation_90, | 306 kVideoRotation_90, |
307 kVideoRotation_180, | 307 kVideoRotation_180, |
308 kVideoRotation_270)); | 308 kVideoRotation_270)); |
309 | 309 |
310 } // namespace webrtc | 310 } // namespace webrtc |
OLD | NEW |