X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Foptimise_stills_test.cc;h=f2690f61eb45808ea65106208109f649f4ee43ac;hb=6a3c03c5eed3cab8fdfdb04fcbaf6cabe8c715e9;hp=b939d29149fd95c28c20da419ce37cf49d7d514d;hpb=4f5845083e94224bcd4de2ff9ed46c68a3673ba3;p=dcpomatic.git diff --git a/test/optimise_stills_test.cc b/test/optimise_stills_test.cc index b939d2914..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" @@ -28,18 +29,21 @@ #include "lib/dcp_content_type.h" #include "lib/content.h" #include "lib/video_content.h" +#include "lib/dcpomatic_log.h" #include "test.h" #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 @@ -68,36 +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(film, "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(film, "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); }