X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=test%2Foptimise_stills_test.cc;h=f2690f61eb45808ea65106208109f649f4ee43ac;hp=a57518b2d8aca5aa1c2f07800f960e85ba87ce8f;hb=6d686ea45f5cd01a0d11f92a903ac77779ad8562;hpb=6eec3fea764f2fe35723089d60c51005616905bf diff --git a/test/optimise_stills_test.cc b/test/optimise_stills_test.cc index a57518b2d..f2690f61e 100644 --- a/test/optimise_stills_test.cc +++ b/test/optimise_stills_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2017 Carl Hetherington + Copyright (C) 2017-2021 Carl Hetherington 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,14 +34,16 @@ #include #include + using std::getline; using std::ifstream; using std::string; using std::vector; using boost::starts_with; using boost::split; -using boost::dynamic_pointer_cast; -using boost::shared_ptr; +using std::dynamic_pointer_cast; +using std::shared_ptr; + static void @@ -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 = 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_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 = 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_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 (VIDEO_FRAME_TYPE_3D_LEFT_RIGHT); + 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); }