Introduce DecodedFramesHistory class and use it in FrameBuffer
This is a space efficient way to store more records about decoded frames,
which is needed for long term references.
Bug: webrtc:9710
Change-Id: I051d59d34a966d48db011142466d9cd15304b7d9
Reviewed-on: https://webrtc-review.googlesource.com/c/116792
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26240}
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index 188b624..470f5b0 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -23,7 +23,6 @@
"../../api/video:video_frame_i420",
"../../modules:module_api",
"../../modules:module_api_public",
- "../../modules/video_coding:video_coding_utility",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base/experiments:alr_experiment",
@@ -249,6 +248,8 @@
rtc_source_set("video_coding_utility") {
visibility = [ "*" ]
sources = [
+ "utility/decoded_frames_history.cc",
+ "utility/decoded_frames_history.h",
"utility/default_video_bitrate_allocator.cc",
"utility/default_video_bitrate_allocator.h",
"utility/frame_dropper.cc",
@@ -278,6 +279,7 @@
":video_codec_interface",
"..:module_api",
"../..:webrtc_common",
+ "../../api/video:encoded_frame",
"../../api/video:encoded_image",
"../../api/video:video_bitrate_allocation",
"../../api/video:video_bitrate_allocator",
@@ -862,6 +864,7 @@
"test/stream_generator.cc",
"test/stream_generator.h",
"timing_unittest.cc",
+ "utility/decoded_frames_history_unittest.cc",
"utility/default_video_bitrate_allocator_unittest.cc",
"utility/frame_dropper_unittest.cc",
"utility/framerate_controller_unittest.cc",