diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-04-30 10:05:13 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-04-30 10:05:13 +0100 |
| commit | 5bb7cf0132f37e2eea67c72f61d1f2b23b440596 (patch) | |
| tree | db6370fc9a72f97f199f8c82932d46a941a43040 | |
| parent | 6a92ad180163bf84aeedc5f955edc13557e6848c (diff) | |
Add --fourk to dcpomatic_create.
| -rw-r--r-- | src/lib/create_cli.cc | 5 | ||||
| -rw-r--r-- | src/lib/create_cli.h | 1 | ||||
| -rw-r--r-- | src/tools/dcpomatic_create.cc | 1 | ||||
| -rw-r--r-- | test/create_cli_test.cc | 7 |
4 files changed, 14 insertions, 0 deletions
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 <dir> directory containing config.xml and cinemas.xml\n" + " --fourk make a 4K DCP rather than a 2K one\n" " -o, --output <dir> 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<boost::filesystem::path> output_dir; boost::optional<std::string> error; std::vector<Content> 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); } |
