Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

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: Addressing comments Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/video/video_capture_input.h » ('j') | no next file with comments »
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...) Expand all
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...) Expand 10 before | Expand all | Expand 10 after
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') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698