| Index: media/cast/sender/performance_metrics_overlay.h
|
| diff --git a/media/cast/sender/performance_metrics_overlay.h b/media/cast/sender/performance_metrics_overlay.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3befda456b7ebe55572dd7b859c8b86bd8e3aa53
|
| --- /dev/null
|
| +++ b/media/cast/sender/performance_metrics_overlay.h
|
| @@ -0,0 +1,66 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef MEDIA_CAST_SENDER_PERFORMANCE_METRICS_OVERLAY_H_
|
| +#define MEDIA_CAST_SENDER_PERFORMANCE_METRICS_OVERLAY_H_
|
| +
|
| +// This module provides a display of frame-level performance metrics, rendered
|
| +// in the lower-right corner of a VideoFrame. It looks like this:
|
| +//
|
| +// +----------------------------------------------------------------+
|
| +// | @@@@@@@@@@@@@@@@@@@@@@@ |
|
| +// | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
| +// | @@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ |
|
| +// | @@@@@@@@@@@@@ @@@@ |
|
| +// | @@@@@@@@@@ @@@@ |
|
| +// | @@@@@ @@@ @@@ @@@@ |
|
| +// | @@@ @ @@@ @@@@ @@@@ |
|
| +// | @@@@ @@@@ @@@@ |
|
| +// | @@@@ @@@ @@@ |
|
| +// | @@@@ @@ @@@ |
|
| +// | @@@@@ @@@ @@@ @@@ |
|
| +// | @@@@@ @@@@@ @@@@ @@@@ |
|
| +// | @@@@@ @@@@@@@@@@@@@ @@@@ |
|
| +// | @@@@@@ @@@@ 1 45% 75% |
|
| +// | @@@@@@@@ @@@@@@ 22 16.7 4000 |
|
| +// | @@@@@@@@@@@@@@@@ 1280x720 0:15.12 |
|
| +// +----------------------------------------------------------------+
|
| +//
|
| +// Line 1: Reads as, "1 frame ago, the encoder deadline utilization for the
|
| +// frame was 45% and the lossy utilization was 75%." Encoder deadline
|
| +// utilization is in terms the amount of real-world time it took to encode the
|
| +// frame, divided by the maximum amount of time allowed. Lossy utilization is
|
| +// the amount of "complexity" in the frame's content versus the target encoded
|
| +// byte size, where a value over 100% means the frame's content is too complex
|
| +// to encode within the target number of bytes.
|
| +//
|
| +// Line 2: Reads as, "Capture of this frame took 22 ms. The expected duration
|
| +// of this frame is 16.7 ms. The target bitrate for this frame is 4000 kbps."
|
| +//
|
| +// Line 3: Contains the frame's resolution and media timestamp in
|
| +// minutes:seconds.hundredths format.
|
| +
|
| +namespace media {
|
| +
|
| +class VideoFrame;
|
| +
|
| +namespace cast {
|
| +
|
| +// Renders an overlay of frame-level performance metrics in the lower-right
|
| +// corner of the |frame|, as described above. The verbose logging level for
|
| +// video_frame_overlay.cc determines which lines, if any, are rendered: VLOG
|
| +// level 1 renders the bottom line only, level 2 renders the bottom and middle
|
| +// lines, and level 3 renders all three lines. So, use the
|
| +// --vmodule=performance_metrics_overlay=3 command line argument to turn on
|
| +// rendering of the entire overlay.
|
| +void MaybeRenderPerformanceMetricsOverlay(int target_bitrate,
|
| + int frames_ago,
|
| + double deadline_utilization,
|
| + double lossy_utilization,
|
| + VideoFrame* frame);
|
| +
|
| +} // namespace cast
|
| +} // namespace media
|
| +
|
| +#endif // MEDIA_CAST_SENDER_PERFORMANCE_METRICS_OVERLAY_H_
|
|
|