dcpomatic.git
16 months agoWIP: VP9 encoder. 1602-sign-language
Carl Hetherington [Tue, 8 Nov 2022 23:38:33 +0000 (00:38 +0100)]
WIP: VP9 encoder.

16 months agoCleanup: include/using tidying.
Carl Hetherington [Thu, 8 Dec 2022 21:37:27 +0000 (22:37 +0100)]
Cleanup: include/using tidying.

16 months agoMove ffmpeg_log_callback to util.{cc,h}
Carl Hetherington [Tue, 8 Nov 2022 23:38:23 +0000 (00:38 +0100)]
Move ffmpeg_log_callback to util.{cc,h}

16 months agoAdd missing header guards.
Carl Hetherington [Sun, 6 Nov 2022 23:28:34 +0000 (00:28 +0100)]
Add missing header guards.

16 months agoTidy up calls to handle both video types.
Carl Hetherington [Sun, 6 Nov 2022 20:51:12 +0000 (21:51 +0100)]
Tidy up calls to handle both video types.

16 months agoAdd some tests for EnumIndexedVector.
Carl Hetherington [Sun, 6 Nov 2022 20:50:34 +0000 (21:50 +0100)]
Add some tests for EnumIndexedVector.

16 months agoAdd EnumIndexedVector::indices().
Carl Hetherington [Sun, 6 Nov 2022 20:50:54 +0000 (21:50 +0100)]
Add EnumIndexedVector::indices().

16 months agoPut two video views inside FilmViewer, one for main and one for sign language.
Carl Hetherington [Sun, 6 Nov 2022 19:33:27 +0000 (20:33 +0100)]
Put two video views inside FilmViewer, one for main and one for sign language.

16 months agoAdapt Butler to keep a buffer of main and sign language video types.
Carl Hetherington [Wed, 19 Oct 2022 22:45:17 +0000 (00:45 +0200)]
Adapt Butler to keep a buffer of main and sign language video types.

16 months agoExpand Player to support main and sign language video types.
Carl Hetherington [Wed, 19 Oct 2022 22:27:15 +0000 (00:27 +0200)]
Expand Player to support main and sign language video types.

16 months agoAdd stub sign language window.
Carl Hetherington [Wed, 19 Oct 2022 20:34:51 +0000 (22:34 +0200)]
Add stub sign language window.

16 months agoShow sign language content in the list.
Carl Hetherington [Tue, 6 Sep 2022 19:03:16 +0000 (21:03 +0200)]
Show sign language content in the list.

16 months agoAdd make_numbered_frames hack script.
Carl Hetherington [Tue, 6 Sep 2022 18:44:29 +0000 (20:44 +0200)]
Add make_numbered_frames hack script.

16 months agoAdd _sign_language property to Content.
Carl Hetherington [Tue, 6 Sep 2022 18:44:23 +0000 (20:44 +0200)]
Add _sign_language property to Content.

16 months agoMove UTC offset for KDMs from the cinema to the point of KDM creation (#2300).
Carl Hetherington [Thu, 1 Dec 2022 21:30:58 +0000 (22:30 +0100)]
Move UTC offset for KDMs from the cinema to the point of KDM creation (#2300).

16 months agoChange how video timing is done.
Carl Hetherington [Thu, 29 Sep 2022 08:17:50 +0000 (10:17 +0200)]
Change how video timing is done.

This commit changes the approach with video timing.  Previously,
we would (more-or-less) try to use every video frame from the content
in the output, hoping that they come at a constant frame rate.

This is not always the case, however.  Here we preserve the PTS
of video frames, and then when one arrives we output whatever
DCP video frames we can (at the regular DCP frame rate).

Hopefully this will solve a range of sync problems, but it
could also introduce new ones.

16 months agoAdd operator* for Time and int.
Carl Hetherington [Wed, 28 Sep 2022 23:03:43 +0000 (01:03 +0200)]
Add operator* for Time and int.

16 months agoWrite player debug logs from tests on -- --log=debug-player
Carl Hetherington [Wed, 28 Sep 2022 21:59:06 +0000 (23:59 +0200)]
Write player debug logs from tests on -- --log=debug-player

16 months agoCleanup: fix name of film to match test.
Carl Hetherington [Sun, 2 Oct 2022 19:55:55 +0000 (21:55 +0200)]
Cleanup: fix name of film to match test.

16 months agoFix FFmpegExaminer termination condition when there is no video;
Carl Hetherington [Sat, 1 Oct 2022 10:05:33 +0000 (12:05 +0200)]
Fix FFmpegExaminer termination condition when there is no video;
it's hard to see how this ever worked.

16 months agoBump ffmpeg to 5.1.2 "Riemann"
Carl Hetherington [Fri, 30 Sep 2022 20:46:33 +0000 (22:46 +0200)]
Bump ffmpeg to 5.1.2 "Riemann"

16 months agoNormalise XML attribute names to be camelCase (#2241).
Carl Hetherington [Sat, 10 Sep 2022 22:10:22 +0000 (00:10 +0200)]
Normalise XML attribute names to be camelCase (#2241).

16 months agoUse 2.18.x subdirectory for configuration.
Carl Hetherington [Mon, 26 Sep 2022 18:20:16 +0000 (20:20 +0200)]
Use 2.18.x subdirectory for configuration.

16 months agoBump libdcp for fixes to #2391 and #2394. v2.16.37
Carl Hetherington [Thu, 22 Dec 2022 23:03:44 +0000 (00:03 +0100)]
Bump libdcp for fixes to #2391 and #2394.

16 months agoAdd Marek Dudzik as a tester.
Carl Hetherington [Thu, 22 Dec 2022 21:43:09 +0000 (22:43 +0100)]
Add Marek Dudzik as a tester.

16 months agoBump libdcp for less strict COC verification (#2395). v2.16.36
Carl Hetherington [Wed, 21 Dec 2022 11:28:35 +0000 (12:28 +0100)]
Bump libdcp for less strict COC verification (#2395).

16 months agoBump libdcp for improved COC error on verification.
Carl Hetherington [Tue, 20 Dec 2022 19:23:22 +0000 (20:23 +0100)]
Bump libdcp for improved COC error on verification.

16 months agoSupporters update.
Carl Hetherington [Tue, 20 Dec 2022 17:59:13 +0000 (18:59 +0100)]
Supporters update.

16 months agoStill more wscript adventures.
Carl Hetherington [Tue, 20 Dec 2022 11:22:39 +0000 (12:22 +0100)]
Still more wscript adventures.

16 months agoMore wscript character encoding adventures.
Carl Hetherington [Mon, 19 Dec 2022 11:34:47 +0000 (12:34 +0100)]
More wscript character encoding adventures.

16 months agoBump libdcp for another wscript character encoding fix.
Carl Hetherington [Mon, 19 Dec 2022 09:35:51 +0000 (10:35 +0100)]
Bump libdcp for another wscript character encoding fix.

16 months agoBump libdcp for wscript character encoding fix.
Carl Hetherington [Mon, 19 Dec 2022 01:04:25 +0000 (02:04 +0100)]
Bump libdcp for wscript character encoding fix.

16 months agoFix weird exception handling.
Carl Hetherington [Sun, 18 Dec 2022 23:36:36 +0000 (00:36 +0100)]
Fix weird exception handling.

This is a bit cleaner and stops odd messages about stereoscopic assets
appearing in the logs.

16 months agoUse the last_player_load_directory when adding OVs (#2094).
Carl Hetherington [Sat, 17 Dec 2022 21:40:37 +0000 (22:40 +0100)]
Use the last_player_load_directory when adding OVs (#2094).

16 months agoCleanup: use ScopeGuard.
Carl Hetherington [Sat, 17 Dec 2022 21:36:45 +0000 (22:36 +0100)]
Cleanup: use ScopeGuard.

16 months agoMake sure main picture active area values are even (#2392).
Carl Hetherington [Thu, 15 Dec 2022 23:19:00 +0000 (00:19 +0100)]
Make sure main picture active area values are even (#2392).

16 months agoBump libdcp for main picture active area changes.
Carl Hetherington [Thu, 15 Dec 2022 23:18:41 +0000 (00:18 +0100)]
Bump libdcp for main picture active area changes.

16 months agoFix build on Ubuntu 16.04.
Carl Hetherington [Thu, 15 Dec 2022 15:39:53 +0000 (16:39 +0100)]
Fix build on Ubuntu 16.04.

16 months agoBump libdcp to a version with UTCOffset.
Carl Hetherington [Tue, 13 Dec 2022 21:17:31 +0000 (22:17 +0100)]
Bump libdcp to a version with UTCOffset.

This is needed for 2.17.x but I ran the tests on main and they look
OK, so doing it this way should save a few merge conflicts.

16 months agoMore header trimming.
Carl Hetherington [Tue, 13 Dec 2022 10:18:31 +0000 (11:18 +0100)]
More header trimming.

16 months agoAdd video_{range,frame_type}.{cc,h} and remove some types.h includes.
Carl Hetherington [Tue, 13 Dec 2022 00:04:07 +0000 (01:04 +0100)]
Add video_{range,frame_type}.{cc,h} and remove some types.h includes.

16 months agoExtract named_channel.h
Carl Hetherington [Sat, 10 Dec 2022 23:11:51 +0000 (00:11 +0100)]
Extract named_channel.h

16 months agoRemove some unnecessary declarations.
Carl Hetherington [Sat, 10 Dec 2022 22:42:02 +0000 (23:42 +0100)]
Remove some unnecessary declarations.

16 months agoExtract resolution.h
Carl Hetherington [Sat, 10 Dec 2022 22:32:51 +0000 (23:32 +0100)]
Extract resolution.h

16 months agoMissing include.
Carl Hetherington [Sat, 10 Dec 2022 08:10:29 +0000 (09:10 +0100)]
Missing include.

16 months agoFix build error in previous commit.
Carl Hetherington [Sat, 10 Dec 2022 01:04:39 +0000 (02:04 +0100)]
Fix build error in previous commit.

16 months agoExtract crop.h
Carl Hetherington [Sat, 10 Dec 2022 00:39:38 +0000 (01:39 +0100)]
Extract crop.h

16 months agoMove some methods out of util.{cc,h}
Carl Hetherington [Sat, 10 Dec 2022 00:08:56 +0000 (01:08 +0100)]
Move some methods out of util.{cc,h}

16 months agoRemove unused methods.
Carl Hetherington [Fri, 9 Dec 2022 23:51:36 +0000 (00:51 +0100)]
Remove unused methods.

16 months agoExtract constants.h
Carl Hetherington [Fri, 9 Dec 2022 23:47:30 +0000 (00:47 +0100)]
Extract constants.h

16 months agoAdd a test to verify passthrough of 3D -> 2D data.
Carl Hetherington [Wed, 7 Dec 2022 11:38:28 +0000 (12:38 +0100)]
Add a test to verify passthrough of 3D -> 2D data.

16 months agoFix tests on Windows now that we replace . with _ in filenames.
Carl Hetherington [Mon, 5 Dec 2022 11:15:30 +0000 (12:15 +0100)]
Fix tests on Windows now that we replace . with _ in filenames.

16 months agoUse the same default folder for add DCP as add files (#2348).
Carl Hetherington [Mon, 5 Dec 2022 19:51:41 +0000 (20:51 +0100)]
Use the same default folder for add DCP as add files (#2348).

16 months agoCleanup: use ScopeGuard.
Carl Hetherington [Mon, 5 Dec 2022 19:50:16 +0000 (20:50 +0100)]
Cleanup: use ScopeGuard.

16 months agoUse the same default folder for add folder as add files (#2348).
Carl Hetherington [Mon, 5 Dec 2022 19:47:05 +0000 (20:47 +0100)]
Use the same default folder for add folder as add files (#2348).

16 months agoCleanup: use ScopeGuard.
Carl Hetherington [Mon, 5 Dec 2022 19:44:42 +0000 (20:44 +0100)]
Cleanup: use ScopeGuard.

16 months agoBump libdcp for build fix.
Carl Hetherington [Sun, 4 Dec 2022 23:48:34 +0000 (00:48 +0100)]
Bump libdcp for build fix.

16 months agoFix use of atleast_version in wscripts (it does nothing, since I don't know when).
Carl Hetherington [Sun, 4 Dec 2022 23:36:37 +0000 (00:36 +0100)]
Fix use of atleast_version in wscripts (it does nothing, since I don't know when).

16 months agoBump libdcp to remove some invalid characters from Windows filenames (#2219).
Carl Hetherington [Sat, 3 Dec 2022 22:20:57 +0000 (23:20 +0100)]
Bump libdcp to remove some invalid characters from Windows filenames (#2219).

16 months agoBump libsub for libdcp dependency removal.
Carl Hetherington [Sat, 3 Dec 2022 09:15:05 +0000 (10:15 +0100)]
Bump libsub for libdcp dependency removal.

16 months agoDon't use "NR" in the ISDCF name if there is no rating.
Carl Hetherington [Fri, 2 Dec 2022 20:52:38 +0000 (21:52 +0100)]
Don't use "NR" in the ISDCF name if there is no rating.

Thierry says this is not used out in the wild, and I can't find
any reference to say that it must be there, so remove it.

16 months agoFix stupid mistake in previous commit.
Carl Hetherington [Fri, 2 Dec 2022 20:00:48 +0000 (21:00 +0100)]
Fix stupid mistake in previous commit.

16 months agoCatch problems when using dcp_file() and getting more than one answer.
Carl Hetherington [Fri, 2 Dec 2022 18:41:09 +0000 (19:41 +0100)]
Catch problems when using dcp_file() and getting more than one answer.

16 months agoFix unreliable test.
Carl Hetherington [Fri, 2 Dec 2022 18:40:56 +0000 (19:40 +0100)]
Fix unreliable test.

16 months agoMerge branch '2384-playlist'
Carl Hetherington [Thu, 1 Dec 2022 19:44:11 +0000 (20:44 +0100)]
Merge branch '2384-playlist'

Various improvements and fixes to the playlist editor GUI (#2384).

16 months agoDouble-click on content list adds the content.
Carl Hetherington [Thu, 1 Dec 2022 19:43:23 +0000 (20:43 +0100)]
Double-click on content list adds the content.

16 months agoAdd save button for playlist name.
Carl Hetherington [Thu, 1 Dec 2022 19:35:39 +0000 (20:35 +0100)]
Add save button for playlist name.

16 months agoExtract save_playlist().
Carl Hetherington [Thu, 1 Dec 2022 19:29:07 +0000 (20:29 +0100)]
Extract save_playlist().

16 months agoCheck for playlist directory on new playlist, rather than save.
Carl Hetherington [Thu, 1 Dec 2022 19:24:56 +0000 (20:24 +0100)]
Check for playlist directory on new playlist, rather than save.

16 months agoAdd bind().
Carl Hetherington [Thu, 1 Dec 2022 19:16:28 +0000 (20:16 +0100)]
Add bind().

16 months agoSet Delete button sensitivity correctly.
Carl Hetherington [Thu, 1 Dec 2022 19:13:14 +0000 (20:13 +0100)]
Set Delete button sensitivity correctly.

16 months agoExtract selected().
Carl Hetherington [Thu, 1 Dec 2022 19:12:56 +0000 (20:12 +0100)]
Extract selected().

16 months agoSetup editor sensitivity on startup.
Carl Hetherington [Thu, 1 Dec 2022 19:04:32 +0000 (20:04 +0100)]
Setup editor sensitivity on startup.

16 months agoDon't display first playlist on startup.
Carl Hetherington [Thu, 1 Dec 2022 19:02:09 +0000 (20:02 +0100)]
Don't display first playlist on startup.

16 months agoSave playlist when content is added, moved or removed.
Carl Hetherington [Thu, 1 Dec 2022 19:00:09 +0000 (20:00 +0100)]
Save playlist when content is added, moved or removed.

16 months agoRemove unnecessary non-const operator[].
Carl Hetherington [Thu, 1 Dec 2022 10:52:54 +0000 (11:52 +0100)]
Remove unnecessary non-const operator[].

16 months agoAdd and use SPL::swap().
Carl Hetherington [Thu, 1 Dec 2022 10:52:33 +0000 (11:52 +0100)]
Add and use SPL::swap().

16 months agoCleanup: white space.
Carl Hetherington [Thu, 1 Dec 2022 10:51:54 +0000 (11:51 +0100)]
Cleanup: white space.

16 months agoGeneralise the Changed message from SPL.
Carl Hetherington [Thu, 1 Dec 2022 10:34:09 +0000 (11:34 +0100)]
Generalise the Changed message from SPL.

16 months agoEscape entities just before Pango rendering (#2382). v2.16.35
Carl Hetherington [Wed, 30 Nov 2022 21:08:00 +0000 (22:08 +0100)]
Escape entities just before Pango rendering (#2382).

Previously, text coming out of the player would have things like
& escaped to &.  This escaping is also done by libxml++ when
writing XML, so doing it in the player would mean it was done
twice.

We do, however, need to escape things before passing them to Pango
as otherwise it gives errors and renders nothing for the line.

Here we move the escaping to just before the rendering, meaning
that in the reset of DoM we should pass unescaped strings around.

16 months agoAdd some failing tests.
Carl Hetherington [Wed, 30 Nov 2022 15:20:10 +0000 (16:20 +0100)]
Add some failing tests.

16 months agoSupporters update.
Carl Hetherington [Wed, 30 Nov 2022 23:41:18 +0000 (00:41 +0100)]
Supporters update.

16 months agoAdd default release territory configuration (#2375).
Carl Hetherington [Mon, 28 Nov 2022 23:06:29 +0000 (00:06 +0100)]
Add default release territory configuration (#2375).

16 months agoExtract RegionSubtagWidget.
Carl Hetherington [Mon, 28 Nov 2022 21:10:44 +0000 (22:10 +0100)]
Extract RegionSubtagWidget.

16 months agoAdd some comments.
Carl Hetherington [Thu, 24 Nov 2022 21:19:24 +0000 (22:19 +0100)]
Add some comments.

16 months agoAdd default audio language configuration (#2375).
Carl Hetherington [Wed, 23 Nov 2022 00:05:41 +0000 (01:05 +0100)]
Add default audio language configuration (#2375).

16 months agoRemove default container configuration option.
Carl Hetherington [Tue, 22 Nov 2022 23:01:54 +0000 (00:01 +0100)]
Remove default container configuration option.

I think this is basically useless now that DoM guesses a good container
when the first video is added.  It made more sense before we did that.

16 months agoSupporters update. v2.16.34
Carl Hetherington [Sat, 26 Nov 2022 17:41:20 +0000 (18:41 +0100)]
Supporters update.

16 months agoReturn AVERROR_EOF from the avio_read method when appropriate.
Carl Hetherington [Sat, 1 Oct 2022 18:11:40 +0000 (20:11 +0200)]
Return AVERROR_EOF from the avio_read method when appropriate.

16 months agoFix audio glitches when merging resampled audio (#2373).
Carl Hetherington [Tue, 22 Nov 2022 01:16:40 +0000 (02:16 +0100)]
Fix audio glitches when merging resampled audio (#2373).

16 months agoNoisy change to get film into AudioContent::modify_trim_start().
Carl Hetherington [Tue, 22 Nov 2022 01:16:16 +0000 (02:16 +0100)]
Noisy change to get film into AudioContent::modify_trim_start().

16 months agoRemove some backwards compatibility that will cause problems in an upcoming commit.
Carl Hetherington [Tue, 22 Nov 2022 00:48:37 +0000 (01:48 +0100)]
Remove some backwards compatibility that will cause problems in an upcoming commit.

16 months agoAdd another test, including a frame rate change.
Carl Hetherington [Tue, 22 Nov 2022 00:29:15 +0000 (01:29 +0100)]
Add another test, including a frame rate change.

16 months agoGive a slightly better error message in a failing test.
Carl Hetherington [Tue, 22 Nov 2022 00:28:24 +0000 (01:28 +0100)]
Give a slightly better error message in a failing test.

16 months agoAdd failing test for #2373.
Carl Hetherington [Mon, 21 Nov 2022 13:00:17 +0000 (14:00 +0100)]
Add failing test for #2373.

16 months ago_stream_states must be reset on seek otherwise #2368.
Carl Hetherington [Sun, 20 Nov 2022 21:03:38 +0000 (22:03 +0100)]
_stream_states must be reset on seek otherwise #2368.

16 months agoFix sound corruption with multiple sound files (#2368).
Carl Hetherington [Sat, 19 Nov 2022 16:16:38 +0000 (17:16 +0100)]
Fix sound corruption with multiple sound files (#2368).

last_push_end would be initialised to the position of the content,
meaning that content at (for example) 60s into the project would
be treated as the leader, and content much earlier would then be
considered finished by the code which checks ignore_streams_behind
(as its last push was more then 5s before the leader).

This caused audio corruption, shown up by the test here.

16 months agoCleanup: use dcp_file().
Carl Hetherington [Sat, 19 Nov 2022 16:16:17 +0000 (17:16 +0100)]
Cleanup: use dcp_file().

16 months agoMore warning fixes.
Carl Hetherington [Fri, 25 Nov 2022 15:29:17 +0000 (16:29 +0100)]
More warning fixes.

16 months agoMore warning fixes.
Carl Hetherington [Fri, 25 Nov 2022 14:35:38 +0000 (15:35 +0100)]
More warning fixes.