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

Side by Side Diff: webrtc/modules/video_coding/codecs/vp8/screenshare_layers.h

Issue 1869003002: Make sure temporal layered screenshare frames are sent in at least 2s. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Typo Created 4 years, 8 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
OLDNEW
1 /* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 1 /* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
2 * 2 *
3 * Use of this source code is governed by a BSD-style license 3 * Use of this source code is governed by a BSD-style license
4 * that can be found in the LICENSE file in the root of the source 4 * that can be found in the LICENSE file in the root of the source
5 * tree. An additional intellectual property rights grant can be found 5 * tree. An additional intellectual property rights grant can be found
6 * in the file PATENTS. All contributing project authors may 6 * in the file PATENTS. All contributing project authors may
7 * be found in the AUTHORS file in the root of the source tree. 7 * be found in the AUTHORS file in the root of the source tree.
8 */ 8 */
9 #ifndef WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SCREENSHARE_LAYERS_H_ 9 #ifndef WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SCREENSHARE_LAYERS_H_
10 #define WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SCREENSHARE_LAYERS_H_ 10 #define WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SCREENSHARE_LAYERS_H_
(...skipping 12 matching lines...) Expand all
23 struct CodecSpecificInfoVP8; 23 struct CodecSpecificInfoVP8;
24 class Clock; 24 class Clock;
25 25
26 class ScreenshareLayers : public TemporalLayers { 26 class ScreenshareLayers : public TemporalLayers {
27 public: 27 public:
28 static const double kMaxTL0FpsReduction; 28 static const double kMaxTL0FpsReduction;
29 static const double kAcceptableTargetOvershoot; 29 static const double kAcceptableTargetOvershoot;
30 static const int kTl0Flags; 30 static const int kTl0Flags;
31 static const int kTl1Flags; 31 static const int kTl1Flags;
32 static const int kTl1SyncFlags; 32 static const int kTl1SyncFlags;
33 static const int kMaxFrameIntervalMs;
33 34
34 ScreenshareLayers(int num_temporal_layers, 35 ScreenshareLayers(int num_temporal_layers,
35 uint8_t initial_tl0_pic_idx, 36 uint8_t initial_tl0_pic_idx,
36 Clock* clock); 37 Clock* clock);
37 virtual ~ScreenshareLayers(); 38 virtual ~ScreenshareLayers();
38 39
39 // Returns the recommended VP8 encode flags needed. May refresh the decoder 40 // Returns the recommended VP8 encode flags needed. May refresh the decoder
40 // and/or update the reference buffers. 41 // and/or update the reference buffers.
41 int EncodeFlags(uint32_t timestamp) override; 42 int EncodeFlags(uint32_t timestamp) override;
42 43
(...skipping 19 matching lines...) Expand all
62 bool TimeToSync(int64_t timestamp) const; 63 bool TimeToSync(int64_t timestamp) const;
63 64
64 Clock* const clock_; 65 Clock* const clock_;
65 66
66 int number_of_temporal_layers_; 67 int number_of_temporal_layers_;
67 bool last_base_layer_sync_; 68 bool last_base_layer_sync_;
68 uint8_t tl0_pic_idx_; 69 uint8_t tl0_pic_idx_;
69 int active_layer_; 70 int active_layer_;
70 int64_t last_timestamp_; 71 int64_t last_timestamp_;
71 int64_t last_sync_timestamp_; 72 int64_t last_sync_timestamp_;
73 int64_t last_emitted_tl0_timestamp_;
72 rtc::TimestampWrapAroundHandler time_wrap_handler_; 74 rtc::TimestampWrapAroundHandler time_wrap_handler_;
73 int min_qp_; 75 int min_qp_;
74 int max_qp_; 76 int max_qp_;
75 uint32_t max_debt_bytes_; 77 uint32_t max_debt_bytes_;
76 int frame_rate_; 78 int frame_rate_;
77 79
78 static const int kMaxNumTemporalLayers = 2; 80 static const int kMaxNumTemporalLayers = 2;
79 struct TemporalLayer { 81 struct TemporalLayer {
80 TemporalLayer() 82 TemporalLayer()
81 : state(State::kNormal), 83 : state(State::kNormal),
(...skipping 27 matching lines...) Expand all
109 int64_t num_overshoots_ = 0; 111 int64_t num_overshoots_ = 0;
110 int64_t tl0_qp_sum_ = 0; 112 int64_t tl0_qp_sum_ = 0;
111 int64_t tl1_qp_sum_ = 0; 113 int64_t tl1_qp_sum_ = 0;
112 int64_t tl0_target_bitrate_sum_ = 0; 114 int64_t tl0_target_bitrate_sum_ = 0;
113 int64_t tl1_target_bitrate_sum_ = 0; 115 int64_t tl1_target_bitrate_sum_ = 0;
114 } stats_; 116 } stats_;
115 }; 117 };
116 } // namespace webrtc 118 } // namespace webrtc
117 119
118 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SCREENSHARE_LAYERS_H_ 120 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SCREENSHARE_LAYERS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698