#include "config/aom_config.h"
#include "gtest/gtest.h"
#include "test/acm_random.h"
#include "test/codec_factory.h"
#include "test/datarate_test.h"
#include "test/encode_test_driver.h"
#include "test/i420_video_source.h"
#include "test/util.h"
#include "test/y4m_video_source.h"
#include "aom/aom_codec.h"
namespace datarate_test {
namespace {
class DatarateTestLarge
: public ::libaom_test::CodecTestWith4Params<libaom_test::TestMode, int,
unsigned int, int>,
public DatarateTest { … };
class DatarateTestFrameDropLarge
: public ::libaom_test::CodecTestWith3Params<libaom_test::TestMode, int,
unsigned int>,
public DatarateTest { … };
TEST_P(DatarateTestLarge, BasicRateTargetingVBR) { … }
TEST_P(DatarateTestLarge, BasicRateTargetingCBR) { … }
TEST_P(DatarateTestLarge, BasicRateTargetingMultiThreadCBR) { … }
TEST_P(DatarateTestLarge, PeriodicKeyFrameCBR) { … }
TEST_P(DatarateTestLarge, PeriodicKeyFrameCBROnSceneCuts) { … }
TEST_P(DatarateTestLarge, ErrorResilienceOnSceneCuts) { … }
#if defined(CONFIG_MAX_DECODE_PROFILE) && CONFIG_MAX_DECODE_PROFILE < 1
TEST_P(DatarateTestLarge, DISABLED_BasicRateTargeting444CBRScreen) {
#else
TEST_P(DatarateTestLarge, BasicRateTargeting444CBRScreen) { … }
TEST_P(DatarateTestLarge, BasicRateTargetingSuperresCBR) { … }
TEST_P(DatarateTestLarge, BasicRateTargetingSuperresCBRMultiThreads) { … }
TEST_P(DatarateTestFrameDropLarge, ChangingDropFrameThresh) { … }
TEST_P(DatarateTestLarge, BasicRateTargetingAQModeOnOffCBR) { … }
class DatarateTestRealtime : public DatarateTestLarge { … };
class DatarateTestFrameDropRealtime : public DatarateTestFrameDropLarge { … };
class DatarateTestSpeedChangeRealtime
: public ::libaom_test::CodecTestWith2Params<libaom_test::TestMode,
unsigned int>,
public DatarateTest { … };
TEST_P(DatarateTestRealtime, BasicRateTargetingVBR) { … }
TEST_P(DatarateTestRealtime, BasicRateTargetingCBR) { … }
TEST_P(DatarateTestRealtime, BasicRateTargetingCBRSpike) { … }
TEST_P(DatarateTestRealtime, BasicRateTargetingCBRDynamicBitrate) { … }
TEST_P(DatarateTestRealtime, BasicRateTargetingMultiThreadCBR) { … }
TEST_P(DatarateTestRealtime, PeriodicKeyFrameCBR) { … }
TEST_P(DatarateTestRealtime, PeriodicKeyFrameCBROnSceneCuts) { … }
TEST_P(DatarateTestRealtime, ErrorResilienceOnSceneCuts) { … }
#if defined(CONFIG_MAX_DECODE_PROFILE) && CONFIG_MAX_DECODE_PROFILE < 1
TEST_P(DatarateTestRealtime, DISABLED_BasicRateTargeting444CBRScreen) {
#else
TEST_P(DatarateTestRealtime, BasicRateTargeting444CBRScreen) { … }
TEST_P(DatarateTestRealtime, BasicRateTargetingSuperresCBR) { … }
TEST_P(DatarateTestRealtime, BasicRateTargetingSuperresCBRMultiThreads) { … }
TEST_P(DatarateTestFrameDropRealtime, ChangingDropFrameThresh) { … }
TEST_P(DatarateTestSpeedChangeRealtime, ChangingSpeedTest) { … }
class DatarateTestSetFrameQpRealtime
: public DatarateTest,
public ::testing::TestWithParam<const libaom_test::AV1CodecFactory *> { … };
TEST_P(DatarateTestSetFrameQpRealtime, SetFrameQpOnePass) { … }
AV1_INSTANTIATE_TEST_SUITE(…) …;
AV1_INSTANTIATE_TEST_SUITE(…) …;
AV1_INSTANTIATE_TEST_SUITE(…) …;
AV1_INSTANTIATE_TEST_SUITE(…) …;
AV1_INSTANTIATE_TEST_SUITE(…) …;
INSTANTIATE_TEST_SUITE_P(…);
}
}