Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: webrtc/modules/video_coding/codecs/tools/video_quality_measurement.cc

Issue 2999113002: Run VideoProcessor on task queue in VideoProcessorIntegrationTest. (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 // If disabled we must generate a new seed. 503 // If disabled we must generate a new seed.
504 if (FLAGS_disable_fixed_random_seed) { 504 if (FLAGS_disable_fixed_random_seed) {
505 packet_manipulator.InitializeRandomSeed(time(NULL)); 505 packet_manipulator.InitializeRandomSeed(time(NULL));
506 } 506 }
507 webrtc::test::VideoProcessor* processor = new webrtc::test::VideoProcessor( 507 webrtc::test::VideoProcessor* processor = new webrtc::test::VideoProcessor(
508 encoder, decoder, &frame_reader, &frame_writer, &packet_manipulator, 508 encoder, decoder, &frame_reader, &frame_writer, &packet_manipulator,
509 config, &stats, nullptr /* encoded_frame_writer */, 509 config, &stats, nullptr /* encoded_frame_writer */,
510 nullptr /* decoded_frame_writer */); 510 nullptr /* decoded_frame_writer */);
511 processor->Init(); 511 processor->Init();
512 512
513 const int num_frames = frame_reader.NumberOfFrames();
513 int frame_number = 0; 514 int frame_number = 0;
514 while (processor->ProcessFrame(frame_number)) { 515 while (frame_number < num_frames) {
516 processor->ProcessFrame(frame_number);
515 if (frame_number % 80 == 0) { 517 if (frame_number % 80 == 0) {
516 Log("\n"); // make the output a bit nicer. 518 Log("\n"); // make the output a bit nicer.
517 } 519 }
518 Log("."); 520 Log(".");
519 frame_number++; 521 frame_number++;
520 } 522 }
521 Log("\n"); 523 Log("\n");
522 Log("Processed %d frames\n", frame_number); 524 Log("Processed %d frames\n", frame_number);
523 525
524 // Release encoder and decoder to make sure they have finished processing. 526 // Release encoder and decoder to make sure they have finished processing.
525 encoder->Release(); 527 processor->Release();
526 decoder->Release();
527 528
528 // Verify statistics are correct: 529 // Verify statistics are correct:
529 assert(frame_number == static_cast<int>(stats.stats_.size())); 530 assert(frame_number == static_cast<int>(stats.stats_.size()));
530 531
531 // Close the files before we start using them for SSIM/PSNR calculations. 532 // Close the files before we start using them for SSIM/PSNR calculations.
532 frame_reader.Close(); 533 frame_reader.Close();
533 frame_writer.Close(); 534 frame_writer.Close();
534 535
535 stats.PrintSummary(); 536 stats.PrintSummary();
536 537
537 webrtc::test::QualityMetricsResult ssim_result; 538 webrtc::test::QualityMetricsResult ssim_result;
538 CalculateSsimVideoMetrics(&config, &ssim_result); 539 CalculateSsimVideoMetrics(&config, &ssim_result);
539 webrtc::test::QualityMetricsResult psnr_result; 540 webrtc::test::QualityMetricsResult psnr_result;
540 CalculatePsnrVideoMetrics(&config, &psnr_result); 541 CalculatePsnrVideoMetrics(&config, &psnr_result);
541 542
542 if (FLAGS_csv) { 543 if (FLAGS_csv) {
543 PrintCsvOutput(stats, ssim_result, psnr_result); 544 PrintCsvOutput(stats, ssim_result, psnr_result);
544 } 545 }
545 if (FLAGS_python) { 546 if (FLAGS_python) {
546 PrintPythonOutput(config, stats, ssim_result, psnr_result); 547 PrintPythonOutput(config, stats, ssim_result, psnr_result);
547 } 548 }
548 delete processor; 549 delete processor;
549 delete encoder; 550 delete encoder;
550 delete decoder; 551 delete decoder;
551 Log("Quality test finished!"); 552 Log("Quality test finished!");
552 return 0; 553 return 0;
553 } 554 }
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698