Carl Hetherington [Sun, 25 Dec 2022 23:29:45 +0000 (00:29 +0100)]
Add OK note when all or nothing is encrypted.
Carl Hetherington [Sun, 14 Apr 2024 14:06:10 +0000 (16:06 +0200)]
Add some helper functions.
Carl Hetherington [Tue, 27 Dec 2022 21:52:21 +0000 (22:52 +0100)]
Cleanup: use std::function instead of boost::function.
Carl Hetherington [Sun, 14 Apr 2024 16:18:33 +0000 (18:18 +0200)]
Improve error reporting for _replace tests and check everything about the notes (not just the codes).
Carl Hetherington [Sun, 14 Apr 2024 16:18:09 +0000 (18:18 +0200)]
Move some methods higher up the file.
Carl Hetherington [Sun, 14 Apr 2024 15:53:00 +0000 (17:53 +0200)]
Improve debug output when verification tests fail.
Carl Hetherington [Wed, 28 Dec 2022 00:25:57 +0000 (01:25 +0100)]
Make verified DCPs available on the return from dcp::verify().
Carl Hetherington [Sun, 7 Jan 2024 22:36:27 +0000 (23:36 +0100)]
Add operator!= for dcp::VerificationNote.
Carl Hetherington [Sun, 14 Apr 2024 20:27:31 +0000 (22:27 +0200)]
Store CPL ID in CPL-related verification notes.
Carl Hetherington [Sun, 7 Jan 2024 23:44:50 +0000 (00:44 +0100)]
Use new Context to reduce some boilerplate.
Carl Hetherington [Sun, 25 Dec 2022 23:29:30 +0000 (00:29 +0100)]
Add new OK type of verification note.
Carl Hetherington [Sun, 7 Jan 2024 23:21:48 +0000 (00:21 +0100)]
Add run/tools/dcpmap
Carl Hetherington [Sat, 23 Mar 2024 11:52:54 +0000 (12:52 +0100)]
Bump libcxml for build fix.
Carl Hetherington [Wed, 20 Mar 2024 22:21:25 +0000 (23:21 +0100)]
Bump asdcplib to dcpomatic-2.13.0 branch.
Carl Hetherington [Wed, 20 Mar 2024 22:15:11 +0000 (23:15 +0100)]
Merge tag 'v1.8.98' into v1.9.x
Carl Hetherington [Sun, 17 Mar 2024 12:17:40 +0000 (13:17 +0100)]
Use C++17 when the c++17 option is passed in.
Carl Hetherington [Sat, 24 Feb 2024 20:46:50 +0000 (21:46 +0100)]
Allow building with libxml++-4.0 and C++17.
Carl Hetherington [Thu, 8 Feb 2024 23:29:00 +0000 (00:29 +0100)]
Replace xmlpp::Node::add_child with cxml::add_child.
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).
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.
Carl Hetherington [Wed, 13 Mar 2024 21:09:55 +0000 (22:09 +0100)]
Fix missing parameters to pkg-config for libopenjp2.
Carl Hetherington [Thu, 29 Feb 2024 21:12:51 +0000 (22:12 +0100)]
Use openjpeg v2.5.2.
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).
Carl Hetherington [Sat, 24 Feb 2024 20:45:40 +0000 (21:45 +0100)]
Remove unused method.
Carl Hetherington [Sat, 24 Feb 2024 20:44:25 +0000 (21:44 +0100)]
Remove unused variable.
Carl Hetherington [Sat, 24 Feb 2024 20:36:54 +0000 (21:36 +0100)]
Reduce some general usings a bit.
Carl Hetherington [Sat, 17 Feb 2024 22:49:33 +0000 (23:49 +0100)]
Add write_string_to_file().
Carl Hetherington [Sat, 17 Feb 2024 22:49:27 +0000 (23:49 +0100)]
Cleanup: use std::vector rather than a raw array.
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.
Carl Hetherington [Thu, 8 Feb 2024 23:45:23 +0000 (00:45 +0100)]
Fix use of Z as a timezone (meaning UTC).
Carl Hetherington [Thu, 8 Feb 2024 23:45:11 +0000 (00:45 +0100)]
Cleanup: remove unnecessary clearing of 0-init-ed UTCOffset.
Carl Hetherington [Mon, 29 Jan 2024 23:31:06 +0000 (00:31 +0100)]
Fix message on config error and make it fatal.
Carl Hetherington [Sat, 13 Jan 2024 12:34:46 +0000 (13:34 +0100)]
Add cancel() to ScopeGuard.
Carl Hetherington [Fri, 12 Jan 2024 23:14:44 +0000 (00:14 +0100)]
Fix test in previous.
Carl Hetherington [Fri, 12 Jan 2024 22:43:23 +0000 (23:43 +0100)]
Note correct/incorrect hashes when the verifier raises related errors.
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).
Carl Hetherington [Mon, 8 Jan 2024 16:47:34 +0000 (17:47 +0100)]
Add Certificate::subject_dn_qualifier().
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.
Carl Hetherington [Mon, 8 Jan 2024 15:01:04 +0000 (16:01 +0100)]
Add ScopeGuard.
Carl Hetherington [Mon, 8 Jan 2024 11:54:00 +0000 (12:54 +0100)]
Make public_key_digest() testable.
Carl Hetherington [Fri, 5 Jan 2024 21:00:24 +0000 (22:00 +0100)]
Fix incorrect placeholder.
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.
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).
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).
Carl Hetherington [Mon, 25 Dec 2023 23:32:55 +0000 (00:32 +0100)]
Fix operator== to take everything in VerificationNote into account.
Carl Hetherington [Mon, 25 Dec 2023 20:43:10 +0000 (21:43 +0100)]
Only write tool name into help, not its full path.
Carl Hetherington [Mon, 25 Dec 2023 20:42:55 +0000 (21:42 +0100)]
Fix bad indentation in verify tool help.
Carl Hetherington [Fri, 22 Dec 2023 15:59:28 +0000 (16:59 +0100)]
Bump libcxml for new feature.
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.
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).
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.
Carl Hetherington [Sun, 19 Nov 2023 22:57:27 +0000 (23:57 +0100)]
Allow use of KDMs when verifying DCPs.
Carl Hetherington [Sun, 12 Nov 2023 21:24:12 +0000 (22:24 +0100)]
Report progress with done/total rather than a float.
Carl Hetherington [Wed, 15 Nov 2023 19:14:55 +0000 (20:14 +0100)]
Simple pass-through of <Ruby> tags in subtitles.
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.
Carl Hetherington [Tue, 14 Nov 2023 20:58:17 +0000 (21:58 +0100)]
Cleanup: remove unnecessary initialization.
Carl Hetherington [Wed, 8 Nov 2023 23:52:11 +0000 (00:52 +0100)]
Cleanup: remove pointless explicit.
Carl Hetherington [Tue, 7 Nov 2023 14:05:00 +0000 (15:05 +0100)]
Cleanup: using sorting.
Carl Hetherington [Tue, 7 Nov 2023 12:52:29 +0000 (13:52 +0100)]
Cleanup: header sorting.
Carl Hetherington [Tue, 7 Nov 2023 00:59:43 +0000 (01:59 +0100)]
Cleanup: remove pointless explicit.
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.
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.
Carl Hetherington [Sat, 21 Oct 2023 21:03:43 +0000 (23:03 +0200)]
Support integer LUTs.
Carl Hetherington [Sat, 21 Oct 2023 20:40:17 +0000 (22:40 +0200)]
Rename lut -> double_lut.
Carl Hetherington [Sat, 21 Oct 2023 12:02:31 +0000 (14:02 +0200)]
Cleanup: remove out-of-date comment.
Carl Hetherington [Sat, 21 Oct 2023 12:02:07 +0000 (14:02 +0200)]
Cleanup: remove stray space.
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.
Carl Hetherington [Wed, 18 Oct 2023 08:39:26 +0000 (10:39 +0200)]
Split rgb_to_xyz() into two parts.
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.
Carl Hetherington [Mon, 16 Oct 2023 21:12:52 +0000 (23:12 +0200)]
Cleanup: two lines can be one.
Carl Hetherington [Mon, 16 Oct 2023 21:12:33 +0000 (23:12 +0200)]
Cleanup: add some comments.
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.
Carl Hetherington [Wed, 11 Oct 2023 22:52:44 +0000 (00:52 +0200)]
Cleanup: id -> ID.
Carl Hetherington [Tue, 10 Oct 2023 08:41:57 +0000 (10:41 +0200)]
Fix argument parsing on Ubuntu 16.04.
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.
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.
Carl Hetherington [Mon, 9 Oct 2023 23:25:31 +0000 (01:25 +0200)]
Avoid full_name() so we can build on Ubuntu 16.04.
Carl Hetherington [Mon, 9 Oct 2023 23:25:23 +0000 (01:25 +0200)]
Avoid depends_on() so we can build on Ubuntu 16.04.
Carl Hetherington [Mon, 9 Oct 2023 22:50:57 +0000 (00:50 +0200)]
Switch to testing on Ubuntu 16.04 and 22.04.
Carl Hetherington [Mon, 9 Oct 2023 22:40:00 +0000 (00:40 +0200)]
Implement weakly_canonical for boost versions without it (e.g. the one on Ubuntu 16.04).
Carl Hetherington [Fri, 6 Oct 2023 00:31:12 +0000 (02:31 +0200)]
Add more filesystem wrappers that DoM needs.
Carl Hetherington [Fri, 6 Oct 2023 00:04:49 +0000 (02:04 +0200)]
Add wrappers around boost::filesystem methods that handle the
required mangling of long filenames on Windows.
Also wrap lots of missing places (e.g. calls to asdcplib, libxml++,
libcxml etc.) in dcp::filesystem::fix_long_path().
The idea is to keep paths un-mangled until they we call some
filesystem-related API and mangle them at that point. Otherwise
we end up serialising mangled names, which seems like it will
not end well.
Should fix DoM #2623.
Carl Hetherington [Fri, 6 Oct 2023 00:03:48 +0000 (02:03 +0200)]
Cleanup: sorting.
Carl Hetherington [Wed, 13 Sep 2023 19:37:15 +0000 (21:37 +0200)]
Remove odd assertion stopping TZ minutes being more than 30 or less than -30 (DoM/GH #20).
Carl Hetherington [Wed, 6 Sep 2023 20:46:27 +0000 (22:46 +0200)]
Report failures to read resources from MXF files.
Carl Hetherington [Wed, 6 Sep 2023 20:46:14 +0000 (22:46 +0200)]
Bump the PNG subtitle / font buffer a little.
Carl Hetherington [Thu, 31 Aug 2023 21:41:23 +0000 (23:41 +0200)]
Fix build when there is no {Image,Graphics}Magick
Carl Hetherington [Thu, 31 Aug 2023 21:40:32 +0000 (23:40 +0200)]
Don't build dcpdumpimage unless we have {Image,Graphics}Magick
Carl Hetherington [Thu, 31 Aug 2023 21:40:12 +0000 (23:40 +0200)]
Cleanup: use a loop.
Carl Hetherington [Sun, 27 Aug 2023 21:13:34 +0000 (23:13 +0200)]
Add dcpdumpimage tool.
Carl Hetherington [Thu, 24 Aug 2023 21:19:44 +0000 (23:19 +0200)]
Check for missing font files referred from Interop closed captions (as well as subs).
Carl Hetherington [Tue, 22 Aug 2023 22:05:42 +0000 (00:05 +0200)]
Fix Windows build failure.
Carl Hetherington [Tue, 22 Aug 2023 21:45:13 +0000 (23:45 +0200)]
Accept any case for subtitle alignment specifiers (#2602).
SMPTE seems pretty clear to me that these should be lower case, but
counterexamples have been seen in the wild and it seems to make
sense to allow them.
Perhaps the verifier should raise an error with non-lower-case
examples.
Carl Hetherington [Tue, 22 Aug 2023 21:35:32 +0000 (23:35 +0200)]
Add some tests.
Carl Hetherington [Tue, 22 Aug 2023 21:18:20 +0000 (23:18 +0200)]
Cleanup: extract HAlign to its own files.
Carl Hetherington [Tue, 22 Aug 2023 21:11:18 +0000 (23:11 +0200)]
Cleanup: extract VAlign to its own files.
Carl Hetherington [Tue, 22 Aug 2023 21:11:04 +0000 (23:11 +0200)]
Cleanup: header ordering.
Carl Hetherington [Tue, 15 Aug 2023 16:33:26 +0000 (18:33 +0200)]
Bump asdcplib for probably-unimportant undefined variable use fix.
Carl Hetherington [Tue, 15 Aug 2023 10:33:33 +0000 (12:33 +0200)]
Fix use-after-free in error case.
Carl Hetherington [Tue, 15 Aug 2023 10:28:21 +0000 (12:28 +0200)]
Fix dcp::LocalTime constructor to cope with longer fractional second parts (DoM #2597).