From be7a2858201ab7585d1e4f5528b98c95a147b075 Mon Sep 17 00:00:00 2001 From: Jim Bankoski Date: Sun, 7 Dec 2014 11:28:51 -0800 Subject: [PATCH] Make the decoder Cfg available to encoder tests.. Adds decoder config as a changeable parameter to unit tests, and changes end to end test to use commonly used parameters to enable base test of tiles encoding and frame parallel decoding. Change-Id: I5d23a6857303b4d68b92b15c3f2f04a1bcb4c2bb --- test/encode_test_driver.cc | 5 ++--- test/encode_test_driver.h | 1 + test/vp9_end_to_end_test.cc | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc index 9702ddf3f..5b6757c3d 100644 --- a/test/encode_test_driver.cc +++ b/test/encode_test_driver.cc @@ -77,6 +77,7 @@ void Encoder::Flush() { void EncoderTest::InitializeConfig() { const vpx_codec_err_t res = codec_->DefaultEncoderConfig(&cfg_, 0); + dec_cfg_ = vpx_codec_dec_cfg_t(); ASSERT_EQ(VPX_CODEC_OK, res); } @@ -139,8 +140,6 @@ void EncoderTest::MismatchHook(const vpx_image_t* /*img1*/, } void EncoderTest::RunLoop(VideoSource *video) { - vpx_codec_dec_cfg_t dec_cfg = vpx_codec_dec_cfg_t(); - stats_.Reset(); ASSERT_TRUE(passes_ == 1 || passes_ == 2); @@ -158,7 +157,7 @@ void EncoderTest::RunLoop(VideoSource *video) { Encoder* const encoder = codec_->CreateEncoder(cfg_, deadline_, init_flags_, &stats_); ASSERT_TRUE(encoder != NULL); - Decoder* const decoder = codec_->CreateDecoder(dec_cfg, 0); + Decoder* const decoder = codec_->CreateDecoder(dec_cfg_, 0); bool again; for (again = true, video->Begin(); again; video->Next()) { again = (video->img() != NULL); diff --git a/test/encode_test_driver.h b/test/encode_test_driver.h index a77bd6478..3bc78478b 100644 --- a/test/encode_test_driver.h +++ b/test/encode_test_driver.h @@ -238,6 +238,7 @@ class EncoderTest { bool abort_; vpx_codec_enc_cfg_t cfg_; + vpx_codec_dec_cfg_t dec_cfg_; unsigned int passes_; unsigned long deadline_; TwopassStatsStore stats_; diff --git a/test/vp9_end_to_end_test.cc b/test/vp9_end_to_end_test.cc index a8f679342..b98deceba 100644 --- a/test/vp9_end_to_end_test.cc +++ b/test/vp9_end_to_end_test.cc @@ -82,6 +82,7 @@ class EndToEndTestLarge cfg_.g_lag_in_frames = 0; cfg_.rc_end_usage = VPX_CBR; } + dec_cfg_.threads = 4; test_video_param_ = GET_PARAM(2); } @@ -98,6 +99,8 @@ class EndToEndTestLarge virtual void PreEncodeFrameHook(::libvpx_test::VideoSource *video, ::libvpx_test::Encoder *encoder) { if (video->frame() == 1) { + encoder->Control(VP9E_SET_FRAME_PARALLEL_DECODING, 1); + encoder->Control(VP9E_SET_TILE_COLUMNS, 4); encoder->Control(VP8E_SET_CPUUSED, kCpuUsed); if (encoding_mode_ != ::libvpx_test::kRealTime) { encoder->Control(VP8E_SET_ENABLEAUTOALTREF, 1);