vp9_level_stats: correct total_uncompressed_bits_ calculation
Only consider display frames.
Change-Id: I9061ad90775f0467a661b0ac5d11dc22e477a7c3
diff --git a/common/vp9_level_stats.cc b/common/vp9_level_stats.cc
index f9bd53a..24aeea3 100644
--- a/common/vp9_level_stats.cc
+++ b/common/vp9_level_stats.cc
@@ -47,10 +47,6 @@
total_compressed_size_ += parser.frame_size();
- // TODO(fgalligan): Add support for other color formats. Currently assuming
- // 420.
- total_uncompressed_bits_ += (luma_picture_size * parser.bit_depth() * 3) / 2;
-
while (!luma_window_.empty() &&
luma_window_.front().first <
(time_ns - (libwebm::kNanosecondsPerSecondi - 1))) {
@@ -97,6 +93,10 @@
} else {
++frames_since_last_altref;
++displayed_frames;
+ // TODO(fgalligan): Add support for other color formats. Currently assuming
+ // 420.
+ total_uncompressed_bits_ +=
+ (luma_picture_size * parser.bit_depth() * 3) / 2;
}
// Count max reference frames.
diff --git a/common/vp9_level_stats_tests.cc b/common/vp9_level_stats_tests.cc
index a1abed3..4653b7a 100644
--- a/common/vp9_level_stats_tests.cc
+++ b/common/vp9_level_stats_tests.cc
@@ -131,7 +131,7 @@
EXPECT_EQ(36864, stats_.GetMaxLumaPictureSize());
EXPECT_DOUBLE_EQ(264.03233333333333, stats_.GetAverageBitRate());
EXPECT_DOUBLE_EQ(147.136, stats_.GetMaxCpbSize());
- EXPECT_DOUBLE_EQ(20.873079938441883, stats_.GetCompressionRatio());
+ EXPECT_DOUBLE_EQ(19.267458404715583, stats_.GetCompressionRatio());
EXPECT_EQ(1, stats_.GetMaxColumnTiles());
EXPECT_EQ(11, stats_.GetMinimumAltrefDistance());
EXPECT_EQ(3, stats_.GetMaxReferenceFrames());
@@ -154,7 +154,7 @@
EXPECT_EQ(409920, stats_.GetMaxLumaPictureSize());
EXPECT_DOUBLE_EQ(447.09394572025053, stats_.GetAverageBitRate());
EXPECT_DOUBLE_EQ(118.464, stats_.GetMaxCpbSize());
- EXPECT_DOUBLE_EQ(263.10185597889068, stats_.GetCompressionRatio());
+ EXPECT_DOUBLE_EQ(241.17670131398313, stats_.GetCompressionRatio());
EXPECT_EQ(2, stats_.GetMaxColumnTiles());
EXPECT_EQ(9, stats_.GetMinimumAltrefDistance());
EXPECT_EQ(3, stats_.GetMaxReferenceFrames());
@@ -178,7 +178,7 @@
EXPECT_EQ(36864, stats_.GetMaxLumaPictureSize());
EXPECT_DOUBLE_EQ(264.9153846153846, stats_.GetAverageBitRate());
EXPECT_DOUBLE_EQ(147.136, stats_.GetMaxCpbSize());
- EXPECT_DOUBLE_EQ(20.873079938441883, stats_.GetCompressionRatio());
+ EXPECT_DOUBLE_EQ(19.267458404715583, stats_.GetCompressionRatio());
EXPECT_EQ(1, stats_.GetMaxColumnTiles());
EXPECT_EQ(11, stats_.GetMinimumAltrefDistance());
EXPECT_EQ(3, stats_.GetMaxReferenceFrames());