Carl Hetherington [Wed, 17 Mar 2021 10:53:28 +0000 (11:53 +0100)]
Tidy how we're finding the tags and xsd directories.
Carl Hetherington [Wed, 17 Mar 2021 21:38:08 +0000 (22:38 +0100)]
Fix combining when two DCPs both contain copies of the same asset.
Carl Hetherington [Mon, 15 Mar 2021 00:36:51 +0000 (01:36 +0100)]
Fix various bugs in subtitle/ccap verification.
Check that subtitles don't overlap reel boundaries, and fix a few
tests that trip this check.
Fix confusion when calculating subtitle timings during verification
where the picture asset frame rate was being used rather than the
subtitle asset's edit rate.
Do the subtitle timing verification for Interop as well as SMPTE
subtitles.
Take <StartTime> tags into account when checking subtitles, even
though Bv2.1 says they should be set to 0.
Rename Time::as_editable_units to Time::as_editable_units_ceil
and add a _floor variant, then use that to round down when checking
reel boundary overlaps.
Carl Hetherington [Mon, 15 Mar 2021 00:30:47 +0000 (01:30 +0100)]
Add operator-= to Time.
Carl Hetherington [Sat, 27 Feb 2021 23:09:48 +0000 (00:09 +0100)]
Use std::array.
Carl Hetherington [Sat, 27 Feb 2021 23:09:38 +0000 (00:09 +0100)]
Use new write() method in example.
Carl Hetherington [Sat, 27 Feb 2021 23:09:29 +0000 (00:09 +0100)]
Whitespace.
Carl Hetherington [Sat, 27 Feb 2021 23:09:14 +0000 (00:09 +0100)]
Add missing dcp::init() to example.
Carl Hetherington [Sat, 27 Feb 2021 23:08:56 +0000 (00:08 +0100)]
Add new write() method.
Carl Hetherington [Fri, 26 Feb 2021 09:08:02 +0000 (10:08 +0100)]
Improved comments.
Carl Hetherington [Sun, 21 Feb 2021 11:10:59 +0000 (12:10 +0100)]
English language tweaks.
Carl Hetherington [Sat, 20 Feb 2021 21:52:04 +0000 (22:52 +0100)]
Don't give a verification error if there are closed caption tracks with different languages (DoM bug #1907).
Carl Hetherington [Sun, 14 Feb 2021 19:55:37 +0000 (20:55 +0100)]
Some const correctness for decompress_j2k
Carl Hetherington [Sun, 7 Feb 2021 01:44:52 +0000 (02:44 +0100)]
Comment fixes.
Carl Hetherington [Wed, 27 Jan 2021 00:27:53 +0000 (01:27 +0100)]
Basic analysis (verification) of J2K codestreams.
Carl Hetherington [Thu, 28 Jan 2021 22:13:15 +0000 (23:13 +0100)]
Don't use flat_red.j2c for the simple DCP test as it's only 8-bit.
Carl Hetherington [Thu, 28 Jan 2021 21:27:40 +0000 (22:27 +0100)]
Use 1 guard bit in JPEG2000 encoding for 2K, per Bv2.1.
Carl Hetherington [Wed, 27 Jan 2021 00:06:05 +0000 (01:06 +0100)]
Rename j2k.{cc,h} => j2k_transcode.{cc,h}
Carl Hetherington [Sat, 6 Feb 2021 21:22:45 +0000 (22:22 +0100)]
Tweak comment.
Carl Hetherington [Thu, 4 Feb 2021 20:33:19 +0000 (21:33 +0100)]
Improve a comment.
Carl Hetherington [Thu, 4 Feb 2021 16:34:16 +0000 (17:34 +0100)]
Fix failure to write Interop closed captions.
Carl Hetherington [Tue, 2 Feb 2021 21:02:29 +0000 (22:02 +0100)]
Some compilers don't like x = {} where x is a boost::optional<string>
Fails on ubuntu 16 and debian 9.
Carl Hetherington [Sun, 31 Jan 2021 22:50:17 +0000 (23:50 +0100)]
Fix strange Windows build error introduced in
6c37cc1979b2a01205a888c4c98f3334685ee8dd
Carl Hetherington [Tue, 26 Jan 2021 23:38:32 +0000 (00:38 +0100)]
0 => nullptr fix.
Carl Hetherington [Tue, 26 Jan 2021 20:53:27 +0000 (21:53 +0100)]
Fix install.
Carl Hetherington [Tue, 26 Jan 2021 20:52:21 +0000 (21:52 +0100)]
Rename ReelMXF -> ReelFileAsset.
Carl Hetherington [Sun, 24 Jan 2021 22:14:21 +0000 (23:14 +0100)]
Doc fixes.
Carl Hetherington [Sun, 24 Jan 2021 22:00:36 +0000 (23:00 +0100)]
Fix previous.
Carl Hetherington [Sun, 24 Jan 2021 21:56:33 +0000 (22:56 +0100)]
Tidying.
Carl Hetherington [Sun, 24 Jan 2021 03:15:26 +0000 (04:15 +0100)]
Tidying.
Carl Hetherington [Sat, 23 Jan 2021 14:35:24 +0000 (15:35 +0100)]
Tidying.
Carl Hetherington [Sat, 23 Jan 2021 14:34:24 +0000 (15:34 +0100)]
Tidy a little and add some coding style.
Carl Hetherington [Sat, 23 Jan 2021 08:49:29 +0000 (09:49 +0100)]
Remove Windows XP support and pin asdcplib version.
Carl Hetherington [Sat, 23 Jan 2021 08:48:00 +0000 (09:48 +0100)]
Small bits of pre-release tidying.
Carl Hetherington [Sat, 23 Jan 2021 08:30:44 +0000 (09:30 +0100)]
Fix name clash of ERROR with windows.h
Carl Hetherington [Fri, 22 Jan 2021 10:03:12 +0000 (11:03 +0100)]
Remove some unused #includes.
Carl Hetherington [Fri, 22 Jan 2021 00:39:22 +0000 (01:39 +0100)]
Assorted c++11 cleanups.
Carl Hetherington [Thu, 21 Jan 2021 23:53:30 +0000 (00:53 +0100)]
c++11 bits in examples/
Carl Hetherington [Thu, 21 Jan 2021 23:02:12 +0000 (00:02 +0100)]
Try to fix MinGW build.
Carl Hetherington [Thu, 21 Jan 2021 16:10:19 +0000 (17:10 +0100)]
Move all ostream operator<< into some test-only stream_operators.{cc,h} files.
Carl Hetherington [Thu, 21 Jan 2021 09:56:07 +0000 (10:56 +0100)]
Some more use of enum class.
Carl Hetherington [Thu, 21 Jan 2021 00:57:06 +0000 (01:57 +0100)]
Use enum class for the things in types.h
Carl Hetherington [Wed, 20 Jan 2021 22:34:54 +0000 (23:34 +0100)]
Fix strange crash in verify().
This appears to be necessary to stop the first write to
state.subtitle_language from segfaulting. It looks like the
optional<> is in some uninitialised / indeterminate state.
I could only reproduce this crash when running verify() from DoM,
not from the `dcpverify` tool. And some simple test programs suggest
that even doing
State state;
should call the constructors of anything in State.
Carl Hetherington [Wed, 20 Jan 2021 22:34:37 +0000 (23:34 +0100)]
I don't think we need BOOST_NO_CXX11_SCOPED_ENUMS any more.
Carl Hetherington [Wed, 20 Jan 2021 11:15:04 +0000 (12:15 +0100)]
Cleanup: more test naming tweaks.
Carl Hetherington [Wed, 20 Jan 2021 10:18:26 +0000 (11:18 +0100)]
Tidy up some test names.
Carl Hetherington [Tue, 19 Jan 2021 23:54:22 +0000 (00:54 +0100)]
Cleanup: rename some check_ prefixes to verify_.
Carl Hetherington [Tue, 19 Jan 2021 23:41:09 +0000 (00:41 +0100)]
Cleanup: some more use of initialiser lists.
Carl Hetherington [Tue, 19 Jan 2021 23:31:41 +0000 (00:31 +0100)]
VerificationNote message tidying.
Carl Hetherington [Tue, 19 Jan 2021 22:36:27 +0000 (23:36 +0100)]
Tidy up parameters in VerificationNote.
Carl Hetherington [Tue, 19 Jan 2021 19:34:34 +0000 (20:34 +0100)]
Cleanup: now have using namespace boost::filesystem.
Carl Hetherington [Tue, 19 Jan 2021 19:32:18 +0000 (20:32 +0100)]
Fix tests to actually check the results in several cases.
Carl Hetherington [Tue, 19 Jan 2021 01:09:53 +0000 (02:09 +0100)]
_line should be optional.
Carl Hetherington [Tue, 19 Jan 2021 00:30:26 +0000 (01:30 +0100)]
Cleanup: remove lots of unnecessary namespace qualifiers.
Carl Hetherington [Tue, 19 Jan 2021 00:27:23 +0000 (01:27 +0100)]
Cleanup: tidy enum names for verification codes.
Carl Hetherington [Mon, 18 Jan 2021 23:46:05 +0000 (00:46 +0100)]
Cleanup: more use of prepare_directory().
Carl Hetherington [Mon, 18 Jan 2021 23:43:33 +0000 (00:43 +0100)]
Cleanup: more use of check_verify_result.
Carl Hetherington [Mon, 18 Jan 2021 23:33:51 +0000 (00:33 +0100)]
Cleanup: remove BRANCH file.
Carl Hetherington [Mon, 18 Jan 2021 23:33:14 +0000 (00:33 +0100)]
Bv2.1 10.1: if any asset is encrypted they all must be.
Carl Hetherington [Mon, 18 Jan 2021 23:32:53 +0000 (00:32 +0100)]
Rename encrypted() to any_encrypted() and add all_encrypted().
Carl Hetherington [Mon, 18 Jan 2021 23:05:44 +0000 (00:05 +0100)]
Bv2.1 9.2: PKL must be signed if it contains encrypted assets.
Carl Hetherington [Mon, 18 Jan 2021 21:53:57 +0000 (22:53 +0100)]
Bv2.1 9.1: PKL annotation text must match CPL ContentTitleText if there is only one CPL in the PKL.
Carl Hetherington [Mon, 18 Jan 2021 21:53:12 +0000 (22:53 +0100)]
Add some more access to PKL.
Carl Hetherington [Mon, 18 Jan 2021 19:13:41 +0000 (20:13 +0100)]
Bv2.1 8.7: CPLs with encrypted content must be signed.
Carl Hetherington [Mon, 18 Jan 2021 16:06:23 +0000 (17:06 +0100)]
Bv2.1 8.6.3: <ExtensionMetadata> must be present and have precise contents.
Carl Hetherington [Mon, 18 Jan 2021 12:05:11 +0000 (13:05 +0100)]
Bv2.1 8.6.{1.2}: CompositionMetadataAsset must exist and it must have some <VersionNumber>.
Carl Hetherington [Mon, 18 Jan 2021 12:03:47 +0000 (13:03 +0100)]
Add CPL::unset_version_number().
Carl Hetherington [Sun, 17 Jan 2021 23:27:34 +0000 (00:27 +0100)]
Bv2.1 8.5: FFOC and LFOC should be present and have particular values.
Carl Hetherington [Sun, 17 Jan 2021 23:24:21 +0000 (00:24 +0100)]
Require instrinsic duration of ReelMarkersAsset to be specified on construction.
We need the intrinsic duration to match other assets in the reel,
so we can't just calculate it from the markers.
Carl Hetherington [Sun, 17 Jan 2021 23:21:34 +0000 (00:21 +0100)]
Assert that entry_point and intrinsic_duration are not completely bogus.
Carl Hetherington [Sun, 17 Jan 2021 21:25:59 +0000 (22:25 +0100)]
Bv2.1 8.5: Features must have FFEC/FFMC markers.
Carl Hetherington [Sun, 17 Jan 2021 21:25:50 +0000 (22:25 +0100)]
Use feature not trailer for some tests to avoid verification errors about FFEC/FFMC.
Carl Hetherington [Sun, 17 Jan 2021 21:21:29 +0000 (22:21 +0100)]
Add CPL::set_content_kind.
Carl Hetherington [Sun, 17 Jan 2021 21:06:20 +0000 (22:06 +0100)]
Read scope attribute of ReleaseTerritory.
Carl Hetherington [Sun, 17 Jan 2021 19:26:28 +0000 (20:26 +0100)]
Check that the Editor actually edits something.
Carl Hetherington [Fri, 15 Jan 2021 22:11:47 +0000 (23:11 +0100)]
Use an enum class for Marker.
Carl Hetherington [Fri, 15 Jan 2021 21:56:38 +0000 (22:56 +0100)]
Bv2.1 8.4 We must have <Hash>es
Carl Hetherington [Fri, 15 Jan 2021 21:04:42 +0000 (22:04 +0100)]
Bv2.1 8.3.2: text tracks must have <EntryPoint> and it must be zero.
Carl Hetherington [Fri, 15 Jan 2021 21:04:23 +0000 (22:04 +0100)]
Add ReelAsset::unset_entry_point().
Carl Hetherington [Thu, 14 Jan 2021 23:17:09 +0000 (00:17 +0100)]
Bv2.1 8.3.1: MainSubtitles must be in all reels (if they are there at
all) and ClosedCaptions must have the same count on all reels.
Carl Hetherington [Thu, 14 Jan 2021 22:38:30 +0000 (23:38 +0100)]
Bv2.1 8.2: all parts of a reel must have the same duration.
Carl Hetherington [Thu, 14 Jan 2021 22:38:03 +0000 (23:38 +0100)]
Make subtitle checking robust to CPLs with no subs/ccaps in some reels.
Carl Hetherington [Thu, 14 Jan 2021 21:50:09 +0000 (22:50 +0100)]
Bv2.1 8.1: CPL <AnnotationText> should be the same as <ContentTitleText>
Carl Hetherington [Thu, 14 Jan 2021 21:38:58 +0000 (22:38 +0100)]
Bv2.1 8.1: CPL must have <AnnotationText>.
Carl Hetherington [Thu, 14 Jan 2021 21:20:06 +0000 (22:20 +0100)]
Make CPL annotation_text optional.
Carl Hetherington [Wed, 13 Jan 2021 01:20:02 +0000 (02:20 +0100)]
Fix some directory paths for tests.
Carl Hetherington [Wed, 13 Jan 2021 01:16:37 +0000 (02:16 +0100)]
Bv2.1 7.3: audio sample rate must be 48kHz.
Carl Hetherington [Tue, 12 Jan 2021 23:53:38 +0000 (00:53 +0100)]
Bv2.1 7.2.{6,7}: various limits on subtitle line and character counts.
Carl Hetherington [Tue, 12 Jan 2021 23:52:19 +0000 (00:52 +0100)]
Remove some unnecessary std:: qualifiers.
Carl Hetherington [Tue, 12 Jan 2021 16:47:23 +0000 (17:47 +0100)]
Bv2.1 7.2.{4,5}: check that subtitles are not too short, too close or
too early in the first reel.
Carl Hetherington [Mon, 11 Jan 2021 20:21:38 +0000 (21:21 +0100)]
Give simple_{picture,sound} a length parameter and fix crazy implementation of simple_sound().
Carl Hetherington [Mon, 11 Jan 2021 20:20:47 +0000 (21:20 +0100)]
Change subtitle SubtitleAsset API to return const Subtitle pointers; add subtitles_in_reel().
Carl Hetherington [Sun, 10 Jan 2021 23:16:40 +0000 (00:16 +0100)]
Replace std::list with std::vector in the API.
Carl Hetherington [Sat, 9 Jan 2021 21:01:12 +0000 (22:01 +0100)]
c++11 and other tidying.
Carl Hetherington [Sat, 9 Jan 2021 13:56:12 +0000 (14:56 +0100)]
BRANCH
Carl Hetherington [Sat, 9 Jan 2021 08:58:55 +0000 (09:58 +0100)]
Stop tests failing when libdcp version changes.
Carl Hetherington [Sat, 9 Jan 2021 00:39:08 +0000 (01:39 +0100)]
Bv2.1 7.2.4: first subtitle should be at least 4s into the DCP.
Carl Hetherington [Fri, 8 Jan 2021 23:43:24 +0000 (00:43 +0100)]
BRANCH
Carl Hetherington [Fri, 8 Jan 2021 23:38:18 +0000 (00:38 +0100)]
c++11 tidying.
Carl Hetherington [Sat, 2 Jan 2021 23:31:40 +0000 (00:31 +0100)]
Bv2.1 7.2.3: Check that subtitle <StartTime> exists and is 0.