diff options
Diffstat (limited to 'third_party/aom/test/tile_independence_test.cc')
-rw-r--r-- | third_party/aom/test/tile_independence_test.cc | 52 |
1 files changed, 37 insertions, 15 deletions
diff --git a/third_party/aom/test/tile_independence_test.cc b/third_party/aom/test/tile_independence_test.cc index a29051f2f..832227fb8 100644 --- a/third_party/aom/test/tile_independence_test.cc +++ b/third_party/aom/test/tile_independence_test.cc @@ -22,8 +22,8 @@ namespace { class TileIndependenceTest - : public ::libaom_test::EncoderTest, - public ::libaom_test::CodecTestWith2Params<int, int> { + : public ::libaom_test::CodecTestWith2Params<int, int>, + public ::libaom_test::EncoderTest { protected: TileIndependenceTest() : EncoderTest(GET_PARAM(0)), md5_fw_order_(), md5_inv_order_(), @@ -33,11 +33,12 @@ class TileIndependenceTest cfg.w = 704; cfg.h = 144; cfg.threads = 1; + cfg.allow_lowbitdepth = 1; fw_dec_ = codec_->CreateDecoder(cfg, 0); inv_dec_ = codec_->CreateDecoder(cfg, 0); inv_dec_->Control(AV1_INVERT_TILE_DECODE_ORDER, 1); -#if CONFIG_AV1 && CONFIG_EXT_TILE +#if CONFIG_AV1 if (fw_dec_->IsAV1() && inv_dec_->IsAV1()) { fw_dec_->Control(AV1_SET_DECODE_TILE_ROW, -1); fw_dec_->Control(AV1_SET_DECODE_TILE_COL, -1); @@ -62,9 +63,6 @@ class TileIndependenceTest if (video->frame() == 1) { encoder->Control(AV1E_SET_TILE_COLUMNS, n_tile_cols_); encoder->Control(AV1E_SET_TILE_ROWS, n_tile_rows_); -#if CONFIG_EXT_TILE - encoder->Control(AV1E_SET_TILE_ENCODING_MODE, 0); // TILE_NORMAL -#endif // CONFIG_EXT_TILE #if CONFIG_LOOPFILTERING_ACROSS_TILES encoder->Control(AV1E_SET_TILE_LOOPFILTER, 0); #endif // CONFIG_LOOPFILTERING_ACROSS_TILES @@ -121,7 +119,12 @@ class TileIndependenceTest // run an encode with 2 or 4 tiles, and do the decode both in normal and // inverted tile ordering. Ensure that the MD5 of the output in both cases // is identical. If so, tiles are considered independent and the test passes. -TEST_P(TileIndependenceTest, MD5Match) { DoTest(); } +TEST_P(TileIndependenceTest, MD5Match) { +#if CONFIG_EXT_TILE + cfg_.large_scale_tile = 0; +#endif // CONFIG_EXT_TILE + DoTest(); +} class TileIndependenceTestLarge : public TileIndependenceTest { virtual void SetCpuUsed(libaom_test::Encoder *encoder) { @@ -130,18 +133,37 @@ class TileIndependenceTestLarge : public TileIndependenceTest { } }; -TEST_P(TileIndependenceTestLarge, MD5Match) { DoTest(); } - +TEST_P(TileIndependenceTestLarge, MD5Match) { #if CONFIG_EXT_TILE -AV1_INSTANTIATE_TEST_CASE(TileIndependenceTest, ::testing::Values(1, 2, 32), - ::testing::Values(1, 2, 32)); -AV1_INSTANTIATE_TEST_CASE(TileIndependenceTestLarge, - ::testing::Values(1, 2, 32), - ::testing::Values(1, 2, 32)); -#else + cfg_.large_scale_tile = 0; +#endif // CONFIG_EXT_TILE + DoTest(); +} + AV1_INSTANTIATE_TEST_CASE(TileIndependenceTest, ::testing::Values(0, 1), ::testing::Values(0, 1)); AV1_INSTANTIATE_TEST_CASE(TileIndependenceTestLarge, ::testing::Values(0, 1), ::testing::Values(0, 1)); + +#if CONFIG_EXT_TILE +class TileIndependenceLSTest : public TileIndependenceTest {}; + +TEST_P(TileIndependenceLSTest, MD5Match) { + cfg_.large_scale_tile = 1; + DoTest(); +} + +class TileIndependenceLSTestLarge : public TileIndependenceTestLarge {}; + +TEST_P(TileIndependenceLSTestLarge, MD5Match) { + cfg_.large_scale_tile = 1; + DoTest(); +} + +AV1_INSTANTIATE_TEST_CASE(TileIndependenceLSTest, ::testing::Values(1, 2, 32), + ::testing::Values(1, 2, 32)); +AV1_INSTANTIATE_TEST_CASE(TileIndependenceLSTestLarge, + ::testing::Values(1, 2, 32), + ::testing::Values(1, 2, 32)); #endif // CONFIG_EXT_TILE } // namespace |