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