diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-02-26 01:24:48 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-02-26 01:24:48 +0100 |
| commit | ea63ad9560757e56505551db3bf2e1c31be5c76c (patch) | |
| tree | ec0f539b89d9c8ac627e65886241cc086246ab09 /test/optimise_stills_test.cc | |
| parent | cbb8260e395058da76b3de518ebc535a114c54b1 (diff) | |
More verification of DCPs during tests.
Diffstat (limited to 'test/optimise_stills_test.cc')
| -rw-r--r-- | test/optimise_stills_test.cc | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/test/optimise_stills_test.cc b/test/optimise_stills_test.cc index cec864e0f..f2690f61e 100644 --- a/test/optimise_stills_test.cc +++ b/test/optimise_stills_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2017 Carl Hetherington <cth@carlh.net> + Copyright (C) 2017-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ + #include "lib/dcp_encoder.h" #include "lib/writer.h" #include "lib/transcode_job.h" @@ -33,6 +34,7 @@ #include <boost/test/unit_test.hpp> #include <boost/algorithm/string.hpp> + using std::getline; using std::ifstream; using std::string; @@ -42,6 +44,7 @@ using boost::split; using std::dynamic_pointer_cast; using std::shared_ptr; + static void check (string name, int check_full, int check_repeat) @@ -69,38 +72,38 @@ check (string name, int check_full, int check_repeat) BOOST_CHECK_EQUAL (repeat, check_repeat); } + /** Make a 2D DCP out of a 2D still and check that the J2K encoding is only done once for each frame */ BOOST_AUTO_TEST_CASE (optimise_stills_test1) { - shared_ptr<Film> film = new_test_film ("optimise_stills_test1"); + auto film = new_test_film ("optimise_stills_test1"); LogSwitcher ls (film->log()); film->set_container (Ratio::from_id ("185")); film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TLR")); film->set_name ("frobozz"); - shared_ptr<Content> content = content_factory("test/data/flat_red.png").front (); + auto content = content_factory("test/data/flat_red.png").front (); film->examine_and_add_content (content); BOOST_REQUIRE (!wait_for_jobs ()); - film->make_dcp (); - BOOST_REQUIRE (!wait_for_jobs ()); + make_and_verify_dcp (film); check ("optimise_stills_test1", 1, 10 * 24 - 1); } + /** Make a 3D DCP out of a 3D L/R still and check that the J2K encoding is only done once for L and R */ BOOST_AUTO_TEST_CASE (optimise_stills_test2) { - shared_ptr<Film> film = new_test_film ("optimise_stills_test2"); + auto film = new_test_film ("optimise_stills_test2"); LogSwitcher ls (film->log()); film->set_container (Ratio::from_id ("185")); - film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TLR")); + film->set_dcp_content_type (DCPContentType::from_isdcf_name("TLR")); film->set_name ("frobozz"); - shared_ptr<Content> content = content_factory("test/data/flat_red.png").front (); + auto content = content_factory("test/data/flat_red.png").front(); film->examine_and_add_content (content); BOOST_REQUIRE (!wait_for_jobs ()); content->video->set_frame_type (VideoFrameType::THREE_D_LEFT_RIGHT); film->set_three_d (true); - film->make_dcp (); - BOOST_REQUIRE (!wait_for_jobs ()); + make_and_verify_dcp (film); check ("optimise_stills_test2", 2, 10 * 48 - 2); } |
