Move AltRefForcedKeyTestLarge to kf_test.cc
Moved AltRefForcedKeyTestLarge(Frame1IsKey, ForcedFrameIsKey) from
altref_test.cc to kf_test.cc .
Change-Id: I9ac795109e1c512eda701b53ca0b5bd8ccb36ee3
diff --git a/test/altref_test.cc b/test/altref_test.cc
index e46da52..58f4446 100644
--- a/test/altref_test.cc
+++ b/test/altref_test.cc
@@ -15,86 +15,6 @@
#include "test/i420_video_source.h"
#include "test/util.h"
namespace {
-
-class AltRefForcedKeyTestLarge
- : public ::libaom_test::CodecTestWith2Params<libaom_test::TestMode, int>,
- public ::libaom_test::EncoderTest {
- protected:
- AltRefForcedKeyTestLarge()
- : EncoderTest(GET_PARAM(0)), encoding_mode_(GET_PARAM(1)),
- cpu_used_(GET_PARAM(2)), forced_kf_frame_num_(1), frame_num_(0) {}
- virtual ~AltRefForcedKeyTestLarge() {}
-
- virtual void SetUp() {
- InitializeConfig();
- SetMode(encoding_mode_);
- cfg_.rc_end_usage = AOM_VBR;
- cfg_.g_threads = 0;
- }
-
- virtual void PreEncodeFrameHook(::libaom_test::VideoSource *video,
- ::libaom_test::Encoder *encoder) {
- if (video->frame() == 0) {
- encoder->Control(AOME_SET_CPUUSED, cpu_used_);
- encoder->Control(AOME_SET_ENABLEAUTOALTREF, 1);
-#if CONFIG_AV1_ENCODER
- // override test default for tile columns if necessary.
- if (GET_PARAM(0) == &libaom_test::kAV1) {
- encoder->Control(AV1E_SET_TILE_COLUMNS, 6);
- }
-#endif
- }
- frame_flags_ =
- (video->frame() == forced_kf_frame_num_) ? AOM_EFLAG_FORCE_KF : 0;
- }
-
- virtual void FramePktHook(const aom_codec_cx_pkt_t *pkt) {
- if (frame_num_ == forced_kf_frame_num_) {
- ASSERT_EQ(pkt->data.frame.flags & AOM_FRAME_IS_KEY,
- static_cast<aom_codec_frame_flags_t>(AOM_FRAME_IS_KEY))
- << "Frame #" << frame_num_ << " isn't a keyframe!";
- }
- ++frame_num_;
- }
-
- ::libaom_test::TestMode encoding_mode_;
- int cpu_used_;
- unsigned int forced_kf_frame_num_;
- unsigned int frame_num_;
-};
-
-TEST_P(AltRefForcedKeyTestLarge, Frame1IsKey) {
- const aom_rational timebase = { 1, 30 };
- const int lag_values[] = { 3, 15, 25, -1 };
-
- forced_kf_frame_num_ = 1;
- for (int i = 0; lag_values[i] != -1; ++i) {
- frame_num_ = 0;
- cfg_.g_lag_in_frames = lag_values[i];
- libaom_test::I420VideoSource video("hantro_collage_w352h288.yuv", 352, 288,
- timebase.den, timebase.num, 0, 30);
- ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
- }
-}
-
-TEST_P(AltRefForcedKeyTestLarge, ForcedFrameIsKey) {
- const aom_rational timebase = { 1, 30 };
- const int lag_values[] = { 3, 15, 25, -1 };
-
- for (int i = 0; lag_values[i] != -1; ++i) {
- frame_num_ = 0;
- forced_kf_frame_num_ = lag_values[i] - 1;
- cfg_.g_lag_in_frames = lag_values[i];
- libaom_test::I420VideoSource video("hantro_collage_w352h288.yuv", 352, 288,
- timebase.den, timebase.num, 0, 30);
- ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
- }
-}
-
-AV1_INSTANTIATE_TEST_SUITE(AltRefForcedKeyTestLarge,
- ::testing::Values(::libaom_test::kOnePassGood),
- ::testing::Values(2, 5));
-
typedef struct {
const unsigned int min_kf_dist;
const unsigned int max_kf_dist;
diff --git a/test/kf_test.cc b/test/kf_test.cc
index 1b4b5f3..2929a1e 100644
--- a/test/kf_test.cc
+++ b/test/kf_test.cc
@@ -109,9 +109,88 @@
ASSERT_EQ(is_kf_interval_violated_, false) << kf_dist_param_;
}
+class AltRefForcedKeyTestLarge
+ : public ::libaom_test::CodecTestWith2Params<libaom_test::TestMode, int>,
+ public ::libaom_test::EncoderTest {
+ protected:
+ AltRefForcedKeyTestLarge()
+ : EncoderTest(GET_PARAM(0)), encoding_mode_(GET_PARAM(1)),
+ cpu_used_(GET_PARAM(2)), forced_kf_frame_num_(1), frame_num_(0) {}
+ virtual ~AltRefForcedKeyTestLarge() {}
+
+ virtual void SetUp() {
+ InitializeConfig();
+ SetMode(encoding_mode_);
+ cfg_.rc_end_usage = AOM_VBR;
+ cfg_.g_threads = 0;
+ }
+
+ virtual void PreEncodeFrameHook(::libaom_test::VideoSource *video,
+ ::libaom_test::Encoder *encoder) {
+ if (video->frame() == 0) {
+ encoder->Control(AOME_SET_CPUUSED, cpu_used_);
+ encoder->Control(AOME_SET_ENABLEAUTOALTREF, 1);
+#if CONFIG_AV1_ENCODER
+ // override test default for tile columns if necessary.
+ if (GET_PARAM(0) == &libaom_test::kAV1) {
+ encoder->Control(AV1E_SET_TILE_COLUMNS, 6);
+ }
+#endif
+ }
+ frame_flags_ =
+ (video->frame() == forced_kf_frame_num_) ? AOM_EFLAG_FORCE_KF : 0;
+ }
+
+ virtual void FramePktHook(const aom_codec_cx_pkt_t *pkt) {
+ if (frame_num_ == forced_kf_frame_num_) {
+ ASSERT_EQ(pkt->data.frame.flags & AOM_FRAME_IS_KEY,
+ static_cast<aom_codec_frame_flags_t>(AOM_FRAME_IS_KEY))
+ << "Frame #" << frame_num_ << " isn't a keyframe!";
+ }
+ ++frame_num_;
+ }
+
+ ::libaom_test::TestMode encoding_mode_;
+ int cpu_used_;
+ unsigned int forced_kf_frame_num_;
+ unsigned int frame_num_;
+};
+
+TEST_P(AltRefForcedKeyTestLarge, Frame1IsKey) {
+ const aom_rational timebase = { 1, 30 };
+ const int lag_values[] = { 3, 15, 25, -1 };
+
+ forced_kf_frame_num_ = 1;
+ for (int i = 0; lag_values[i] != -1; ++i) {
+ frame_num_ = 0;
+ cfg_.g_lag_in_frames = lag_values[i];
+ libaom_test::I420VideoSource video("hantro_collage_w352h288.yuv", 352, 288,
+ timebase.den, timebase.num, 0, 30);
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+ }
+}
+
+TEST_P(AltRefForcedKeyTestLarge, ForcedFrameIsKey) {
+ const aom_rational timebase = { 1, 30 };
+ const int lag_values[] = { 3, 15, 25, -1 };
+
+ for (int i = 0; lag_values[i] != -1; ++i) {
+ frame_num_ = 0;
+ forced_kf_frame_num_ = lag_values[i] - 1;
+ cfg_.g_lag_in_frames = lag_values[i];
+ libaom_test::I420VideoSource video("hantro_collage_w352h288.yuv", 352, 288,
+ timebase.den, timebase.num, 0, 30);
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+ }
+}
+
AV1_INSTANTIATE_TEST_SUITE(KeyFrameIntervalTestLarge,
testing::Values(::libaom_test::kOnePassGood,
::libaom_test::kTwoPassGood),
::testing::ValuesIn(kfTestParams),
::testing::Values(AOM_Q, AOM_VBR, AOM_CBR, AOM_CQ));
+
+AV1_INSTANTIATE_TEST_SUITE(AltRefForcedKeyTestLarge,
+ ::testing::Values(::libaom_test::kOnePassGood),
+ ::testing::Values(2, 5));
} // namespace