diff options
author | miu <miu@chromium.org> | 2015-05-22 16:22:59 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-22 23:23:37 +0000 |
commit | 5f887ec4774e4d7744befc791d8d69b47d755b99 (patch) | |
tree | a1779ace796a7cc20a7550f2ea518f1cb1a99d54 /media/cast/receiver | |
parent | 7598f464dda3b851eeb77b7d1083d5926a823acf (diff) | |
download | chromium_src-5f887ec4774e4d7744befc791d8d69b47d755b99.zip chromium_src-5f887ec4774e4d7744befc791d8d69b47d755b99.tar.gz chromium_src-5f887ec4774e4d7744befc791d8d69b47d755b99.tar.bz2 |
RELAND: [Cast] Compute utilization metrics and add performance overlay.
This change relands https://codereview.chromium.org/1148233002/ with a
compile fix for Mac that somehow got through the CQ unnoticed. :-/
Adds computation of two frame-level utilization metrics to the software
VP8 encoder in Cast: deadline utilization and lossy utilization. The
first is a measure of how long the encoding of each frame takes compared
to the frame duration. The second is a measure of the complexity of a
frame, in terms of the quality versus encoded size trade-off.
In a future change, these utilization metrics will be sent as feedback
signals to the producer of the video frames, allowing the producer to
adjust data volumes based on the consumer's capability throughout a
session. See bug for more details.
Also, this change adds an overlay display, where frame-level performance
metrics are rendered in the lower-right corner of each video frame just
before it is sent. This provides an "on screen display" of end-to-end
system performance. This is turned on with a command line argument:
--vmodule=performance_metrics_overlay=3
BUG=156767
TBR=hubbe@chromium.org
Review URL: https://codereview.chromium.org/1155943002
Cr-Commit-Position: refs/heads/master@{#331202}
Diffstat (limited to 'media/cast/receiver')
-rw-r--r-- | media/cast/receiver/video_decoder_unittest.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/media/cast/receiver/video_decoder_unittest.cc b/media/cast/receiver/video_decoder_unittest.cc index 085065e..bd273c3 100644 --- a/media/cast/receiver/video_decoder_unittest.cc +++ b/media/cast/receiver/video_decoder_unittest.cc @@ -12,6 +12,7 @@ #include "base/time/time.h" #include "media/cast/cast_config.h" #include "media/cast/receiver/video_decoder.h" +#include "media/cast/sender/sender_encoded_frame.h" #include "media/cast/sender/vp8_encoder.h" #include "media/cast/test/utility/default_config.h" #include "media/cast/test/utility/standalone_cast_environment.h" @@ -84,7 +85,7 @@ class VideoDecoderTest : public ::testing::TestWithParam<Codec> { PopulateVideoFrame(video_frame.get(), 0); // Encode |frame| into |encoded_frame->data|. - scoped_ptr<EncodedFrame> encoded_frame(new EncodedFrame()); + scoped_ptr<SenderEncodedFrame> encoded_frame(new SenderEncodedFrame()); // Test only supports VP8, currently. CHECK_EQ(CODEC_VIDEO_VP8, GetParam()); vp8_encoder_.Encode(video_frame, reference_time, encoded_frame.get()); |