Rename is_key_frame to communicate_upper_bits in FrameInstrumentation*Data

This is to make it clear that this field indicate whether the upper bits
of the sequence number should be communicated. However, the current
implementation only sets the field if it is a key frame.

Bug: webrtc:358039777
Change-Id: Ic2c8b6d91499e4e5cf25b8ce9591d326d7044fb0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361402
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42924}
This commit is contained in:
Fanny Linderborg 2024-09-03 10:34:52 +02:00 committed by WebRTC LUCI CQ
parent 843a3173f2
commit 6e072e6bfb
3 changed files with 19 additions and 13 deletions

View File

@ -18,12 +18,12 @@ namespace webrtc {
// TODO: b/358039777 - Error handling: negative values etc. // TODO: b/358039777 - Error handling: negative values etc.
struct FrameInstrumentationSyncData { struct FrameInstrumentationSyncData {
int sequence_index; int sequence_index;
bool is_key_frame; bool communicate_upper_bits;
}; };
struct FrameInstrumentationData { struct FrameInstrumentationData {
int sequence_index; int sequence_index;
bool is_key_frame; bool communicate_upper_bits;
double std_dev; double std_dev;
int luma_error_threshold; int luma_error_threshold;
int chroma_error_threshold; int chroma_error_threshold;

View File

@ -132,7 +132,7 @@ FrameInstrumentationGenerator::OnEncodedImage(
return std::nullopt; return std::nullopt;
} }
return FrameInstrumentationSyncData{.sequence_index = sequence_index, return FrameInstrumentationSyncData{.sequence_index = sequence_index,
.is_key_frame = true}; .communicate_upper_bits = true};
} }
std::optional<FilterSettings> filter_settings = std::optional<FilterSettings> filter_settings =
@ -153,7 +153,7 @@ FrameInstrumentationGenerator::OnEncodedImage(
FrameInstrumentationData data = { FrameInstrumentationData data = {
.sequence_index = sequence_index, .sequence_index = sequence_index,
.is_key_frame = is_key_frame, .communicate_upper_bits = is_key_frame,
.std_dev = filter_settings->std_dev, .std_dev = filter_settings->std_dev,
.luma_error_threshold = filter_settings->luma_error_threshold, .luma_error_threshold = filter_settings->luma_error_threshold,
.chroma_error_threshold = filter_settings->chroma_error_threshold}; .chroma_error_threshold = filter_settings->chroma_error_threshold};

View File

@ -152,7 +152,7 @@ TEST(FrameInstrumentationGeneratorTest,
FrameInstrumentationData frame_instrumentation_data = FrameInstrumentationData frame_instrumentation_data =
absl::get<FrameInstrumentationData>(*data); absl::get<FrameInstrumentationData>(*data);
EXPECT_EQ(frame_instrumentation_data.sequence_index, 0); EXPECT_EQ(frame_instrumentation_data.sequence_index, 0);
EXPECT_TRUE(frame_instrumentation_data.is_key_frame); EXPECT_TRUE(frame_instrumentation_data.communicate_upper_bits);
EXPECT_NE(frame_instrumentation_data.std_dev, 0.0); EXPECT_NE(frame_instrumentation_data.std_dev, 0.0);
EXPECT_NE(frame_instrumentation_data.luma_error_threshold, 0); EXPECT_NE(frame_instrumentation_data.luma_error_threshold, 0);
EXPECT_NE(frame_instrumentation_data.chroma_error_threshold, 0); EXPECT_NE(frame_instrumentation_data.chroma_error_threshold, 0);
@ -192,7 +192,7 @@ TEST(FrameInstrumentationGeneratorTest,
FrameInstrumentationData frame_instrumentation_data = FrameInstrumentationData frame_instrumentation_data =
absl::get<FrameInstrumentationData>(*data); absl::get<FrameInstrumentationData>(*data);
EXPECT_EQ(frame_instrumentation_data.sequence_index, 0); EXPECT_EQ(frame_instrumentation_data.sequence_index, 0);
EXPECT_TRUE(frame_instrumentation_data.is_key_frame); EXPECT_TRUE(frame_instrumentation_data.communicate_upper_bits);
EXPECT_NE(frame_instrumentation_data.std_dev, 0.0); EXPECT_NE(frame_instrumentation_data.std_dev, 0.0);
EXPECT_NE(frame_instrumentation_data.luma_error_threshold, 0); EXPECT_NE(frame_instrumentation_data.luma_error_threshold, 0);
EXPECT_NE(frame_instrumentation_data.chroma_error_threshold, 0); EXPECT_NE(frame_instrumentation_data.chroma_error_threshold, 0);
@ -234,7 +234,7 @@ TEST(FrameInstrumentationGeneratorTest,
FrameInstrumentationData frame_instrumentation_data = FrameInstrumentationData frame_instrumentation_data =
absl::get<FrameInstrumentationData>(*data); absl::get<FrameInstrumentationData>(*data);
EXPECT_EQ(frame_instrumentation_data.sequence_index, 0); EXPECT_EQ(frame_instrumentation_data.sequence_index, 0);
EXPECT_TRUE(frame_instrumentation_data.is_key_frame); EXPECT_TRUE(frame_instrumentation_data.communicate_upper_bits);
EXPECT_NE(frame_instrumentation_data.std_dev, 0.0); EXPECT_NE(frame_instrumentation_data.std_dev, 0.0);
EXPECT_NE(frame_instrumentation_data.luma_error_threshold, 0); EXPECT_NE(frame_instrumentation_data.luma_error_threshold, 0);
EXPECT_NE(frame_instrumentation_data.chroma_error_threshold, 0); EXPECT_NE(frame_instrumentation_data.chroma_error_threshold, 0);
@ -322,8 +322,10 @@ TEST(FrameInstrumentationGeneratorTest,
ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data2)); ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data2));
EXPECT_TRUE(absl::get<FrameInstrumentationData>(*data1).is_key_frame); EXPECT_TRUE(
EXPECT_TRUE(absl::get<FrameInstrumentationData>(*data2).is_key_frame); absl::get<FrameInstrumentationData>(*data1).communicate_upper_bits);
EXPECT_TRUE(
absl::get<FrameInstrumentationData>(*data2).communicate_upper_bits);
} }
} }
@ -373,16 +375,20 @@ TEST(FrameInstrumentationGeneratorTest,
ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data2)); ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data2));
EXPECT_TRUE(absl::get<FrameInstrumentationData>(*data1).is_key_frame); EXPECT_TRUE(
EXPECT_TRUE(absl::get<FrameInstrumentationData>(*data2).is_key_frame); absl::get<FrameInstrumentationData>(*data1).communicate_upper_bits);
EXPECT_TRUE(
absl::get<FrameInstrumentationData>(*data2).communicate_upper_bits);
} else if (data1.has_value() || data2.has_value()) { } else if (data1.has_value() || data2.has_value()) {
if (data1.has_value()) { if (data1.has_value()) {
ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data1)); ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data1));
EXPECT_FALSE(absl::get<FrameInstrumentationData>(*data1).is_key_frame); EXPECT_FALSE(
absl::get<FrameInstrumentationData>(*data1).communicate_upper_bits);
} }
if (data2.has_value()) { if (data2.has_value()) {
ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data2)); ASSERT_TRUE(absl::holds_alternative<FrameInstrumentationData>(*data2));
EXPECT_FALSE(absl::get<FrameInstrumentationData>(*data2).is_key_frame); EXPECT_FALSE(
absl::get<FrameInstrumentationData>(*data2).communicate_upper_bits);
} }
has_found_delta_frame = true; has_found_delta_frame = true;
} }