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

Unified Diff: modules/video_coding/codecs/vp8/default_temporal_layers.h

Issue 3013843003: WIP
Patch Set: Created 3 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | modules/video_coding/codecs/vp8/default_temporal_layers.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: modules/video_coding/codecs/vp8/default_temporal_layers.h
diff --git a/modules/video_coding/codecs/vp8/default_temporal_layers.h b/modules/video_coding/codecs/vp8/default_temporal_layers.h
index e1a5987dec71134d5e4509d6cb2bd4ba5ec4f868..45867c5a0b477602b4bc9c0cf6df9d5fd57f15d1 100644
--- a/modules/video_coding/codecs/vp8/default_temporal_layers.h
+++ b/modules/video_coding/codecs/vp8/default_temporal_layers.h
@@ -1,14 +1,14 @@
/* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
-*
-* Use of this source code is governed by a BSD-style license
-* that can be found in the LICENSE file in the root of the source
-* tree. An additional intellectual property rights grant can be found
-* in the file PATENTS. All contributing project authors may
-* be found in the AUTHORS file in the root of the source tree.
-*/
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
/*
-* This file defines classes for doing temporal layers with VP8.
-*/
+ * This file defines classes for doing temporal layers with VP8.
+ */
#ifndef MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
#define MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
@@ -59,5 +59,32 @@ class DefaultTemporalLayers : public TemporalLayers {
rtc::Optional<std::vector<uint32_t>> new_bitrates_kbps_;
};
+class DefaultTemporalLayersChecker : public TemporalLayersChecker {
+ public:
+ DefaultTemporalLayersChecker(int number_of_temporal_layers,
+ uint8_t initial_tl0_pic_idx);
+ bool CheckOnFrameEncoded(bool frame_is_keyframe,
+ CodecSpecificInfoVP8& codec_specific,
+ TemporalLayers::FrameConfig& frame_config) override;
+
+ private:
+ struct BufferState {
+ BufferState()
+ : is_updated_this_cycle(false), is_keyframe(false), pattern_idx(0) {}
+
+ bool is_updated_this_cycle;
+ bool is_keyframe;
+ uint8_t pattern_idx;
+ };
+ const size_t num_layers_;
+ const std::vector<unsigned int> temporal_ids_;
+ const std::vector<std::vector<uint8_t>> temporal_dependencies_;
+ BufferState last_;
+ BufferState arf_;
+ BufferState golden_;
+ uint8_t tl0_pic_idx_;
+ uint8_t pattern_idx_;
+};
+
} // namespace webrtc
#endif // MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
« no previous file with comments | « no previous file | modules/video_coding/codecs/vp8/default_temporal_layers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698