]> granicus.if.org Git - libvpx/commitdiff
Make the decoder Cfg available to encoder tests..
authorJim Bankoski <jimbankoski@google.com>
Sun, 7 Dec 2014 19:28:51 +0000 (11:28 -0800)
committerJim Bankoski <jimbankoski@google.com>
Sun, 7 Dec 2014 19:28:51 +0000 (11:28 -0800)
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
test/encode_test_driver.h
test/vp9_end_to_end_test.cc

index 9702ddf3f7305e433eaaca99b2af4fefc23ec8ff..5b6757c3d9e05a5d6d40a3260babd2d2b95d6ccf 100644 (file)
@@ -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);
index a77bd647884548d98b88273bc62db273dd81fd61..3bc78478bf91e931685f761a6148a4b3d63070da 100644 (file)
@@ -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_;
index a8f679342e7eecf9b5da6ce60a9d55f9eb102bab..b98deceba676e823fa7ef1bf0a6b60716b219fcf 100644 (file)
@@ -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);