Get pure encode time.

Measure time spent in frame encode callback, accumulate it for layers
and subtract it from measured encode time of next layer frame.

Bug: none
Change-Id: Ifc3baae2f9a49913a55a7de2de9507102edd0295
Reviewed-on: https://webrtc-review.googlesource.com/65981
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22720}
This commit is contained in:
Sergey Silkin
2018-04-01 23:57:51 +02:00
committed by Commit Bot
parent ae3f02de10
commit c89eed92ad
2 changed files with 17 additions and 3 deletions

View File

@ -230,6 +230,11 @@ class VideoProcessor {
std::map<size_t, size_t> frame_wxh_to_simulcast_svc_idx_
RTC_GUARDED_BY(sequence_checker_);
// Time spent in frame encode callback. It is accumulated for layers and
// reset when frame encode starts. When next layer is encoded post-encode time
// is substracted from measured encode time. Thus we get pure encode time.
int64_t post_encode_time_ns_ RTC_GUARDED_BY(sequence_checker_);
// This class must be operated on a TaskQueue.
rtc::SequencedTaskChecker sequence_checker_;