diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-02-21 22:28:31 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-02-23 00:28:58 +0100 |
| commit | cb5b8b1d7585ab0134ce8a496110af473c95a25a (patch) | |
| tree | 1389d8226e521ec6bd6a0cc6fb84cec28c45e36f | |
| parent | 6e5b5f763a18f3473b1b49a755bfc5adb8777ff8 (diff) | |
Make picture details checks optional.v1.10.12
| -rw-r--r-- | src/verify.cc | 6 | ||||
| -rw-r--r-- | src/verify.h | 2 | ||||
| -rw-r--r-- | test/verify_test.cc | 4 | ||||
| -rw-r--r-- | tools/dcpverify.cc | 7 |
4 files changed, 14 insertions, 5 deletions
diff --git a/src/verify.cc b/src/verify.cc index 5ea5dfd4..458883d5 100644 --- a/src/verify.cc +++ b/src/verify.cc @@ -557,8 +557,10 @@ verify_main_picture_asset(Context& context, shared_ptr<const ReelPictureAsset> r } } - context.stage("Checking picture frame sizes", asset->file()); - verify_picture_details(context, reel_asset, file, start_frame); + if (context.options.check_picture_details) { + context.stage("Checking picture asset details", asset->file()); + verify_picture_details(context, reel_asset, file, start_frame); + } /* Only flat/scope allowed by Bv2.1 */ if ( diff --git a/src/verify.h b/src/verify.h index 10a798d4..c9df2781 100644 --- a/src/verify.h +++ b/src/verify.h @@ -702,6 +702,8 @@ struct VerificationOptions ///< true to check asset hashes (except those which match maximum_asset_size_for_hash_check) ///< false to check no asset hashes. bool check_asset_hashes = true; + ///< true to do some time-consuming detailed picture checks (e.g. J2K bitstream) + bool check_picture_details = true; }; diff --git a/test/verify_test.cc b/test/verify_test.cc index 8a3d5676..3352b472 100644 --- a/test/verify_test.cc +++ b/test/verify_test.cc @@ -416,7 +416,7 @@ BOOST_AUTO_TEST_CASE (verify_no_error) BOOST_REQUIRE (st->second); BOOST_CHECK_EQUAL (st->second.get(), canonical(dir / "video.mxf")); ++st; - BOOST_CHECK_EQUAL (st->first, "Checking picture frame sizes"); + BOOST_CHECK_EQUAL (st->first, "Checking picture asset details"); BOOST_REQUIRE (st->second); BOOST_CHECK_EQUAL (st->second.get(), canonical(dir / "video.mxf")); ++st; @@ -931,7 +931,7 @@ BOOST_AUTO_TEST_CASE (verify_invalid_standard) BOOST_REQUIRE (st->second); BOOST_CHECK_EQUAL (st->second.get(), canonical(dir / "j2c_c6035f97-b07d-4e1c-944d-603fc2ddc242.mxf")); ++st; - BOOST_CHECK_EQUAL (st->first, "Checking picture frame sizes"); + BOOST_CHECK_EQUAL (st->first, "Checking picture asset details"); BOOST_REQUIRE (st->second); BOOST_CHECK_EQUAL (st->second.get(), canonical(dir / "j2c_c6035f97-b07d-4e1c-944d-603fc2ddc242.mxf")); ++st; diff --git a/tools/dcpverify.cc b/tools/dcpverify.cc index 0dc09d50..232b8ea4 100644 --- a/tools/dcpverify.cc +++ b/tools/dcpverify.cc @@ -69,6 +69,7 @@ help (string n) << " --ignore-bv21-smpte don't give the SMPTE Bv2.1 error about a DCP not being SMPTE\n" << " --no-asset-hash-check don't check asset hashes\n" << " --asset-hash-check-maximum-size <size-in-MB> only check hashes for assets smaller than this size (in MB)\n" + << " --no-picture-details-check don't check details of picture assets (J2K bitstream etc.)\n" << " -o <filename> write HTML report to filename\n" << " -q, --quiet don't report progress\n"; } @@ -94,12 +95,13 @@ main (int argc, char* argv[]) { "ignore-missing-assets", no_argument, 0, 'A' }, { "ignore-bv21-smpte", no_argument, 0, 'B' }, { "no-asset-hash-check", no_argument, 0, 'C' }, + { "no-picture-details-check", no_argument, 0, 'E' }, { "asset-hash-check-maximum-size", required_argument, 0, 'D' }, { "quiet", no_argument, 0, 'q' }, { 0, 0, 0, 0 } }; - int c = getopt_long (argc, argv, "VhABCD:qo:", long_options, &option_index); + int c = getopt_long (argc, argv, "VhABCD:Eqo:", long_options, &option_index); if (c == -1) { break; @@ -126,6 +128,9 @@ main (int argc, char* argv[]) case 'D': verification_options.maximum_asset_size_for_hash_check = dcp::raw_convert<int>(optarg) * 1000000LL; break; + case 'E': + verification_options.check_picture_details = false; + break; case 'q': quiet = true; break; |
