OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <inttypes.h> | 5 #include <inttypes.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <queue> | 8 #include <queue> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 1298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1309 FeedEncoderWithOneInput(); | 1309 FeedEncoderWithOneInput(); |
1310 } | 1310 } |
1311 | 1311 |
1312 scoped_refptr<media::VideoFrame> VEAClient::CreateFrame(off_t position) { | 1312 scoped_refptr<media::VideoFrame> VEAClient::CreateFrame(off_t position) { |
1313 uint8* frame_data_y = const_cast<uint8*>( | 1313 uint8* frame_data_y = const_cast<uint8*>( |
1314 test_stream_->mapped_aligned_in_file.data() + position); | 1314 test_stream_->mapped_aligned_in_file.data() + position); |
1315 uint8* frame_data_u = frame_data_y + test_stream_->aligned_plane_size[0]; | 1315 uint8* frame_data_u = frame_data_y + test_stream_->aligned_plane_size[0]; |
1316 uint8* frame_data_v = frame_data_u + test_stream_->aligned_plane_size[1]; | 1316 uint8* frame_data_v = frame_data_u + test_stream_->aligned_plane_size[1]; |
1317 CHECK_GT(current_framerate_, 0U); | 1317 CHECK_GT(current_framerate_, 0U); |
1318 | 1318 |
1319 return media::VideoFrame::WrapExternalYuvData( | 1319 scoped_refptr<media::VideoFrame> video_frame = |
1320 kInputFormat, input_coded_size_, gfx::Rect(test_stream_->visible_size), | 1320 media::VideoFrame::WrapExternalYuvData( |
1321 test_stream_->visible_size, input_coded_size_.width(), | 1321 kInputFormat, input_coded_size_, |
1322 input_coded_size_.width() / 2, input_coded_size_.width() / 2, | 1322 gfx::Rect(test_stream_->visible_size), test_stream_->visible_size, |
1323 frame_data_y, frame_data_u, frame_data_v, | 1323 input_coded_size_.width(), input_coded_size_.width() / 2, |
1324 base::TimeDelta().FromMilliseconds(next_input_id_ * | 1324 input_coded_size_.width() / 2, frame_data_y, frame_data_u, |
1325 base::Time::kMillisecondsPerSecond / | 1325 frame_data_v, |
1326 current_framerate_)); | 1326 base::TimeDelta().FromMilliseconds( |
| 1327 next_input_id_ * base::Time::kMillisecondsPerSecond / |
| 1328 current_framerate_)); |
| 1329 CHECK(video_frame); |
| 1330 return video_frame; |
1327 } | 1331 } |
1328 | 1332 |
1329 scoped_refptr<media::VideoFrame> VEAClient::PrepareInputFrame(off_t position, | 1333 scoped_refptr<media::VideoFrame> VEAClient::PrepareInputFrame(off_t position, |
1330 int32* input_id) { | 1334 int32* input_id) { |
1331 CHECK_LE(position + test_stream_->aligned_buffer_size, | 1335 CHECK_LE(position + test_stream_->aligned_buffer_size, |
1332 test_stream_->mapped_aligned_in_file.length()); | 1336 test_stream_->mapped_aligned_in_file.length()); |
1333 | 1337 |
1334 scoped_refptr<media::VideoFrame> frame = CreateFrame(position); | 1338 scoped_refptr<media::VideoFrame> frame = CreateFrame(position); |
| 1339 CHECK(frame); |
1335 frame->AddDestructionObserver( | 1340 frame->AddDestructionObserver( |
1336 media::BindToCurrentLoop( | 1341 media::BindToCurrentLoop( |
1337 base::Bind(&VEAClient::InputNoLongerNeededCallback, | 1342 base::Bind(&VEAClient::InputNoLongerNeededCallback, |
1338 base::Unretained(this), | 1343 base::Unretained(this), |
1339 next_input_id_))); | 1344 next_input_id_))); |
1340 | 1345 |
1341 LOG_ASSERT(inputs_at_client_.insert(next_input_id_).second); | 1346 LOG_ASSERT(inputs_at_client_.insert(next_input_id_).second); |
1342 | 1347 |
1343 *input_id = next_input_id_++; | 1348 *input_id = next_input_id_++; |
1344 return frame; | 1349 return frame; |
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1772 | 1777 |
1773 content::g_env = | 1778 content::g_env = |
1774 reinterpret_cast<content::VideoEncodeAcceleratorTestEnvironment*>( | 1779 reinterpret_cast<content::VideoEncodeAcceleratorTestEnvironment*>( |
1775 testing::AddGlobalTestEnvironment( | 1780 testing::AddGlobalTestEnvironment( |
1776 new content::VideoEncodeAcceleratorTestEnvironment( | 1781 new content::VideoEncodeAcceleratorTestEnvironment( |
1777 test_stream_data.Pass(), log_path, run_at_fps, | 1782 test_stream_data.Pass(), log_path, run_at_fps, |
1778 needs_encode_latency, verify_all_output))); | 1783 needs_encode_latency, verify_all_output))); |
1779 | 1784 |
1780 return RUN_ALL_TESTS(); | 1785 return RUN_ALL_TESTS(); |
1781 } | 1786 } |
OLD | NEW |