summaryrefslogtreecommitdiff
path: root/chromium/media/capabilities/video_decode_stats.proto
blob: 4298adc026359d8d3461032b7007f90c2c330581 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright 2017 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.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package media;

// Proto representation of VideoDecodeStatsDB::DecodeStatsEntry. The values are
// associated with a distinct VideoDecodeStatsDB::VideoDescKey.
message DecodeStatsProto {
  // Required. Count of decoded video frames.
  optional uint64 frames_decoded = 1;

  // Required. Count of dropped video frames. Should not exceed
  // |frames_decoded|.
  optional uint64 frames_dropped = 2;

  // Required. Count of power efficiently decoded frames.
  optional uint64 frames_power_efficient = 3;

  // Required. Time of last data write from base::Time::ToJsTime(). Data will be
  // discarded when the date indicates its very old. This avoids a circumstance
  // where a few bad outlier playbacks permanently define a machines
  // capabilities.
  optional double last_write_date = 7;

  // Required (for those in the "unweighted" experiment). An unweighted average
  // of dropped frames percentage from the last |num_unweighted_playbacks|.
  optional double unweighted_average_frames_dropped = 8 [default = 0];

  // Required (for those in the "unweighted" experiment). An unweighted average
  // of efficient frames percentage from the last |num_unweighted_playbacks|.
  optional double unweighted_average_frames_efficient = 9 [default = 0];

  // Required (for those in the "unweighted" experiment). Count of playbacks
  // contributing to |unweighted_average_frames_*| fields.
  optional uint64 num_unweighted_playbacks = 10 [default = 0];
}