libdcp.git
13 days agofixup: valid content version label text 1823-validation-report
Carl Hetherington [Sun, 14 Apr 2024 15:08:29 +0000 (17:08 +0200)]
fixup: valid content version label text

13 days agofixup: valid content kind.
Carl Hetherington [Sun, 14 Apr 2024 15:06:33 +0000 (17:06 +0200)]
fixup: valid content kind.

13 days agofixup: matching CPL annotation text with PKL
Carl Hetherington [Sun, 14 Apr 2024 15:05:18 +0000 (17:05 +0200)]
fixup: matching CPL annotation text with PKL

13 days agofixup: valid CPL annotation text.
Carl Hetherington [Sun, 14 Apr 2024 15:04:12 +0000 (17:04 +0200)]
fixup: valid CPL annotation text.

13 days agofixup: main picture active area
Carl Hetherington [Sun, 14 Apr 2024 15:01:13 +0000 (17:01 +0200)]
fixup: main picture active area

13 days agofixup: correct picture hash
Carl Hetherington [Sun, 14 Apr 2024 14:57:56 +0000 (16:57 +0200)]
fixup: correct picture hash

13 days agofixup: valid picture frame sizes in bytes
Carl Hetherington [Sun, 14 Apr 2024 14:56:36 +0000 (16:56 +0200)]
fixup: valid picture frame sizes in bytes

13 days agofixup: matching CPL hashes (right CPL hash in PKL)
Carl Hetherington [Sun, 14 Apr 2024 14:54:27 +0000 (16:54 +0200)]
fixup: matching CPL hashes (right CPL hash in PKL)

13 days agofixup: all/none encrypted.
Carl Hetherington [Sun, 14 Apr 2024 14:41:53 +0000 (16:41 +0200)]
fixup: all/none encrypted.

13 days agoCheck full details during after_replace tests, and give better errors when they fail.
Carl Hetherington [Sun, 14 Apr 2024 14:15:02 +0000 (16:15 +0200)]
Check full details during after_replace tests, and give better errors when they fail.

13 days agoMove some methods higher up the file.
Carl Hetherington [Sun, 14 Apr 2024 14:08:45 +0000 (16:08 +0200)]
Move some methods higher up the file.

13 days agoAdd some helper functions.
Carl Hetherington [Sun, 14 Apr 2024 14:06:10 +0000 (16:06 +0200)]
Add some helper functions.

13 days agoRename VerifyResult -> VerificationResult.
Carl Hetherington [Wed, 10 Apr 2024 18:21:31 +0000 (20:21 +0200)]
Rename VerifyResult -> VerificationResult.

13 days agoAdd basic verification report.
Carl Hetherington [Thu, 11 Apr 2024 08:50:51 +0000 (10:50 +0200)]
Add basic verification report.

13 days agoAdd OK note when content version label text is valid.
Carl Hetherington [Sun, 7 Jan 2024 23:45:04 +0000 (00:45 +0100)]
Add OK note when content version label text is valid.

13 days agoAdd OK note when <ContentKind> is valid.
Carl Hetherington [Sun, 7 Jan 2024 23:43:10 +0000 (00:43 +0100)]
Add OK note when <ContentKind> is valid.

13 days agoAdd OK note when PKL and CPL annotation texts match.
Carl Hetherington [Sun, 7 Jan 2024 23:40:25 +0000 (00:40 +0100)]
Add OK note when PKL and CPL annotation texts match.

13 days agoAdd OK note when CPL has valid annotation text.
Carl Hetherington [Sun, 7 Jan 2024 23:35:29 +0000 (00:35 +0100)]
Add OK note when CPL has valid annotation text.

13 days agoImprove reporting of verification test errors.
Carl Hetherington [Sun, 14 Apr 2024 14:05:41 +0000 (16:05 +0200)]
Improve reporting of verification test errors.

13 days agoStore CPL ID in CPL-related verification notes.
Carl Hetherington [Sat, 6 Jan 2024 22:37:13 +0000 (23:37 +0100)]
Store CPL ID in CPL-related verification notes.

13 days agoAdd some missing fields to the test debug output.
Carl Hetherington [Thu, 11 Apr 2024 08:57:10 +0000 (10:57 +0200)]
Add some missing fields to the test debug output.

13 days agoAdd OK note when main picture active area is valid.
Carl Hetherington [Sun, 7 Jan 2024 23:29:04 +0000 (00:29 +0100)]
Add OK note when main picture active area is valid.

13 days agoUse new Context to reduce some boilerplate.
Carl Hetherington [Sun, 7 Jan 2024 23:44:50 +0000 (00:44 +0100)]
Use new Context to reduce some boilerplate.

13 days agoAdd OK note when release territory is valid.
Carl Hetherington [Sun, 7 Jan 2024 23:20:27 +0000 (00:20 +0100)]
Add OK note when release territory is valid.

13 days agoAdd operator!= for dcp::VerificationNote.
Carl Hetherington [Sun, 7 Jan 2024 22:36:27 +0000 (23:36 +0100)]
Add operator!= for dcp::VerificationNote.

13 days agoMake verified DCPs available on the return from dcp::verify().
Carl Hetherington [Wed, 28 Dec 2022 00:25:57 +0000 (01:25 +0100)]
Make verified DCPs available on the return from dcp::verify().

13 days agoAdd process_string parameter to dcp::note_to_string().
Carl Hetherington [Sat, 6 Jan 2024 16:52:46 +0000 (17:52 +0100)]
Add process_string parameter to dcp::note_to_string().

13 days agoAdd process_filename parameter to note_to_string().
Carl Hetherington [Tue, 27 Dec 2022 21:52:35 +0000 (22:52 +0100)]
Add process_filename parameter to note_to_string().

13 days agoCleanup: use std::function instead of boost::function.
Carl Hetherington [Tue, 27 Dec 2022 21:52:21 +0000 (22:52 +0100)]
Cleanup: use std::function instead of boost::function.

13 days agoAdd OK note when picture asset hashes are correct.
Carl Hetherington [Tue, 27 Dec 2022 21:45:33 +0000 (22:45 +0100)]
Add OK note when picture asset hashes are correct.

13 days agoAdd OK note when picture frame sizes are all OK.
Carl Hetherington [Tue, 27 Dec 2022 21:38:35 +0000 (22:38 +0100)]
Add OK note when picture frame sizes are all OK.

13 days agoAdd OK note when the CPL hash in the PKL is right.
Carl Hetherington [Mon, 26 Dec 2022 23:19:57 +0000 (00:19 +0100)]
Add OK note when the CPL hash in the PKL is right.

13 days agoAdd OK note when all or nothing is encrypted.
Carl Hetherington [Sun, 25 Dec 2022 23:29:45 +0000 (00:29 +0100)]
Add OK note when all or nothing is encrypted.

13 days agoImprove debug output when verification tests fail.
Carl Hetherington [Thu, 11 Apr 2024 08:57:50 +0000 (10:57 +0200)]
Improve debug output when verification tests fail.

13 days agoAdd new OK type of verification note.
Carl Hetherington [Sun, 25 Dec 2022 23:29:30 +0000 (00:29 +0100)]
Add new OK type of verification note.

2 weeks agoAdd run/tools/dcpmap
Carl Hetherington [Sun, 7 Jan 2024 23:21:48 +0000 (00:21 +0100)]
Add run/tools/dcpmap

4 weeks agoBump libcxml for build fix.
Carl Hetherington [Sat, 23 Mar 2024 11:52:54 +0000 (12:52 +0100)]
Bump libcxml for build fix.

5 weeks agoBump asdcplib to dcpomatic-2.13.0 branch. v1.9.4
Carl Hetherington [Wed, 20 Mar 2024 22:21:25 +0000 (23:21 +0100)]
Bump asdcplib to dcpomatic-2.13.0 branch.

5 weeks agoMerge tag 'v1.8.98' into v1.9.x v1.9.3
Carl Hetherington [Wed, 20 Mar 2024 22:15:11 +0000 (23:15 +0100)]
Merge tag 'v1.8.98' into v1.9.x

5 weeks agoUse C++17 when the c++17 option is passed in. v1.9.2
Carl Hetherington [Sun, 17 Mar 2024 12:17:40 +0000 (13:17 +0100)]
Use C++17 when the c++17 option is passed in.

5 weeks agoAllow building with libxml++-4.0 and C++17.
Carl Hetherington [Sat, 24 Feb 2024 20:46:50 +0000 (21:46 +0100)]
Allow building with libxml++-4.0 and C++17.

5 weeks agoReplace xmlpp::Node::add_child with cxml::add_child.
Carl Hetherington [Thu, 8 Feb 2024 23:29:00 +0000 (00:29 +0100)]
Replace xmlpp::Node::add_child with cxml::add_child.

5 weeks agoCatch read errors from verify_cpl (e.g. basic failures to read a video frame). v1.8.98
Carl Hetherington [Mon, 18 Mar 2024 17:08:53 +0000 (18:08 +0100)]
Catch read errors from verify_cpl (e.g. basic failures to read a video frame).

5 weeks agoAllow SMPTE timecodes with 3 digits in the editable units field.
Carl Hetherington [Sat, 16 Mar 2024 17:02:35 +0000 (18:02 +0100)]
Allow SMPTE timecodes with 3 digits in the editable units field.

It seems that these should only be present if the timecode rate is 101
or above, and in that case all timecodes should have 3 editable rate digits,
but someone sent a DCP from what seems to be EasyDCP Creator and it has
one timecode of 00:05:01:000.

6 weeks agoFix missing parameters to pkg-config for libopenjp2. v1.9.1
Carl Hetherington [Wed, 13 Mar 2024 21:09:55 +0000 (22:09 +0100)]
Fix missing parameters to pkg-config for libopenjp2.

6 weeks agoUse openjpeg v2.5.2. v1.9.0
Carl Hetherington [Thu, 29 Feb 2024 21:12:51 +0000 (22:12 +0100)]
Use openjpeg v2.5.2.

2 months agoRemove explicit mention of sigc++ as a dependency (it's an implicit one).
Carl Hetherington [Sun, 25 Feb 2024 18:53:07 +0000 (19:53 +0100)]
Remove explicit mention of sigc++ as a dependency (it's an implicit one).

2 months agoRemove unused method.
Carl Hetherington [Sat, 24 Feb 2024 20:45:40 +0000 (21:45 +0100)]
Remove unused method.

2 months agoRemove unused variable.
Carl Hetherington [Sat, 24 Feb 2024 20:44:25 +0000 (21:44 +0100)]
Remove unused variable.

2 months agoReduce some general usings a bit.
Carl Hetherington [Sat, 24 Feb 2024 20:36:54 +0000 (21:36 +0100)]
Reduce some general usings a bit.

2 months agoAdd write_string_to_file(). v1.8.97
Carl Hetherington [Sat, 17 Feb 2024 22:49:33 +0000 (23:49 +0100)]
Add write_string_to_file().

2 months agoCleanup: use std::vector rather than a raw array.
Carl Hetherington [Sat, 17 Feb 2024 22:49:27 +0000 (23:49 +0100)]
Cleanup: use std::vector rather than a raw array.

2 months agoFix check for return value of EssenceType. v1.8.96
Carl Hetherington [Wed, 14 Feb 2024 19:16:58 +0000 (20:16 +0100)]
Fix check for return value of EssenceType.

A reporter on the forum is making their own DCPs that don't include
an essence type at some point which trips this check as it was before.

2 months agoFix use of Z as a timezone (meaning UTC). v1.8.95
Carl Hetherington [Thu, 8 Feb 2024 23:45:23 +0000 (00:45 +0100)]
Fix use of Z as a timezone (meaning UTC).

2 months agoCleanup: remove unnecessary clearing of 0-init-ed UTCOffset.
Carl Hetherington [Thu, 8 Feb 2024 23:45:11 +0000 (00:45 +0100)]
Cleanup: remove unnecessary clearing of 0-init-ed UTCOffset.

2 months agoFix message on config error and make it fatal.
Carl Hetherington [Mon, 29 Jan 2024 23:31:06 +0000 (00:31 +0100)]
Fix message on config error and make it fatal.

3 months agoAdd cancel() to ScopeGuard. v1.8.94
Carl Hetherington [Sat, 13 Jan 2024 12:34:46 +0000 (13:34 +0100)]
Add cancel() to ScopeGuard.

3 months agoFix test in previous.
Carl Hetherington [Fri, 12 Jan 2024 23:14:44 +0000 (00:14 +0100)]
Fix test in previous.

3 months agoNote correct/incorrect hashes when the verifier raises related errors.
Carl Hetherington [Fri, 12 Jan 2024 22:43:23 +0000 (23:43 +0100)]
Note correct/incorrect hashes when the verifier raises related errors.

3 months agoFix escaping of certificate dnQualifier (public key digests) on creation (DoM #2716). v1.8.93
Carl Hetherington [Mon, 8 Jan 2024 16:53:04 +0000 (17:53 +0100)]
Fix escaping of certificate dnQualifier (public key digests) on creation (DoM #2716).

3 months agoAdd Certificate::subject_dn_qualifier().
Carl Hetherington [Mon, 8 Jan 2024 16:47:34 +0000 (17:47 +0100)]
Add Certificate::subject_dn_qualifier().

3 months agoUse OpenSSL C API for public_key_digest instead of calling the openssl binary.
Carl Hetherington [Mon, 8 Jan 2024 15:02:10 +0000 (16:02 +0100)]
Use OpenSSL C API for public_key_digest instead of calling the openssl binary.

3 months agoAdd ScopeGuard.
Carl Hetherington [Mon, 8 Jan 2024 15:01:04 +0000 (16:01 +0100)]
Add ScopeGuard.

3 months agoMake public_key_digest() testable.
Carl Hetherington [Mon, 8 Jan 2024 11:54:00 +0000 (12:54 +0100)]
Make public_key_digest() testable.

3 months agoFix incorrect placeholder.
Carl Hetherington [Fri, 5 Jan 2024 21:00:24 +0000 (22:00 +0100)]
Fix incorrect placeholder.

3 months agoFix a couple of places where we could segfault while looking at a VF. v1.8.92
Carl Hetherington [Fri, 29 Dec 2023 00:31:20 +0000 (01:31 +0100)]
Fix a couple of places where we could segfault while looking at a VF.

3 months agoReport every frame (with index) that is over (or nearly over) the size limit (DoM... v1.8.91
Carl Hetherington [Wed, 3 Jan 2024 20:28:56 +0000 (21:28 +0100)]
Report every frame (with index) that is over (or nearly over) the size limit (DoM #2698).

3 months agoReport every frame (with index) that has a JPEG2000 codestream error (DoM #2698).
Carl Hetherington [Mon, 25 Dec 2023 23:42:28 +0000 (00:42 +0100)]
Report every frame (with index) that has a JPEG2000 codestream error (DoM #2698).

4 months agoFix operator== to take everything in VerificationNote into account.
Carl Hetherington [Mon, 25 Dec 2023 23:32:55 +0000 (00:32 +0100)]
Fix operator== to take everything in VerificationNote into account.

4 months agoOnly write tool name into help, not its full path.
Carl Hetherington [Mon, 25 Dec 2023 20:43:10 +0000 (21:43 +0100)]
Only write tool name into help, not its full path.

4 months agoFix bad indentation in verify tool help.
Carl Hetherington [Mon, 25 Dec 2023 20:42:55 +0000 (21:42 +0100)]
Fix bad indentation in verify tool help.

4 months agoBump libcxml for new feature. v1.8.90
Carl Hetherington [Fri, 22 Dec 2023 15:59:28 +0000 (16:59 +0100)]
Bump libcxml for new feature.

4 months agoAdd some MCA IDs that claim to be from ClipsterDCI 5.9.3.5. v1.8.89
Carl Hetherington [Fri, 1 Dec 2023 23:03:52 +0000 (00:03 +0100)]
Add some MCA IDs that claim to be from ClipsterDCI 5.9.3.5.

5 months agoRe-read MXF descriptor after adding a key to a SMPTE subtitle asset (DoM #2660). v1.8.88
Carl Hetherington [Mon, 20 Nov 2023 20:05:41 +0000 (21:05 +0100)]
Re-read MXF descriptor after adding a key to a SMPTE subtitle asset (DoM #2660).

5 months agoFix checking for existing key_id; _key_id would always be set because MXF::set_key...
Carl Hetherington [Mon, 20 Nov 2023 20:05:11 +0000 (21:05 +0100)]
Fix checking for existing key_id; _key_id would always be set because MXF::set_key() sets it.

5 months agoAllow use of KDMs when verifying DCPs.
Carl Hetherington [Sun, 19 Nov 2023 22:57:27 +0000 (23:57 +0100)]
Allow use of KDMs when verifying DCPs.

5 months agoReport progress with done/total rather than a float.
Carl Hetherington [Sun, 12 Nov 2023 21:24:12 +0000 (22:24 +0100)]
Report progress with done/total rather than a float.

5 months agoSimple pass-through of <Ruby> tags in subtitles.
Carl Hetherington [Wed, 15 Nov 2023 19:14:55 +0000 (20:14 +0100)]
Simple pass-through of <Ruby> tags in subtitles.

5 months agoTolerate VI-N as a MCA channel ID - apparently written by CineAsset.
Carl Hetherington [Wed, 15 Nov 2023 12:37:50 +0000 (13:37 +0100)]
Tolerate VI-N as a MCA channel ID - apparently written by CineAsset.

5 months agoCleanup: remove unnecessary initialization.
Carl Hetherington [Tue, 14 Nov 2023 20:58:17 +0000 (21:58 +0100)]
Cleanup: remove unnecessary initialization.

5 months agoCleanup: remove pointless explicit.
Carl Hetherington [Wed, 8 Nov 2023 23:52:11 +0000 (00:52 +0100)]
Cleanup: remove pointless explicit.

5 months agoCleanup: using sorting.
Carl Hetherington [Tue, 7 Nov 2023 14:05:00 +0000 (15:05 +0100)]
Cleanup: using sorting.

5 months agoCleanup: header sorting.
Carl Hetherington [Tue, 7 Nov 2023 12:52:29 +0000 (13:52 +0100)]
Cleanup: header sorting.

5 months agoCleanup: remove pointless explicit.
Carl Hetherington [Tue, 7 Nov 2023 00:59:43 +0000 (01:59 +0100)]
Cleanup: remove pointless explicit.

6 months agoRemove logging of clamped values.
Carl Hetherington [Sat, 21 Oct 2023 22:20:53 +0000 (00:20 +0200)]
Remove logging of clamped values.

I can't remember seeing this logged for ages and it appears to cost
nearly a second on the rgb_xyz benchmark on AMD Ryzen 7 5700U.

6 months agoUse an integer LUT for PiecewiseLUT2, hence removing a lrint and a multiply from...
Carl Hetherington [Sat, 21 Oct 2023 21:05:56 +0000 (23:05 +0200)]
Use an integer LUT for PiecewiseLUT2, hence removing a lrint and a multiply from the rgb -> xyz loop.

6 months agoSupport integer LUTs.
Carl Hetherington [Sat, 21 Oct 2023 21:03:43 +0000 (23:03 +0200)]
Support integer LUTs.

6 months agoRename lut -> double_lut.
Carl Hetherington [Sat, 21 Oct 2023 20:40:17 +0000 (22:40 +0200)]
Rename lut -> double_lut.

6 months agoCleanup: remove out-of-date comment.
Carl Hetherington [Sat, 21 Oct 2023 12:02:31 +0000 (14:02 +0200)]
Cleanup: remove out-of-date comment.

6 months agoCleanup: remove stray space.
Carl Hetherington [Sat, 21 Oct 2023 12:02:07 +0000 (14:02 +0200)]
Cleanup: remove stray space.

6 months agoAdd rgb_to_xyz for packed int16_t. v1.8.87
Carl Hetherington [Sun, 3 Sep 2023 22:48:10 +0000 (00:48 +0200)]
Add rgb_to_xyz for packed int16_t.

Adapted from a patch from Aaron Boxer for grok support.

6 months agoSplit rgb_to_xyz() into two parts.
Carl Hetherington [Wed, 18 Oct 2023 08:39:26 +0000 (10:39 +0200)]
Split rgb_to_xyz() into two parts.

6 months agoDon't write MCA subdescriptors for channels that don't exist in the MXF (#2631). v1.8.86
Carl Hetherington [Mon, 16 Oct 2023 21:13:10 +0000 (23:13 +0200)]
Don't write MCA subdescriptors for channels that don't exist in the MXF (#2631).

This causes some test ID churn.

6 months agoCleanup: two lines can be one.
Carl Hetherington [Mon, 16 Oct 2023 21:12:52 +0000 (23:12 +0200)]
Cleanup: two lines can be one.

6 months agoCleanup: add some comments.
Carl Hetherington [Mon, 16 Oct 2023 21:12:33 +0000 (23:12 +0200)]
Cleanup: add some comments.

6 months agoTolerate LsLss / RsRss as channel IDs (#2629). v1.8.85
Carl Hetherington [Wed, 11 Oct 2023 22:52:57 +0000 (00:52 +0200)]
Tolerate LsLss / RsRss as channel IDs (#2629).

I didn't yet find a reference which tells me what they are, but there
have been multiple reports of DCPs that have this channel ID and so
(before) could not be added to a DoM project.

6 months agoCleanup: id -> ID.
Carl Hetherington [Wed, 11 Oct 2023 22:52:44 +0000 (00:52 +0200)]
Cleanup: id -> ID.

6 months agoFix argument parsing on Ubuntu 16.04. v1.8.84
Carl Hetherington [Tue, 10 Oct 2023 08:41:57 +0000 (10:41 +0200)]
Fix argument parsing on Ubuntu 16.04.

6 months agoDon't call BOOST_CHECK during static initialization.
Carl Hetherington [Tue, 10 Oct 2023 08:32:01 +0000 (10:32 +0200)]
Don't call BOOST_CHECK during static initialization.

The boost test library shipped with Ubuntu 16.04 throws an exception
if you do that.

6 months agoReplace BOOST_TEST with an older BOOST_CHECK for Ubuntu 16.04.
Carl Hetherington [Mon, 9 Oct 2023 23:38:14 +0000 (01:38 +0200)]
Replace BOOST_TEST with an older BOOST_CHECK for Ubuntu 16.04.