| 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 |