#include "./vpx_config.h"
#include "gtest/gtest.h"
#include "test/acm_random.h"
#include "test/codec_factory.h"
#include "test/encode_test_driver.h"
#include "test/i420_video_source.h"
#include "test/util.h"
#include "test/y4m_video_source.h"
#include "vpx/vpx_codec.h"
#include "vpx_ports/bitops.h"
namespace {
class DatarateTestVP9 : public ::libvpx_test::EncoderTest { … };
class DatarateTestVP9RealTimeMultiBR
: public DatarateTestVP9,
public ::libvpx_test::CodecTestWith2Params<int, int> { … };
class DatarateTestVP9LargeVBR
: public DatarateTestVP9,
public ::libvpx_test::CodecTestWith2Params<int, int> { … };
TEST_P(DatarateTestVP9LargeVBR, BasicRateTargetingVBRLagZero) { … }
TEST_P(DatarateTestVP9LargeVBR, BasicRateTargetingVBRLagNonZero) { … }
TEST_P(DatarateTestVP9LargeVBR, BasicRateTargetingVBRLagNonZeroFrameParDecOff) { … }
TEST_P(DatarateTestVP9RealTimeMultiBR, BasicRateTargeting) { … }
TEST_P(DatarateTestVP9RealTimeMultiBR, BasicRateTargetingFrameParDecOff) { … }
TEST_P(DatarateTestVP9RealTimeMultiBR, BasicRateTargeting444) { … }
TEST_P(DatarateTestVP9RealTimeMultiBR, ChangingDropFrameThresh) { … }
TEST_P(DatarateTestVP9RealTimeMultiBR, BasicRateTargeting2TemporalLayers) { … }
TEST_P(DatarateTestVP9RealTimeMultiBR, BasicRateTargeting3TemporalLayers) { … }
class DatarateTestVP9RealTime : public DatarateTestVP9,
public ::libvpx_test::CodecTestWithParam<int> { … };
TEST_P(DatarateTestVP9RealTime, BasicRateTargetingDropFramesMultiThreads) { … }
TEST_P(DatarateTestVP9RealTime,
BasicRateTargeting3TemporalLayersFrameDropping) { … }
TEST_P(DatarateTestVP9RealTime, RegionOfInterest) { … }
class DatarateTestVP9RealTimeDeltaQUV
: public DatarateTestVP9,
public ::libvpx_test::CodecTestWith2Params<int, int> { … };
TEST_P(DatarateTestVP9RealTimeDeltaQUV, DeltaQUV) { … }
class DatarateTestVP9PostEncodeDrop
: public DatarateTestVP9,
public ::libvpx_test::CodecTestWithParam<int> { … };
TEST_P(DatarateTestVP9PostEncodeDrop, PostEncodeDropScreenContent) { … }
ACMRandom;
class DatarateTestVP9FrameQp
: public DatarateTestVP9,
public ::testing::TestWithParam<const libvpx_test::CodecFactory *> { … };
TEST_P(DatarateTestVP9FrameQp, VP9SetFrameQp) { … }
TEST_P(DatarateTestVP9FrameQp, VP9SetFrameQp3TemporalLayersBypass) { … }
TEST_P(DatarateTestVP9FrameQp, VP9SetFrameQp3TemporalLayersFixedMode) { … }
#if CONFIG_VP9_TEMPORAL_DENOISING
class DatarateTestVP9RealTimeDenoiser : public DatarateTestVP9RealTime { … };
TEST_P(DatarateTestVP9RealTimeDenoiser, LowNoise) { … }
TEST_P(DatarateTestVP9RealTimeDenoiser, HighNoise) { … }
TEST_P(DatarateTestVP9RealTimeDenoiser, 4threads) { … }
TEST_P(DatarateTestVP9RealTimeDenoiser, DenoiserOffOn) { … }
#endif
VP9_INSTANTIATE_TEST_SUITE(…) …;
VP9_INSTANTIATE_TEST_SUITE(…) …;
VP9_INSTANTIATE_TEST_SUITE(…);
#if CONFIG_VP9
INSTANTIATE_TEST_SUITE_P(…);
#endif
VP9_INSTANTIATE_TEST_SUITE(…) …;
VP9_INSTANTIATE_TEST_SUITE(…);
#if CONFIG_VP9_TEMPORAL_DENOISING
VP9_INSTANTIATE_TEST_SUITE(…);
#endif
}