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

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

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

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

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

17 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.

17 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.

17 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.

17 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.

17 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()

17 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.

17 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.

17 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).

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

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

17 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).

17 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.

17 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().

17 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.

17 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.

17 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.

17 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.

17 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.

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

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

17 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.

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

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

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

17 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.

17 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.

17 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.

17 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.

17 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.

17 months agoRemove support for building with OpenJPEG 1.x.
Carl Hetherington [Sun, 4 Dec 2022 21:57:59 +0000 (22:57 +0100)]
Remove support for building with OpenJPEG 1.x.

17 months agoFix some ambiguous shared_ptrs, seen on Arch Linux.
Carl Hetherington [Sun, 4 Dec 2022 19:30:48 +0000 (20:30 +0100)]
Fix some ambiguous shared_ptrs, seen on Arch Linux.

17 months agoFilter some more potential filename contents on Windows. v1.8.35
Carl Hetherington [Sat, 3 Dec 2022 22:20:18 +0000 (23:20 +0100)]
Filter some more potential filename contents on Windows.

18 months agoAdd make_kdm.cc example.
Carl Hetherington [Sun, 27 Nov 2022 22:11:32 +0000 (23:11 +0100)]
Add make_kdm.cc example.

18 months agoTidy up examples/wscript.
Carl Hetherington [Sun, 27 Nov 2022 21:55:01 +0000 (22:55 +0100)]
Tidy up examples/wscript.

18 months agoTidy up some operators, made possible by the previous-but-one commit.
Carl Hetherington [Thu, 24 Nov 2022 22:57:38 +0000 (23:57 +0100)]
Tidy up some operators, made possible by the previous-but-one commit.

18 months agoAdd equality option for vertical subtitle position. v1.8.34
Carl Hetherington [Thu, 24 Nov 2022 08:54:03 +0000 (09:54 +0100)]
Add equality option for vertical subtitle position.

18 months agoSome missing const correctness.
Carl Hetherington [Wed, 23 Nov 2022 23:53:22 +0000 (00:53 +0100)]
Some missing const correctness.

18 months agoAdd a couple of Z position tests. v1.8.33
Carl Hetherington [Thu, 20 Oct 2022 21:55:24 +0000 (23:55 +0200)]
Add a couple of Z position tests.

18 months agoAdd Z position to subtitles; existing tests pass.
Carl Hetherington [Thu, 20 Oct 2022 21:17:40 +0000 (23:17 +0200)]
Add Z position to subtitles; existing tests pass.

19 months agoCleanup: use std::make_shared.
Carl Hetherington [Sat, 29 Oct 2022 10:11:00 +0000 (12:11 +0200)]
Cleanup: use std::make_shared.

19 months agoFix YUV->RGB for Rec. 2020. rec2020 v1.8.32
Carl Hetherington [Wed, 5 Oct 2022 22:03:59 +0000 (00:03 +0200)]
Fix YUV->RGB for Rec. 2020.

19 months agoFix copy/paste error causing a crash when verifying encrypted 3D DCPs. v1.8.31
Carl Hetherington [Tue, 11 Oct 2022 22:40:01 +0000 (00:40 +0200)]
Fix copy/paste error causing a crash when verifying encrypted 3D DCPs.

19 months agoSome dcpverify output tidying.
Carl Hetherington [Tue, 11 Oct 2022 20:43:43 +0000 (22:43 +0200)]
Some dcpverify output tidying.

19 months agoAdd a progress bar.
Carl Hetherington [Tue, 11 Oct 2022 20:43:32 +0000 (22:43 +0200)]
Add a progress bar.

19 months agoCleanup: use some lambdas.
Carl Hetherington [Tue, 11 Oct 2022 20:38:14 +0000 (22:38 +0200)]
Cleanup: use some lambdas.

19 months agoMissing bracket in error message.
Carl Hetherington [Mon, 3 Oct 2022 22:14:24 +0000 (00:14 +0200)]
Missing bracket in error message.

20 months agoBetter subtitle comparisons in tests. v1.8.30
Carl Hetherington [Mon, 26 Sep 2022 17:44:32 +0000 (19:44 +0200)]
Better subtitle comparisons in tests.

20 months agoDon't try to create non-existent DCPs when searching for CPLs (DoM #2344).
Carl Hetherington [Mon, 26 Sep 2022 17:43:47 +0000 (19:43 +0200)]
Don't try to create non-existent DCPs when searching for CPLs (DoM #2344).

20 months agoBump waf in asdcplib. v1.8.29
Carl Hetherington [Mon, 19 Sep 2022 22:05:43 +0000 (00:05 +0200)]
Bump waf in asdcplib.

20 months agoBump waf here and in libcxml for Python 3.10 support. v1.8.28
Carl Hetherington [Mon, 19 Sep 2022 21:57:45 +0000 (23:57 +0200)]
Bump waf here and in libcxml for Python 3.10 support.

20 months agoAdd a new test.
Carl Hetherington [Tue, 6 Sep 2022 10:44:28 +0000 (12:44 +0200)]
Add a new test.

20 months agoUse ratingID rather than the Descriptor Label for metadata. v1.8.27
Carl Hetherington [Sat, 3 Sep 2022 20:29:47 +0000 (22:29 +0200)]
Use ratingID rather than the Descriptor Label for metadata.

It's not clear whether this is right, but it certainly seems a lot
closer (e.g. for MPAA PG-13 the label was "Parents Strongly Cautioned",
which is definitely not what we want).

20 months agoProperly support ContentKind scope attribute. v1.8.26
Carl Hetherington [Fri, 2 Sep 2022 23:52:14 +0000 (01:52 +0200)]
Properly support ContentKind scope attribute.

20 months agoCleanup: some missing full stops.
Carl Hetherington [Fri, 2 Sep 2022 23:38:40 +0000 (01:38 +0200)]
Cleanup: some missing full stops.

20 months agoReplace ContentKind enum with a class.
Carl Hetherington [Fri, 2 Sep 2022 20:43:19 +0000 (22:43 +0200)]
Replace ContentKind enum with a class.

21 months agoThrow a KDMFormatError if cxml throws an error when reading KDM XML.
Carl Hetherington [Wed, 17 Aug 2022 23:42:19 +0000 (01:42 +0200)]
Throw a KDMFormatError if cxml throws an error when reading KDM XML.

21 months agoTolerate missing FullContentTitleText (DoM bug #2295). 2295-tolerate-missing-full-content-title v1.8.25
Carl Hetherington [Mon, 15 Aug 2022 15:34:29 +0000 (17:34 +0200)]
Tolerate missing FullContentTitleText (DoM bug #2295).

21 months agoStop assuming that the presence of FullContentTitleText means that there was CPL...
Carl Hetherington [Mon, 15 Aug 2022 14:54:40 +0000 (16:54 +0200)]
Stop assuming that the presence of FullContentTitleText means that there was CPL metadata.

21 months agoFix undefined memory warning during tests.
Carl Hetherington [Wed, 10 Aug 2022 20:14:07 +0000 (22:14 +0200)]
Fix undefined memory warning during tests.

21 months agoFix script for Fedora.
Carl Hetherington [Wed, 10 Aug 2022 20:13:58 +0000 (22:13 +0200)]
Fix script for Fedora.

22 months agoFix thinko in previous commit. v1.8.24
Carl Hetherington [Fri, 15 Jul 2022 08:57:02 +0000 (10:57 +0200)]
Fix thinko in previous commit.

22 months agoClose assets on destruction even if finalize() is not called. v1.8.23
Carl Hetherington [Thu, 14 Jul 2022 21:51:21 +0000 (23:51 +0200)]
Close assets on destruction even if finalize() is not called.

22 months agoAllow tests to be run on Fedora.
Carl Hetherington [Thu, 14 Jul 2022 21:50:56 +0000 (23:50 +0200)]
Allow tests to be run on Fedora.

22 months agoUpdate comment to reflect strange aspects of subtitle alignment standards.
Carl Hetherington [Thu, 14 Jul 2022 21:30:47 +0000 (23:30 +0200)]
Update comment to reflect strange aspects of subtitle alignment standards.

23 months agoAdd another warning to LIBDCP_DISABLE_WARNINGS mac-warning v1.8.22
Carl Hetherington [Tue, 21 Jun 2022 09:45:13 +0000 (11:45 +0200)]
Add another warning to LIBDCP_DISABLE_WARNINGS

23 months agoBump asdcplib for build fix. v1.8.21
Carl Hetherington [Mon, 20 Jun 2022 11:02:43 +0000 (13:02 +0200)]
Bump asdcplib for build fix.

23 months agoMake an error a little more detailed.
Carl Hetherington [Fri, 3 Jun 2022 13:11:50 +0000 (15:11 +0200)]
Make an error a little more detailed.

23 months agoBump asdcplib for some more logging.
Carl Hetherington [Mon, 13 Jun 2022 22:33:31 +0000 (00:33 +0200)]
Bump asdcplib for some more logging.

23 months agoMake size_in_pixels() more accurate. v1.8.20
Carl Hetherington [Sun, 5 Jun 2022 21:46:37 +0000 (23:46 +0200)]
Make size_in_pixels() more accurate.

2 years agoMissing install of a header. v1.8.19
Carl Hetherington [Sun, 8 May 2022 22:57:19 +0000 (00:57 +0200)]
Missing install of a header.

2 years agoExtract, test and slightly adjust the piecewise LUT for inverse gamma.
Carl Hetherington [Sun, 8 May 2022 21:47:12 +0000 (23:47 +0200)]
Extract, test and slightly adjust the piecewise LUT for inverse gamma.

2 years agoAnother missing include.
Carl Hetherington [Fri, 6 May 2022 21:52:04 +0000 (23:52 +0200)]
Another missing include.

2 years agoFix scaling ranges to be the same as they used to be.
Carl Hetherington [Fri, 6 May 2022 08:32:02 +0000 (10:32 +0200)]
Fix scaling ranges to be the same as they used to be.

2 years agoTypo in function name.
Carl Hetherington [Fri, 6 May 2022 21:43:06 +0000 (23:43 +0200)]
Typo in function name.

2 years agoMissing includes.
Carl Hetherington [Thu, 5 May 2022 22:33:57 +0000 (00:33 +0200)]
Missing includes.

2 years agoTweak whitespace. file-class-in-dom
Carl Hetherington [Fri, 15 Apr 2022 20:41:23 +0000 (22:41 +0200)]
Tweak whitespace.

2 years agoAdd ::puts().
Carl Hetherington [Fri, 15 Apr 2022 20:40:52 +0000 (22:40 +0200)]
Add ::puts().

2 years agoAdd ::tell().
Carl Hetherington [Fri, 15 Apr 2022 20:33:43 +0000 (22:33 +0200)]
Add ::tell().

2 years agoMove fix_long_path tests over from DoM.
Carl Hetherington [Wed, 13 Apr 2022 22:36:24 +0000 (00:36 +0200)]
Move fix_long_path tests over from DoM.

2 years agoAdd accessor for use with things like fprintf().
Carl Hetherington [Wed, 13 Apr 2022 22:19:55 +0000 (00:19 +0200)]
Add accessor for use with things like fprintf().

2 years agoAdd move constructor.
Carl Hetherington [Wed, 13 Apr 2022 22:02:42 +0000 (00:02 +0200)]
Add move constructor.

2 years agoAdd header guard.
Carl Hetherington [Wed, 13 Apr 2022 21:59:19 +0000 (23:59 +0200)]
Add header guard.

2 years agoAdd ::seek().
Carl Hetherington [Wed, 13 Apr 2022 21:37:19 +0000 (23:37 +0200)]
Add ::seek().

2 years agoAdd ::take().
Carl Hetherington [Wed, 13 Apr 2022 21:30:26 +0000 (23:30 +0200)]
Add ::take().

2 years agoAdd checked_{read,write} from DoM.
Carl Hetherington [Wed, 13 Apr 2022 21:19:17 +0000 (23:19 +0200)]
Add checked_{read,write} from DoM.

2 years agoCopy and use fix_long_path from DoM.
Carl Hetherington [Wed, 13 Apr 2022 21:05:39 +0000 (23:05 +0200)]
Copy and use fix_long_path from DoM.

2 years agoRemove unnecessary using inaccurate-gamma2
Carl Hetherington [Thu, 5 May 2022 19:25:37 +0000 (21:25 +0200)]
Remove unnecessary using

2 years agoUse 2 LUTs for output gamma to improve accuracy (DoM #2242).
Carl Hetherington [Thu, 5 May 2022 19:02:40 +0000 (21:02 +0200)]
Use 2 LUTs for output gamma to improve accuracy (DoM #2242).

2 years agoAllow LUTs to be created with a particular range.
Carl Hetherington [Thu, 5 May 2022 18:56:14 +0000 (20:56 +0200)]
Allow LUTs to be created with a particular range.

2 years agoUse std::vector for LUTs.
Carl Hetherington [Thu, 5 May 2022 18:31:26 +0000 (20:31 +0200)]
Use std::vector for LUTs.