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

Side by Side Diff: webrtc/modules/video_coding/main/source/codec_timer.h

Issue 1417283007: modules/video_coding refactorings (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix the other copy of the mock include header Created 5 years, 1 month 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
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_MODULES_VIDEO_CODING_CODEC_TIMER_H_
12 #define WEBRTC_MODULES_VIDEO_CODING_CODEC_TIMER_H_
13
14 #include "webrtc/modules/include/module_common_types.h"
15 #include "webrtc/typedefs.h"
16
17 namespace webrtc
18 {
19
20 // MAX_HISTORY_SIZE * SHORT_FILTER_MS defines the window size in milliseconds
21 #define MAX_HISTORY_SIZE 10
22 #define SHORT_FILTER_MS 1000
23
24 class VCMShortMaxSample
25 {
26 public:
27 VCMShortMaxSample() : shortMax(0), timeMs(-1) {};
28
29 int32_t shortMax;
30 int64_t timeMs;
31 };
32
33 class VCMCodecTimer
34 {
35 public:
36 VCMCodecTimer();
37
38 // Updates the max filtered decode time.
39 void MaxFilter(int32_t newDecodeTimeMs, int64_t nowMs);
40
41 // Empty the list of timers.
42 void Reset();
43
44 // Get the required decode time in ms.
45 int32_t RequiredDecodeTimeMs(FrameType frameType) const;
46
47 private:
48 void UpdateMaxHistory(int32_t decodeTime, int64_t now);
49 void ProcessHistory(int64_t nowMs);
50
51 int32_t _filteredMax;
52 // The number of samples ignored so far.
53 int32_t _ignoredSampleCount;
54 int32_t _shortMax;
55 VCMShortMaxSample _history[MAX_HISTORY_SIZE];
56
57 };
58
59 } // namespace webrtc
60
61 #endif // WEBRTC_MODULES_VIDEO_CODING_CODEC_TIMER_H_
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/main/source/codec_database.cc ('k') | webrtc/modules/video_coding/main/source/codec_timer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698