Chromium Code Reviews

Side by Side Diff: webrtc/video/full_stack_plot.py

Issue 1374233002: Collecting encode_time_ms for each frame (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Again changing the name Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
« no previous file with comments | « no previous file | webrtc/video/video_capture_input.h » ('j') | webrtc/video/video_quality_test.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 # Copyright (c) 2015 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 """Generate graphs for data generated by loopback tests. 10 """Generate graphs for data generated by loopback tests.
(...skipping 16 matching lines...)
27 27
28 import argparse 28 import argparse
29 from collections import defaultdict 29 from collections import defaultdict
30 import itertools 30 import itertools
31 import sys 31 import sys
32 import matplotlib.pyplot as plt 32 import matplotlib.pyplot as plt
33 import numpy 33 import numpy
34 34
35 # Fields 35 # Fields
36 DROPPED = 0 36 DROPPED = 0
37 INPUT_TIME = 1 # ms 37 INPUT_TIME = 1 # ms (timestamp)
38 SEND_TIME = 2 # ms 38 SEND_TIME = 2 # ms (timestamp)
39 RECV_TIME = 3 # ms 39 RECV_TIME = 3 # ms (timestamp)
40 ENCODED_FRAME_SIZE = 4 # bytes 40 RENDER_TIME = 4 # ms (timestamp)
41 PSNR = 5 41 ENCODED_FRAME_SIZE = 5 # bytes
42 SSIM = 6 42 PSNR = 6
43 RENDER_TIME = 7 # ms 43 SSIM = 7
44 ENCODE_TIME = 8 # ms (time interval)
44 45
45 TOTAL_RAW_FIELDS = 8 46 TOTAL_RAW_FIELDS = 9
46 47
47 SENDER_TIME = TOTAL_RAW_FIELDS + 0 48 SENDER_TIME = TOTAL_RAW_FIELDS + 0
48 RECEIVER_TIME = TOTAL_RAW_FIELDS + 1 49 RECEIVER_TIME = TOTAL_RAW_FIELDS + 1
49 END_TO_END = TOTAL_RAW_FIELDS + 2 50 END_TO_END = TOTAL_RAW_FIELDS + 2
50 RENDERED_DELTA = TOTAL_RAW_FIELDS + 3 51 RENDERED_DELTA = TOTAL_RAW_FIELDS + 3
51 52
52 FIELD_MASK = 255 53 FIELD_MASK = 255
53 54
54 # Options 55 # Options
55 HIDE_DROPPED = 256 56 HIDE_DROPPED = 256
56 RIGHT_Y_AXIS = 512 57 RIGHT_Y_AXIS = 512
57 58
58 # internal field id, field name, title 59 # internal field id, field name, title
59 _fields = [ 60 _fields = [
60 # Raw 61 # Raw
61 (DROPPED, "dropped", "dropped"), 62 (DROPPED, "dropped", "dropped"),
62 (INPUT_TIME, "input_time_ms", "input time"), 63 (INPUT_TIME, "input_time_ms", "input time"),
63 (SEND_TIME, "send_time_ms", "send time"), 64 (SEND_TIME, "send_time_ms", "send time"),
64 (RECV_TIME, "recv_time_ms", "recv time"), 65 (RECV_TIME, "recv_time_ms", "recv time"),
65 (ENCODED_FRAME_SIZE, "encoded_frame_size", "encoded frame size"), 66 (ENCODED_FRAME_SIZE, "encoded_frame_size", "encoded frame size"),
66 (PSNR, "psnr", "PSNR"), 67 (PSNR, "psnr", "PSNR"),
67 (SSIM, "ssim", "SSIM"), 68 (SSIM, "ssim", "SSIM"),
68 (RENDER_TIME, "render_time_ms", "render time"), 69 (RENDER_TIME, "render_time_ms", "render time"),
70 (ENCODE_TIME, "encode_time_ms", "encode time"),
69 # Auto-generated 71 # Auto-generated
70 (SENDER_TIME, "sender_time", "sender time"), 72 (SENDER_TIME, "sender_time", "sender time"),
71 (RECEIVER_TIME, "receiver_time", "receiver time"), 73 (RECEIVER_TIME, "receiver_time", "receiver time"),
72 (END_TO_END, "end_to_end", "end to end"), 74 (END_TO_END, "end_to_end", "end to end"),
73 (RENDERED_DELTA, "rendered_delta", "rendered delta"), 75 (RENDERED_DELTA, "rendered_delta", "rendered delta"),
74 ] 76 ]
75 77
76 name_to_id = {field[1]: field[0] for field in _fields} 78 name_to_id = {field[1]: field[0] for field in _fields}
77 id_to_title = {field[0]: field[2] for field in _fields} 79 id_to_title = {field[0]: field[2] for field in _fields}
78 80
(...skipping 324 matching lines...)
403 config.plot(ax) 405 config.plot(ax)
404 if config.output_filename: 406 if config.output_filename:
405 print "Saving to", config.output_filename 407 print "Saving to", config.output_filename
406 fig.savefig(config.output_filename) 408 fig.savefig(config.output_filename)
407 plt.close(fig) 409 plt.close(fig)
408 410
409 plt.show() 411 plt.show()
410 412
411 if __name__ == "__main__": 413 if __name__ == "__main__":
412 show_or_save_plots(plot_configs_from_args(sys.argv[1:])) 414 show_or_save_plots(plot_configs_from_args(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | webrtc/video/video_capture_input.h » ('j') | webrtc/video/video_quality_test.cc » ('J')

Powered by Google App Engine