Limit # of frames used in TestGetGopEncodeInfo
Also increase the speed setting from 3 to 5
Change-Id: I9a990e2d2c3b3420535cec1fdaed824220b576e3
diff --git a/test/ratectrl_qmode_test.cc b/test/ratectrl_qmode_test.cc
index a4df92a..b3df70c 100644
--- a/test/ratectrl_qmode_test.cc
+++ b/test/ratectrl_qmode_test.cc
@@ -35,6 +35,7 @@
constexpr int kRefFrameTableSize = 7;
constexpr int kFrameWidth = 352;
constexpr int kFrameHeight = 288;
+constexpr int kFrameLimit = 250;
MATCHER(IsOkStatus, "") {
*result_listener << "with code " << arg.code
@@ -60,7 +61,8 @@
}
void ReadFirstpassInfo(const std::string &filename,
- aom::FirstpassInfo *firstpass_info) {
+ aom::FirstpassInfo *firstpass_info,
+ const int frame_limit) {
// These golden files are generated by the following command line:
// ./aomenc --width=352 --height=288 --fps=30/1 --limit=250 --codec=av1
// --cpu-used=3 --end-usage=q --cq-level=36 --threads=0 --profile=0
@@ -80,7 +82,9 @@
firstpass_info->num_mbs_16x16 =
(kFrameWidth / 16 + 1) * (kFrameHeight / 16 + 1);
std::string newline;
- while (std::getline(firstpass_stats_file, newline)) {
+ int frame_number = 0;
+ while (std::getline(firstpass_stats_file, newline) &&
+ frame_number < frame_limit) {
std::istringstream iss(newline);
FIRSTPASS_STATS firstpass_stats_input = {};
ASSERT_EQ(ReadDouble(iss, &firstpass_stats_input.frame), "");
@@ -115,6 +119,8 @@
<< firstpass_info->stats_list.size() + 1 << "\n"
<< newline;
firstpass_info->stats_list.push_back(firstpass_stats_input);
+
+ frame_number++;
}
}
} // namespace
@@ -837,7 +843,7 @@
FirstpassInfo firstpass_info;
const std::string kFirstpassStatsFile = "firstpass_stats";
ASSERT_NO_FATAL_FAILURE(
- ReadFirstpassInfo(kFirstpassStatsFile, &firstpass_info));
+ ReadFirstpassInfo(kFirstpassStatsFile, &firstpass_info, kFrameLimit));
EXPECT_THAT(GetKeyFrameList(firstpass_info),
ElementsAre(0, 30, 60, 90, 120, 150, 180, 210, 240));
}
@@ -1005,7 +1011,7 @@
TEST_F(RateControlQModeTest, TestGopIntervals) {
FirstpassInfo firstpass_info;
ASSERT_NO_FATAL_FAILURE(
- ReadFirstpassInfo("firstpass_stats", &firstpass_info));
+ ReadFirstpassInfo("firstpass_stats", &firstpass_info, kFrameLimit));
AV1RateControlQMode rc;
ASSERT_THAT(rc.SetRcParam(rc_param_), IsOkStatus());
@@ -1022,7 +1028,7 @@
TEST_F(RateControlQModeTest, TestGetGopEncodeInfo) {
FirstpassInfo firstpass_info;
ASSERT_NO_FATAL_FAILURE(
- ReadFirstpassInfo("firstpass_stats", &firstpass_info));
+ ReadFirstpassInfo("firstpass_stats", &firstpass_info, 50));
AV1RateControlQMode rc;
rc_param_.max_gop_show_frame_count = 16;
ASSERT_THAT(rc.SetRcParam(rc_param_), IsOkStatus());
@@ -1033,7 +1039,7 @@
const aom::VideoInfo input_video = {
kFrameWidth, kFrameHeight,
frame_rate, AOM_IMG_FMT_I420,
- 250, libaom_test::GetDataPath() + "/hantro_collage_w352h288.yuv"
+ 50, libaom_test::GetDataPath() + "/hantro_collage_w352h288.yuv"
};
DuckyEncode ducky_encode(input_video, 3, 3);
ducky_encode.StartEncode(firstpass_info.stats_list);