Update metrics in video codec tester For encode and decode time change units from milliseconds to microseconds. Also rename transmission_time to buffer_delay. Bug: webrtc:14852 Change-Id: Ic38d16548130076ecac15f87009365c4fcc2f6ba Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/474400 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47757}
diff --git a/test/video_codec_tester.cc b/test/video_codec_tester.cc index a12c688..0d682ac 100644 --- a/test/video_codec_tester.cc +++ b/test/video_codec_tester.cc
@@ -630,12 +630,12 @@ } } if (frame.encoded) { - stream.encode_time_ms.AddSample( - StatsSample(frame.encode_time.ms(), time)); + stream.encode_time_us.AddSample( + StatsSample(frame.encode_time.us<double>(), time)); } if (frame.decoded) { - stream.decode_time_ms.AddSample( - StatsSample(frame.decode_time.ms(), time)); + stream.decode_time_us.AddSample( + StatsSample(frame.decode_time.us<double>(), time)); } if (frame.psnr) { stream.psnr.y.AddSample(StatsSample(frame.psnr->y, time)); @@ -650,7 +650,7 @@ stream.target_bitrate_kbps.AddSample( StatsSample(frame.target_bitrate->kbps<double>(), time)); int buffer_level_bits = leaky_bucket.Update(frame); - stream.transmission_time_ms.AddSample(StatsSample( + stream.buffer_delay_ms.AddSample(StatsSample( 1000 * buffer_level_bits / frame.target_bitrate->bps<double>(), time)); } @@ -1564,25 +1564,23 @@ ImprovementDirection::kSmallerIsBetter, metadata); logger->LogMetric(prefix + "qp", test_case_name, qp, Unit::kUnitless, ImprovementDirection::kSmallerIsBetter, metadata); - // TODO(webrtc:14852): Change to us or even ns. - logger->LogMetric(prefix + "encode_time_ms", test_case_name, encode_time_ms, - Unit::kMilliseconds, ImprovementDirection::kSmallerIsBetter, + logger->LogMetric(prefix + "encode_time_us", test_case_name, encode_time_us, + Unit::kUnitless, ImprovementDirection::kSmallerIsBetter, metadata); - logger->LogMetric(prefix + "decode_time_ms", test_case_name, decode_time_ms, - Unit::kMilliseconds, ImprovementDirection::kSmallerIsBetter, + logger->LogMetric(prefix + "decode_time_us", test_case_name, decode_time_us, + Unit::kUnitless, ImprovementDirection::kSmallerIsBetter, metadata); - // TODO(webrtc:14852): Change to kUnitLess. kKilobitsPerSecond are converted - // to bytes per second in Chromeperf dash. + // We use Unit::kUnitless for kbps bitrate metrics to prevent the Chromeperf + // exporter from converting them to bytes per second (which alters the raw + // values). logger->LogMetric(prefix + "target_bitrate_kbps", test_case_name, - target_bitrate_kbps, Unit::kKilobitsPerSecond, + target_bitrate_kbps, Unit::kUnitless, ImprovementDirection::kBiggerIsBetter, metadata); logger->LogMetric(prefix + "target_framerate_fps", test_case_name, target_framerate_fps, Unit::kHertz, ImprovementDirection::kBiggerIsBetter, metadata); - // TODO(webrtc:14852): Change to kUnitLess. kKilobitsPerSecond are converted - // to bytes per second in Chromeperf dash. logger->LogMetric(prefix + "encoded_bitrate_kbps", test_case_name, - encoded_bitrate_kbps, Unit::kKilobitsPerSecond, + encoded_bitrate_kbps, Unit::kUnitless, ImprovementDirection::kBiggerIsBetter, metadata); logger->LogMetric(prefix + "encoded_framerate_fps", test_case_name, encoded_framerate_fps, Unit::kHertz, @@ -1593,9 +1591,9 @@ logger->LogMetric(prefix + "framerate_mismatch_pct", test_case_name, framerate_mismatch_pct, Unit::kPercent, ImprovementDirection::kNeitherIsBetter, metadata); - logger->LogMetric(prefix + "transmission_time_ms", test_case_name, - transmission_time_ms, Unit::kMilliseconds, - ImprovementDirection::kSmallerIsBetter, metadata); + logger->LogMetric(prefix + "buffer_delay_ms", test_case_name, buffer_delay_ms, + Unit::kMilliseconds, ImprovementDirection::kSmallerIsBetter, + metadata); logger->LogMetric(prefix + "psnr_y_db", test_case_name, psnr.y, Unit::kUnitless, ImprovementDirection::kBiggerIsBetter, metadata);
diff --git a/test/video_codec_tester.h b/test/video_codec_tester.h index 7e0764a..8bf4ba16 100644 --- a/test/video_codec_tester.h +++ b/test/video_codec_tester.h
@@ -108,15 +108,15 @@ SamplesStatsCounter frame_size_bytes; SamplesStatsCounter keyframe; SamplesStatsCounter qp; - SamplesStatsCounter encode_time_ms; - SamplesStatsCounter decode_time_ms; + SamplesStatsCounter encode_time_us; + SamplesStatsCounter decode_time_us; SamplesStatsCounter target_bitrate_kbps; SamplesStatsCounter target_framerate_fps; SamplesStatsCounter encoded_bitrate_kbps; SamplesStatsCounter encoded_framerate_fps; SamplesStatsCounter bitrate_mismatch_pct; SamplesStatsCounter framerate_mismatch_pct; - SamplesStatsCounter transmission_time_ms; + SamplesStatsCounter buffer_delay_ms; struct Psnr { SamplesStatsCounter y;