Add frame_helpers

A number of utility functions to be shared between frame buffer 2
and the new frame scheduling implementation based on frame buffer 3.

Change-Id: Icc932c6c76fddeeedc8aa64ec27c7e0c955abfd0
Bug: webrtc:13343
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241604
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35743}
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index cdf7efa..acec457 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -148,6 +148,18 @@
   absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
 }
 
+rtc_library("frame_helpers") {
+  sources = [
+    "frame_helpers.cc",
+    "frame_helpers.h",
+  ]
+  deps = [
+    "../../api/video:encoded_frame",
+    "../../rtc_base:logging",
+  ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
+}
+
 rtc_library("frame_buffer") {
   sources = [
     "frame_buffer3.cc",
@@ -227,6 +239,7 @@
     ":codec_globals_headers",
     ":encoded_frame",
     ":frame_buffer",
+    ":frame_helpers",
     ":packet_buffer",
     ":video_codec_interface",
     ":video_coding_utility",