libdcp.git
13 months agodebug utf8
Carl Hetherington [Thu, 2 Mar 2023 11:42:28 +0000 (12:42 +0100)]
debug

13 months agodebug
Carl Hetherington [Thu, 2 Mar 2023 11:31:55 +0000 (12:31 +0100)]
debug

13 months agodebug
Carl Hetherington [Thu, 2 Mar 2023 11:24:18 +0000 (12:24 +0100)]
debug

13 months agodebug
Carl Hetherington [Thu, 2 Mar 2023 11:13:07 +0000 (12:13 +0100)]
debug

13 months agoDebug.
Carl Hetherington [Thu, 2 Mar 2023 11:05:52 +0000 (12:05 +0100)]
Debug.

13 months agoasdcplib debug
Carl Hetherington [Thu, 2 Mar 2023 10:42:21 +0000 (11:42 +0100)]
asdcplib debug

13 months agoasdcplib debug
Carl Hetherington [Thu, 2 Mar 2023 10:40:50 +0000 (11:40 +0100)]
asdcplib debug

13 months agofix it?
Carl Hetherington [Thu, 2 Mar 2023 10:12:43 +0000 (11:12 +0100)]
fix it?

13 months agofixup! Add a test with a non-ASCII asset path.
Carl Hetherington [Thu, 2 Mar 2023 10:05:58 +0000 (11:05 +0100)]
fixup! Add a test with a non-ASCII asset path.

13 months agoAdd a test with a non-ASCII asset path.
Carl Hetherington [Thu, 2 Mar 2023 09:39:50 +0000 (10:39 +0100)]
Add a test with a non-ASCII asset path.

13 months agoFix tests again on Windows. v1.8.63
Carl Hetherington [Mon, 27 Feb 2023 09:46:36 +0000 (10:46 +0100)]
Fix tests again on Windows.

13 months agoFix signed-ness warning on macOS.
Carl Hetherington [Mon, 27 Feb 2023 09:08:42 +0000 (10:08 +0100)]
Fix signed-ness warning on macOS.

14 months agoRemove LIBDCP_VERSION in favour of dcp::version. v1.8.62
Carl Hetherington [Sun, 26 Feb 2023 20:07:11 +0000 (21:07 +0100)]
Remove LIBDCP_VERSION in favour of dcp::version.

The former is only set at configure which is a bit confusing,
and I can't think of a reason to have both.

14 months agoFix warning.
Carl Hetherington [Sun, 26 Feb 2023 20:06:58 +0000 (21:06 +0100)]
Fix warning.

14 months agoFix tests with different library versions.
Carl Hetherington [Sun, 26 Feb 2023 19:56:34 +0000 (20:56 +0100)]
Fix tests with different library versions.

14 months agoFix test references after IssueDate change. v1.8.61
Carl Hetherington [Sun, 26 Feb 2023 10:20:02 +0000 (11:20 +0100)]
Fix test references after IssueDate change.

14 months agoBe explicit about the version of SMPTE 428-7 that is used for subtitles, 2389-vpos v1.8.60
Carl Hetherington [Sun, 11 Dec 2022 21:27:34 +0000 (22:27 +0100)]
Be explicit about the version of SMPTE 428-7 that is used for subtitles,
and default to writing the 2014 namespace.

14 months agoAllow verification of 428-7-2014 subtitles.
Carl Hetherington [Sun, 11 Dec 2022 21:26:46 +0000 (22:26 +0100)]
Allow verification of 428-7-2014 subtitles.

14 months agoUpdate comment with details about SMPTE 2010/2014 subtitle standards.
Carl Hetherington [Sun, 11 Dec 2022 19:21:37 +0000 (20:21 +0100)]
Update comment with details about SMPTE 2010/2014 subtitle standards.

14 months agoDon't crash if the descriptor's sampling rate denominator is 0.
Carl Hetherington [Fri, 17 Feb 2023 20:27:28 +0000 (21:27 +0100)]
Don't crash if the descriptor's sampling rate denominator is 0.

14 months agoFix incorrect filename encoding on Windows (DoM #2459). v1.8.59
Carl Hetherington [Fri, 17 Feb 2023 09:36:10 +0000 (10:36 +0100)]
Fix incorrect filename encoding on Windows (DoM #2459).

14 months agoChange how whitespace in subtitles is handled.
Carl Hetherington [Thu, 16 Feb 2023 20:56:22 +0000 (21:56 +0100)]
Change how whitespace in subtitles is handled.

Previously we would discard any whitespace subtitle content we found.
This had the side-effect of making a verification test fail (checking
that at least one subtitle is in each reel; blank subtitles are often
used to avoid this warning).

Here we take any subtitle content, whitespace or not, inside a
<Text> or <Image> node which I think is a little more correct.

14 months agoInterop CPLs don't have MainPictureStoredArea (#2452). v1.8.58
Carl Hetherington [Mon, 13 Feb 2023 14:17:26 +0000 (15:17 +0100)]
Interop CPLs don't have MainPictureStoredArea (#2452).

14 months agoGive a better error when a KDMFormatError is thrown (DoM #2446). v1.8.57
Carl Hetherington [Sun, 12 Feb 2023 22:09:46 +0000 (23:09 +0100)]
Give a better error when a KDMFormatError is thrown (DoM #2446).

14 months agoThrow xmlpp::internal_error also as KDMFormatError.
Carl Hetherington [Sun, 12 Feb 2023 22:09:29 +0000 (23:09 +0100)]
Throw xmlpp::internal_error also as KDMFormatError.

14 months agoAdd --no-asset-hash-check and --asset-hash-check-maximum-size (DoM #2444). v1.8.56
Carl Hetherington [Sun, 12 Feb 2023 18:38:53 +0000 (19:38 +0100)]
Add --no-asset-hash-check and --asset-hash-check-maximum-size (DoM #2444).

14 months agoTerminate dcpverify correctly when an invalid option is passed.
Carl Hetherington [Sun, 12 Feb 2023 18:37:26 +0000 (19:37 +0100)]
Terminate dcpverify correctly when an invalid option is passed.

14 months agoAdd another raw_convert().
Carl Hetherington [Sun, 12 Feb 2023 18:37:06 +0000 (19:37 +0100)]
Add another raw_convert().

14 months agoCleanup: use a local variable.
Carl Hetherington [Sun, 12 Feb 2023 14:40:07 +0000 (15:40 +0100)]
Cleanup: use a local variable.

14 months agoIn Deluxe's "Specifications for Digital Cinema Source and DCP Content Delivery" v1.8.55
Carl Hetherington [Thu, 2 Feb 2023 00:03:40 +0000 (01:03 +0100)]
In Deluxe's "Specifications for Digital Cinema Source and DCP Content Delivery"
they say that subtitle <IssueDate> must be of the form yyyy-mm-ddThh:mm:ss

They don't explain it, and the standards don't say this (as far as I can see)
but as usual their QC fails <IssueDates> that don't meet this "spec" so here
we are.

See also:
https://dcpomatic.com/forum/viewtopic.php?t=2069

14 months agoCheck IssueDate for Deluxe complaint.
Carl Hetherington [Thu, 2 Feb 2023 00:03:27 +0000 (01:03 +0100)]
Check IssueDate for Deluxe complaint.

14 months agoAdd with_timezone parameter to ::to_string().
Carl Hetherington [Thu, 2 Feb 2023 00:02:50 +0000 (01:02 +0100)]
Add with_timezone parameter to ::to_string().

15 months agoOnly write the appropriate number of AudioChannelLabelSubDescriptors (DoM #2431). v1.8.54
Carl Hetherington [Mon, 23 Jan 2023 23:54:52 +0000 (00:54 +0100)]
Only write the appropriate number of AudioChannelLabelSubDescriptors (DoM #2431).

15 months agoAdd channels parameter to simple_audio().
Carl Hetherington [Mon, 23 Jan 2023 23:54:25 +0000 (00:54 +0100)]
Add channels parameter to simple_audio().

15 months agoAdd support for 20 as a MainSoundConfiguration. v1.8.53
Carl Hetherington [Sun, 15 Jan 2023 20:15:16 +0000 (21:15 +0100)]
Add support for 20 as a MainSoundConfiguration.

15 months agoAdd some more operators to LocalTime.
Carl Hetherington [Thu, 19 Jan 2023 11:45:49 +0000 (12:45 +0100)]
Add some more operators to LocalTime.

15 months agoAdd a comment.
Carl Hetherington [Thu, 19 Jan 2023 10:26:40 +0000 (11:26 +0100)]
Add a comment.

15 months agoAdd some new issuer access methods. v1.8.52
Carl Hetherington [Mon, 16 Jan 2023 20:16:54 +0000 (21:16 +0100)]
Add some new issuer access methods.

15 months agoFix tests. v1.8.51
Carl Hetherington [Mon, 16 Jan 2023 06:39:25 +0000 (07:39 +0100)]
Fix tests.

15 months agoCheck that Interop subtitle files have at least one subtitle.
Carl Hetherington [Sun, 15 Jan 2023 22:13:49 +0000 (23:13 +0100)]
Check that Interop subtitle files have at least one subtitle.

It was reported on the forum that files without any <Font> or
<Subtitle> tags fail validation on EasyDCP 3.0.1 and crash
Qubemaster Pro 3.0.15.

15 months agoRemove a test directory before running. v1.8.50
Carl Hetherington [Sun, 8 Jan 2023 13:19:00 +0000 (14:19 +0100)]
Remove a test directory before running.

15 months agoCompare LoadFont URIs and asset paths correctly (DoM #2402).
Carl Hetherington [Sat, 7 Jan 2023 23:22:55 +0000 (00:22 +0100)]
Compare LoadFont URIs and asset paths correctly (DoM #2402).

15 months agoCleanup: use std::find_if
Carl Hetherington [Sat, 7 Jan 2023 23:28:02 +0000 (00:28 +0100)]
Cleanup: use std::find_if

15 months agoCleanup: improve loop variable names.
Carl Hetherington [Sat, 7 Jan 2023 23:25:59 +0000 (00:25 +0100)]
Cleanup: improve loop variable names.

15 months agoCleanup: rename AssetMap::path -> file for consistency.
Carl Hetherington [Sun, 1 Jan 2023 20:27:16 +0000 (21:27 +0100)]
Cleanup: rename AssetMap::path -> file for consistency.

15 months agoCleanup: rename PKL::asset_list -> assets for consistency.
Carl Hetherington [Sun, 1 Jan 2023 20:19:51 +0000 (21:19 +0100)]
Cleanup: rename PKL::asset_list -> assets for consistency.

15 months agoCheck for multiple asset IDs in an ASSETMAP during verify.
Carl Hetherington [Sun, 1 Jan 2023 20:14:30 +0000 (21:14 +0100)]
Check for multiple asset IDs in an ASSETMAP during verify.

15 months agoAdd DCP::asset_map().
Carl Hetherington [Sun, 1 Jan 2023 20:14:18 +0000 (21:14 +0100)]
Add DCP::asset_map().

15 months agoAdd AssetMap::assets().
Carl Hetherington [Sun, 1 Jan 2023 20:14:04 +0000 (21:14 +0100)]
Add AssetMap::assets().

15 months agoCleanup: extract verify_assetmap().
Carl Hetherington [Sun, 1 Jan 2023 19:57:45 +0000 (20:57 +0100)]
Cleanup: extract verify_assetmap().

15 months agoCleanup: const correctness.
Carl Hetherington [Sun, 1 Jan 2023 19:57:31 +0000 (20:57 +0100)]
Cleanup: const correctness.

15 months agoCheck for multiple asset IDs in a PKL during verify.
Carl Hetherington [Sat, 31 Dec 2022 21:47:05 +0000 (22:47 +0100)]
Check for multiple asset IDs in a PKL during verify.

15 months agoCleanup: using ordering.
Carl Hetherington [Sat, 31 Dec 2022 21:46:15 +0000 (22:46 +0100)]
Cleanup: using ordering.

15 months agoCleanup: extract verify_pkl().
Carl Hetherington [Sat, 31 Dec 2022 20:59:29 +0000 (21:59 +0100)]
Cleanup: extract verify_pkl().

15 months agoCleanup: const correctness.
Carl Hetherington [Sat, 31 Dec 2022 20:59:03 +0000 (21:59 +0100)]
Cleanup: const correctness.

15 months agoCleanup: remove dead code.
Carl Hetherington [Tue, 3 Jan 2023 20:20:52 +0000 (21:20 +0100)]
Cleanup: remove dead code.

15 months agoChange the behaviour of LocalTime::operator== to make the same time in different... v1.8.49
Carl Hetherington [Fri, 30 Dec 2022 17:12:33 +0000 (18:12 +0100)]
Change the behaviour of LocalTime::operator== to make the same time in different time zones equal.

Previously different offsets would mean that the times compared as
not-equal.

15 months agoFix LocalTime::operator< and operator> to handle offset gracefully.
Carl Hetherington [Fri, 30 Dec 2022 17:11:50 +0000 (18:11 +0100)]
Fix LocalTime::operator< and operator> to handle offset gracefully.

15 months agoAdd dcp::LocalTime::millisecond().
Carl Hetherington [Fri, 30 Dec 2022 17:10:28 +0000 (18:10 +0100)]
Add dcp::LocalTime::millisecond().

15 months agoFix some embarassing bugs in dcp::LocalTime comparisons.
Carl Hetherington [Fri, 30 Dec 2022 16:31:32 +0000 (17:31 +0100)]
Fix some embarassing bugs in dcp::LocalTime comparisons.

16 months agoCleanup: extract verify_cpl().
Carl Hetherington [Tue, 27 Dec 2022 00:06:17 +0000 (01:06 +0100)]
Cleanup: extract verify_cpl().

16 months agoCleanup: extract verify_reel()
Carl Hetherington [Mon, 26 Dec 2022 23:57:06 +0000 (00:57 +0100)]
Cleanup: extract verify_reel()

16 months agoRemove out-of-date comment.
Carl Hetherington [Sun, 25 Dec 2022 21:59:54 +0000 (22:59 +0100)]
Remove out-of-date comment.

16 months agoFix windows build.
Carl Hetherington [Fri, 23 Dec 2022 19:20:47 +0000 (20:20 +0100)]
Fix windows build.

16 months agoAdd File::open_error().
Carl Hetherington [Fri, 23 Dec 2022 19:14:59 +0000 (20:14 +0100)]
Add File::open_error().

16 months agoWhitespace fix.
Carl Hetherington [Fri, 23 Dec 2022 19:14:53 +0000 (20:14 +0100)]
Whitespace fix.

16 months agoCleanup: remove randomly-added using. v1.8.48
Carl Hetherington [Thu, 22 Dec 2022 12:11:01 +0000 (13:11 +0100)]
Cleanup: remove randomly-added using.

16 months agoWrite OriginalFileName tags in PKL (DoM #2394).
Carl Hetherington [Thu, 22 Dec 2022 00:59:11 +0000 (01:59 +0100)]
Write OriginalFileName tags in PKL (DoM #2394).

Without these it EasyDCP gives errors like

"Id field in PKL must match uuid in asset"
"Each Id used in the PKL files must be unique or reference the same file"

which seem wrong but, as usual, here we are.

16 months agoSet plaintext offset to 0 when writing J2K frames (DoM #2391)
Carl Hetherington [Tue, 20 Dec 2022 23:12:41 +0000 (00:12 +0100)]
Set plaintext offset to 0 when writing J2K frames (DoM #2391)

Without this the EasyDCP verifier gives errors like

"sum of individual components is larger than the file size"

This change results in there being no plaintext metadata in each
encoded frame.  It looks like the DCP-2000 was fixed in around
2010 to not crash with plaintext metadata, and the asdcplib tools
at some point started defaulting to this behaviour also.

16 months agoRe-make expired test certificate chain.
Carl Hetherington [Thu, 22 Dec 2022 19:55:25 +0000 (20:55 +0100)]
Re-make expired test certificate chain.

16 months agoSupport some different headers in private_key_fingerprint()
Carl Hetherington [Thu, 22 Dec 2022 20:08:51 +0000 (21:08 +0100)]
Support some different headers in private_key_fingerprint()

16 months agoStore not_valid_{before,after} when reading encrypted KDMs.
Carl Hetherington [Thu, 22 Dec 2022 19:54:47 +0000 (20:54 +0100)]
Store not_valid_{before,after} when reading encrypted KDMs.

16 months agoCleanup: use std::vector and some auto.
Carl Hetherington [Thu, 22 Dec 2022 15:55:40 +0000 (16:55 +0100)]
Cleanup: use std::vector and some auto.

16 months agoGive a better error from chain_valid() when a certificate has some problem (e.g....
Carl Hetherington [Thu, 22 Dec 2022 15:36:41 +0000 (16:36 +0100)]
Give a better error from chain_valid() when a certificate has some problem (e.g. it has expired).

16 months agoRelax the COC component number verification error (DoM #2395). v1.8.47
Carl Hetherington [Wed, 21 Dec 2022 11:27:06 +0000 (12:27 +0100)]
Relax the COC component number verification error (DoM #2395).

A DCP is seen in the wild with 1 here and it doesn't seem unreasonable
that there should be a COC for each component.

16 months agoAdd detail to the invalid COC component number error. v1.8.46
Carl Hetherington [Tue, 20 Dec 2022 18:20:26 +0000 (19:20 +0100)]
Add detail to the invalid COC component number error.

16 months agoIt's not easy to install Python 3 on Ubuntu 16.04, so work around the difference... v1.8.45
Carl Hetherington [Tue, 20 Dec 2022 11:21:59 +0000 (12:21 +0100)]
It's not easy to install Python 3 on Ubuntu 16.04, so work around the difference instead of blocking it.

16 months agoMore adventures in strings and python versions. Stop allowing Python 2 to run this... v1.8.44
Carl Hetherington [Mon, 19 Dec 2022 11:34:09 +0000 (12:34 +0100)]
More adventures in strings and python versions.  Stop allowing Python 2 to run this script.

16 months agoCan't use the encoding parameter to Popen as it's Python 3.6+ only. v1.8.43
Carl Hetherington [Mon, 19 Dec 2022 09:34:43 +0000 (10:34 +0100)]
Can't use the encoding parameter to Popen as it's Python 3.6+ only.

16 months agoAnother attempt to fix UTF-8/byte SNAFUs in wscript. v1.8.42
Carl Hetherington [Sat, 17 Dec 2022 21:16:38 +0000 (22:16 +0100)]
Another attempt to fix UTF-8/byte SNAFUs in wscript.

16 months agoFix ./waf dist v1.8.41
Carl Hetherington [Fri, 16 Dec 2022 09:50:14 +0000 (10:50 +0100)]
Fix ./waf dist

16 months agoVerify that main picture active area is valid (even, and not too big) (#2392). v1.8.40
Carl Hetherington [Thu, 15 Dec 2022 23:01:47 +0000 (00:01 +0100)]
Verify that main picture active area is valid (even, and not too big) (#2392).

16 months agoThrow exceptions when setting odd values for picture active area.
Carl Hetherington [Thu, 15 Dec 2022 23:01:21 +0000 (00:01 +0100)]
Throw exceptions when setting odd values for picture active area.

16 months agoTidy up find_cpl() and add find_pkl().
Carl Hetherington [Thu, 15 Dec 2022 22:52:43 +0000 (23:52 +0100)]
Tidy up find_cpl() and add find_pkl().

16 months agoSome more details when verification results fail.
Carl Hetherington [Thu, 15 Dec 2022 22:51:21 +0000 (23:51 +0100)]
Some more details when verification results fail.

16 months agoAdd delete_lines_after to the Editor.
Carl Hetherington [Thu, 15 Dec 2022 22:51:06 +0000 (23:51 +0100)]
Add delete_lines_after to the Editor.

16 months agoAdd some line spacing in the editor.
Carl Hetherington [Thu, 15 Dec 2022 22:49:51 +0000 (23:49 +0100)]
Add some line spacing in the editor.

16 months agoTidy the Editor class up a little.
Carl Hetherington [Thu, 15 Dec 2022 21:13:30 +0000 (22:13 +0100)]
Tidy the Editor class up a little.

16 months agoAdd some more setters. 2300-kdm-timing v1.8.39
Carl Hetherington [Thu, 1 Dec 2022 20:47:43 +0000 (21:47 +0100)]
Add some more setters.

16 months agoAdd missing operator.
Carl Hetherington [Thu, 1 Dec 2022 20:47:38 +0000 (21:47 +0100)]
Add missing operator.

16 months agoAdd new LocalTime constructor.
Carl Hetherington [Thu, 1 Dec 2022 20:47:21 +0000 (21:47 +0100)]
Add new LocalTime constructor.

16 months agoAdd assert to make sure we're not comparing times wrongly.
Carl Hetherington [Thu, 1 Dec 2022 20:47:09 +0000 (21:47 +0100)]
Add assert to make sure we're not comparing times wrongly.

16 months agoAdd LocalTime::add().
Carl Hetherington [Thu, 1 Dec 2022 20:22:44 +0000 (21:22 +0100)]
Add LocalTime::add().

16 months agoAdd UTCOffset class.
Carl Hetherington [Tue, 29 Nov 2022 10:55:26 +0000 (11:55 +0100)]
Add UTCOffset class.

16 months agoMissing header guard. v1.8.38
Carl Hetherington [Tue, 13 Dec 2022 10:17:20 +0000 (11:17 +0100)]
Missing header guard.

16 months agoAdd missing initialisation calls to example.
Carl Hetherington [Mon, 12 Dec 2022 16:33:39 +0000 (17:33 +0100)]
Add missing initialisation calls to example.

16 months agoRemove old jpeg option reference in cscript. v1.8.37
Carl Hetherington [Sun, 4 Dec 2022 23:47:35 +0000 (00:47 +0100)]
Remove old jpeg option reference in cscript.

16 months agoFix use of atleast_version which these days does nothing. v1.8.36
Carl Hetherington [Sun, 4 Dec 2022 23:34:52 +0000 (00:34 +0100)]
Fix use of atleast_version which these days does nothing.

16 months agoFix reading of git tags for .pc file versioning.
Carl Hetherington [Sun, 4 Dec 2022 23:28:54 +0000 (00:28 +0100)]
Fix reading of git tags for .pc file versioning.

16 months agoSupport building either with our patched OpenJPEG, or 2.5.0.
Carl Hetherington [Sun, 4 Dec 2022 22:32:09 +0000 (23:32 +0100)]
Support building either with our patched OpenJPEG, or 2.5.0.

Either has a way to specify the number of guard bits.