From: Carl Hetherington Date: Tue, 30 Apr 2019 09:05:13 +0000 (+0100) Subject: Add --fourk to dcpomatic_create. X-Git-Tag: v2.13.158~1 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=5bb7cf0132f37e2eea67c72f61d1f2b23b440596 Add --fourk to dcpomatic_create. --- diff --git a/src/lib/create_cli.cc b/src/lib/create_cli.cc index 94e984fcf..e1c5f1233 100644 --- a/src/lib/create_cli.cc +++ b/src/lib/create_cli.cc @@ -47,6 +47,7 @@ string CreateCLI::_help = " --no-use-isdcf-name do not use an ISDCF name; use the specified name unmodified\n" " --no-sign do not sign the DCP\n" " --config directory containing config.xml and cinemas.xml\n" + " --fourk make a 4K DCP rather than a 2K one\n" " -o, --output output directory\n" " --threed make a 3D DCP\n" " --left-eye next piece of content is for the left eye\n" @@ -82,6 +83,7 @@ CreateCLI::CreateCLI (int argc, char* argv[]) , standard (dcp::SMPTE) , no_use_isdcf_name (false) , no_sign (false) + , fourk (false) { string dcp_content_type_string = "TST"; string content_ratio_string; @@ -122,6 +124,9 @@ CreateCLI::CreateCLI (int argc, char* argv[]) } else if (a == "--right-eye") { next_frame_type = VIDEO_FRAME_TYPE_3D_RIGHT; claimed = true; + } else if (a == "--fourk") { + fourk = true; + claimed = true; } argument_option(i, argc, argv, "-n", "--name", &claimed, &error, &name); diff --git a/src/lib/create_cli.h b/src/lib/create_cli.h index 1f1cb3cc4..d0c81590c 100644 --- a/src/lib/create_cli.h +++ b/src/lib/create_cli.h @@ -54,6 +54,7 @@ public: boost::optional output_dir; boost::optional error; std::vector content; + bool fourk; private: static std::string _help; diff --git a/src/tools/dcpomatic_create.cc b/src/tools/dcpomatic_create.cc index 1dfabd296..6d36735e1 100644 --- a/src/tools/dcpomatic_create.cc +++ b/src/tools/dcpomatic_create.cc @@ -100,6 +100,7 @@ main (int argc, char* argv[]) film->set_signed (!cc.no_sign); film->set_encrypted (cc.encrypt); film->set_three_d (cc.threed); + film->set_resolution (cc.fourk ? RESOLUTION_4K : RESOLUTION_2K); BOOST_FOREACH (CreateCLI::Content i, cc.content) { boost::filesystem::path const can = boost::filesystem::canonical (i.path); diff --git a/test/create_cli_test.cc b/test/create_cli_test.cc index 15fe62523..7bb21546e 100644 --- a/test/create_cli_test.cc +++ b/test/create_cli_test.cc @@ -144,4 +144,11 @@ BOOST_AUTO_TEST_CASE (create_cli_test) BOOST_CHECK_EQUAL (cc.content[0].frame_type, VIDEO_FRAME_TYPE_3D_LEFT); BOOST_CHECK_EQUAL (cc.content[1].path, "right.mp4"); BOOST_CHECK_EQUAL (cc.content[1].frame_type, VIDEO_FRAME_TYPE_3D_RIGHT); + BOOST_CHECK_EQUAL (cc.fourk, false); + + cc = run ("dcpomatic2_create --fourk --content-ratio 185 foo.mp4"); + BOOST_REQUIRE_EQUAL (cc.content.size(), 1); + BOOST_CHECK_EQUAL (cc.content[0].path, "foo.mp4"); + BOOST_CHECK_EQUAL (cc.fourk, true); + BOOST_CHECK (!cc.error); }