dcpomatic.git
18 months agoChange how video timing is done. v2.17.3
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.

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

18 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

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

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

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

18 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"

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

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

18 months agoBump libdcp to fix crash when verifying encrypted 3D DCPs. v2.16.30
Carl Hetherington [Tue, 11 Oct 2022 22:56:40 +0000 (00:56 +0200)]
Bump libdcp to fix crash when verifying encrypted 3D DCPs.

18 months agoHack to fix wxChoice heights on KDE (#2343).
Carl Hetherington [Sun, 9 Oct 2022 23:12:29 +0000 (01:12 +0200)]
Hack to fix wxChoice heights on KDE (#2343).

18 months agoRename all_markers() and stop it being possible to set FFOC/LFOC.
Carl Hetherington [Sun, 9 Oct 2022 22:22:22 +0000 (00:22 +0200)]
Rename all_markers() and stop it being possible to set FFOC/LFOC.

18 months agoCleanup: use newer syntax to make a vector.
Carl Hetherington [Sun, 9 Oct 2022 22:19:02 +0000 (00:19 +0200)]
Cleanup: use newer syntax to make a vector.

18 months agoAdd a test.
Carl Hetherington [Sun, 9 Oct 2022 22:12:37 +0000 (00:12 +0200)]
Add a test.

18 months agoSupport drag and drop onto the content list (#1220). v2.16.29
Carl Hetherington [Tue, 4 Oct 2022 22:51:48 +0000 (00:51 +0200)]
Support drag and drop onto the content list (#1220).

18 months agoAdd contains_assetmap()
Carl Hetherington [Tue, 4 Oct 2022 22:51:09 +0000 (00:51 +0200)]
Add contains_assetmap()

18 months agoSupport drag-and-drop of DCPs onto the player (#1220).
Carl Hetherington [Tue, 4 Oct 2022 22:26:39 +0000 (00:26 +0200)]
Support drag-and-drop of DCPs onto the player (#1220).

18 months agoCleanup: remove old comment.
Carl Hetherington [Tue, 4 Oct 2022 22:26:19 +0000 (00:26 +0200)]
Cleanup: remove old comment.

18 months agoAdd a Cancel button to the LanguageTagDialog.
Carl Hetherington [Tue, 4 Oct 2022 22:03:09 +0000 (00:03 +0200)]
Add a Cancel button to the LanguageTagDialog.

18 months agoMake Enter confirm OK in the language tag dialog (#2345).
Carl Hetherington [Tue, 4 Oct 2022 22:00:00 +0000 (00:00 +0200)]
Make Enter confirm OK in the language tag dialog (#2345).

18 months agoTidy up the layout of the TemplatesDialog a bit.
Carl Hetherington [Tue, 4 Oct 2022 21:46:54 +0000 (23:46 +0200)]
Tidy up the layout of the TemplatesDialog a bit.

18 months agoSupporters update.
Carl Hetherington [Tue, 4 Oct 2022 18:50:46 +0000 (20:50 +0200)]
Supporters update.

18 months agoFix wxWidgets assertion on opening the video filters selector.
Carl Hetherington [Tue, 4 Oct 2022 18:50:00 +0000 (20:50 +0200)]
Fix wxWidgets assertion on opening the video filters selector.

18 months agoCleanup: remove unnecessary if
Carl Hetherington [Sat, 1 Oct 2022 10:22:10 +0000 (12:22 +0200)]
Cleanup: remove unnecessary if

18 months agoCleanup: replace very short but long-lasting variable name.
Carl Hetherington [Sat, 1 Oct 2022 10:19:50 +0000 (12:19 +0200)]
Cleanup: replace very short but long-lasting variable name.

18 months agoFix checking of frame channels vs stream channels.
Carl Hetherington [Sat, 1 Oct 2022 10:04:12 +0000 (12:04 +0200)]
Fix checking of frame channels vs stream channels.

The comment says that we're handling differences between channel
counts in the frame and stream but the code wasn't doing that.

18 months agoRemove unused variable.
Carl Hetherington [Thu, 29 Sep 2022 09:53:38 +0000 (11:53 +0200)]
Remove unused variable.

18 months agoReplace directory with folder in some messages.
Carl Hetherington [Tue, 27 Sep 2022 22:39:39 +0000 (00:39 +0200)]
Replace directory with folder in some messages.

18 months agoAdd basic KDM information to the player (#2225).
Carl Hetherington [Thu, 21 Jul 2022 19:09:30 +0000 (21:09 +0200)]
Add basic KDM information to the player (#2225).

18 months agoUse EnumIndexedVector in Image.
Carl Hetherington [Mon, 26 Sep 2022 23:01:10 +0000 (01:01 +0200)]
Use EnumIndexedVector in Image.

18 months agoUse EnumIndexedVector in J2KEncoder.
Carl Hetherington [Mon, 26 Sep 2022 22:56:15 +0000 (00:56 +0200)]
Use EnumIndexedVector in J2KEncoder.

18 months agoCleanup: sorting things.
Carl Hetherington [Mon, 26 Sep 2022 22:56:04 +0000 (00:56 +0200)]
Cleanup: sorting things.

18 months agoUse EnumIndexedVector in ReelWriter.
Carl Hetherington [Mon, 26 Sep 2022 22:52:20 +0000 (00:52 +0200)]
Use EnumIndexedVector in ReelWriter.

18 months agoUse EnumIndexedVector in Player.
Carl Hetherington [Mon, 26 Sep 2022 22:50:35 +0000 (00:50 +0200)]
Use EnumIndexedVector in Player.

18 months agoUse EnumIndexedVector in ContentPanel.
Carl Hetherington [Mon, 26 Sep 2022 22:44:25 +0000 (00:44 +0200)]
Use EnumIndexedVector in ContentPanel.

18 months agoUse EnumIndexedVector in DCPExaminer.
Carl Hetherington [Mon, 26 Sep 2022 22:35:42 +0000 (00:35 +0200)]
Use EnumIndexedVector in DCPExaminer.

18 months agoUse EnumIndexedVector in DCPContent.
Carl Hetherington [Mon, 26 Sep 2022 22:34:17 +0000 (00:34 +0200)]
Use EnumIndexedVector in DCPContent.

19 months agoAdd EnumIndexedVector.
Carl Hetherington [Mon, 26 Sep 2022 22:18:36 +0000 (00:18 +0200)]
Add EnumIndexedVector.

19 months agoTypo in comment.
Carl Hetherington [Tue, 13 Sep 2022 18:46:15 +0000 (20:46 +0200)]
Typo in comment.

19 months agoBump libdcp for fix to #2344.
Carl Hetherington [Mon, 26 Sep 2022 18:40:43 +0000 (20:40 +0200)]
Bump libdcp for fix to #2344.

19 months agoSupporters update. v2.16.28
Carl Hetherington [Mon, 26 Sep 2022 09:10:56 +0000 (11:10 +0200)]
Supporters update.

19 months agoFix build on older boosts, again.
Carl Hetherington [Mon, 26 Sep 2022 07:14:24 +0000 (09:14 +0200)]
Fix build on older boosts, again.

19 months agoFix build on older boosts.
Carl Hetherington [Mon, 26 Sep 2022 05:53:56 +0000 (07:53 +0200)]
Fix build on older boosts.

19 months agoProvide a similar fix to the one in ff639b3cf30afcc097bfd21d39c8d15f466cadd6
Carl Hetherington [Sun, 25 Sep 2022 23:02:43 +0000 (01:02 +0200)]
Provide a similar fix to the one in ff639b3cf30afcc097bfd21d39c8d15f466cadd6
for DCPs that contain subtitle files without <Font> tags.

19 months agoMove Editor class to test.{cc,h}
Carl Hetherington [Sun, 25 Sep 2022 23:02:17 +0000 (01:02 +0200)]
Move Editor class to test.{cc,h}

19 months agoRemove a rather excessive log message.
Carl Hetherington [Sun, 25 Sep 2022 21:01:24 +0000 (23:01 +0200)]
Remove a rather excessive log message.

19 months agoLink to standard DCP naming scheme in the manual (#2340).
Carl Hetherington [Sun, 25 Sep 2022 15:48:31 +0000 (17:48 +0200)]
Link to standard DCP naming scheme in the manual (#2340).

19 months agoPython 3 compatibility for pptext.py
Carl Hetherington [Sat, 24 Sep 2022 20:48:33 +0000 (22:48 +0200)]
Python 3 compatibility for pptext.py

19 months agoDocument the audio language checkbox (#2340).
Carl Hetherington [Sat, 24 Sep 2022 20:48:25 +0000 (22:48 +0200)]
Document the audio language checkbox (#2340).

19 months agoNew DCP tab screenshot (#2340).
Carl Hetherington [Sat, 24 Sep 2022 20:48:17 +0000 (22:48 +0200)]
New DCP tab screenshot (#2340).

19 months agoAdd some notes on screenshots to DEVELOP.md.
Carl Hetherington [Sat, 24 Sep 2022 20:32:45 +0000 (22:32 +0200)]
Add some notes on screenshots to DEVELOP.md.

19 months agoUpdate test references for change to default .srt position. v2.16.27
Carl Hetherington [Fri, 23 Sep 2022 12:31:10 +0000 (14:31 +0200)]
Update test references for change to default .srt position.

19 months agoWork around strange build error on Ubuntu 18.04
Carl Hetherington [Fri, 23 Sep 2022 08:00:18 +0000 (10:00 +0200)]
Work around strange build error on Ubuntu 18.04

tmp/cc4JuI65.s: Assembler messages:
/tmp/cc4JuI65.s:174: Error: symbol `_ZNSt14_Function_base13_Base_managerIUlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE_E10_M_managerERSt9_Any_dataRKS9_St18_Manager_operation' is already defined

19 months agoFix confusion about which test/data branch we're using (should be master).
Carl Hetherington [Thu, 22 Sep 2022 07:31:25 +0000 (09:31 +0200)]
Fix confusion about which test/data branch we're using (should be master).

19 months agoSupporters update.
Carl Hetherington [Wed, 21 Sep 2022 20:41:20 +0000 (22:41 +0200)]
Supporters update.

19 months agoFix font_id_map errors when importing DCP subtitles that have no
Carl Hetherington [Tue, 20 Sep 2022 10:22:02 +0000 (12:22 +0200)]
Fix font_id_map errors when importing DCP subtitles that have no
font declarations / tags (#2339).

19 months agoFix subtitle_file() to find both Interop and SMPTE subtitles.
Carl Hetherington [Tue, 20 Sep 2022 19:23:40 +0000 (21:23 +0200)]
Fix subtitle_file() to find both Interop and SMPTE subtitles.

19 months agoAlso bump asdcplib for the same reason.
Carl Hetherington [Mon, 19 Sep 2022 22:07:06 +0000 (00:07 +0200)]
Also bump asdcplib for the same reason.

19 months agoBump waf here and in dependencies for Python 3.10 support.
Carl Hetherington [Mon, 19 Sep 2022 22:00:07 +0000 (00:00 +0200)]
Bump waf here and in dependencies for Python 3.10 support.

19 months agoSupport Ubuntu 22.10 builds.
Carl Hetherington [Mon, 19 Sep 2022 21:13:14 +0000 (23:13 +0200)]
Support Ubuntu 22.10 builds.

19 months agoFix default placement of SRT (etc.) now that the alignment has changed
Carl Hetherington [Mon, 19 Sep 2022 21:08:21 +0000 (23:08 +0200)]
Fix default placement of SRT (etc.) now that the alignment has changed

19 months agoFix incorrect subtitle outline rectangle display when subtitles
Carl Hetherington [Mon, 19 Sep 2022 19:16:18 +0000 (21:16 +0200)]
Fix incorrect subtitle outline rectangle display when subtitles
were analysed at non-zero offsets (#2336).

19 months agoFix typo in log message.
Carl Hetherington [Sat, 17 Sep 2022 21:47:46 +0000 (23:47 +0200)]
Fix typo in log message.

19 months agoWhen emailing multiple addresses, put one in To: and the rest in CC: (#2310).
Carl Hetherington [Sat, 17 Sep 2022 21:36:26 +0000 (23:36 +0200)]
When emailing multiple addresses, put one in To: and the rest in CC: (#2310).

19 months agoDon't try to send KDM email unless we have a from address.
Carl Hetherington [Sat, 17 Sep 2022 21:36:22 +0000 (23:36 +0200)]
Don't try to send KDM email unless we have a from address.

19 months agoAllow specification of the CPL ID to use in a DCP with _create (#2302).
Carl Hetherington [Sat, 17 Sep 2022 20:32:04 +0000 (22:32 +0200)]
Allow specification of the CPL ID to use in a DCP with _create (#2302).

19 months agoDon't dump empty error details.
Carl Hetherington [Sat, 17 Sep 2022 20:31:49 +0000 (22:31 +0200)]
Don't dump empty error details.

19 months agoCatch CPLNotFoundError more nicely.
Carl Hetherington [Sat, 17 Sep 2022 20:31:24 +0000 (22:31 +0200)]
Catch CPLNotFoundError more nicely.

19 months agoGive a better error if a specified CPL does not exist.
Carl Hetherington [Sat, 17 Sep 2022 20:31:09 +0000 (22:31 +0200)]
Give a better error if a specified CPL does not exist.

19 months agoAdd default parameter for the detail in set_error().
Carl Hetherington [Sat, 17 Sep 2022 20:30:23 +0000 (22:30 +0200)]
Add default parameter for the detail in set_error().

19 months agoUpdated hu_HU translation from Áron Németh.
Carl Hetherington [Sat, 17 Sep 2022 18:02:48 +0000 (20:02 +0200)]
Updated hu_HU translation from Áron Németh.

19 months agoFix black borders around the preview in some cases (#2331).
Carl Hetherington [Wed, 14 Sep 2022 23:03:51 +0000 (01:03 +0200)]
Fix black borders around the preview in some cases (#2331).

We need to round the container size to the nearest multiple of 2
so that cropping subsampled sources does not leave gaps.  As far
as I can see:

- the direction that you round x in doesn't matter
- it's better to round y up

(if you calculate the error in the resulting ratio in each case).

19 months agoFix some spelling mistakes (mostly in comments).
Carl Hetherington [Wed, 14 Sep 2022 23:15:55 +0000 (01:15 +0200)]
Fix some spelling mistakes (mostly in comments).

19 months agoFurther tweak button name in manual.
Carl Hetherington [Wed, 14 Sep 2022 15:39:34 +0000 (17:39 +0200)]
Further tweak button name in manual.

19 months agoUpdate wording to reality
Tomáš Hnyk [Wed, 14 Sep 2022 11:34:10 +0000 (13:34 +0200)]
Update wording to reality

19 months agoUpdated nl_NL translation from Rob van Nieuwkerk.
Carl Hetherington [Tue, 13 Sep 2022 11:22:44 +0000 (13:22 +0200)]
Updated nl_NL translation from Rob van Nieuwkerk.

19 months agoFix build on Centos where we don't have the std::atomic_store stuff apparently. v2.16.26
Carl Hetherington [Sun, 11 Sep 2022 10:22:21 +0000 (12:22 +0200)]
Fix build on Centos where we don't have the std::atomic_store stuff apparently.

19 months agoDon't throw an exception if reading a encode server response fails (#2320).
Carl Hetherington [Mon, 5 Sep 2022 12:30:30 +0000 (14:30 +0200)]
Don't throw an exception if reading a encode server response fails (#2320).

19 months agoSupporters update. v2.16.25
Carl Hetherington [Sun, 11 Sep 2022 07:35:25 +0000 (09:35 +0200)]
Supporters update.

19 months agoMerge branch '2323-player-locking'
Carl Hetherington [Sun, 11 Sep 2022 07:32:06 +0000 (09:32 +0200)]
Merge branch '2323-player-locking'

Various attempts to tidy up and fix the locking of Player (#2323).

19 months agoUse atomic shared_ptr stuff for _black_frame.
Carl Hetherington [Sat, 10 Sep 2022 18:14:27 +0000 (20:14 +0200)]
Use atomic shared_ptr stuff for _black_frame.

19 months agoUse atomic for _playback_length.
Carl Hetherington [Sat, 10 Sep 2022 17:14:04 +0000 (19:14 +0200)]
Use atomic for _playback_length.

19 months agoIt's now safe to get _video_container_size without the lock.
Carl Hetherington [Sat, 10 Sep 2022 17:13:58 +0000 (19:13 +0200)]
It's now safe to get _video_container_size without the lock.

19 months agoMove get_reel_assets() out of Player, as it doesn't need to be there.
Carl Hetherington [Sat, 10 Sep 2022 17:09:07 +0000 (19:09 +0200)]
Move get_reel_assets() out of Player, as it doesn't need to be there.

19 months agoconst correctness.
Carl Hetherington [Sat, 10 Sep 2022 16:39:12 +0000 (18:39 +0200)]
const correctness.

19 months agoRemove now-unused setup_pieces_unlocked()
Carl Hetherington [Sat, 10 Sep 2022 16:32:08 +0000 (18:32 +0200)]
Remove now-unused setup_pieces_unlocked()

19 months agoUse atomic for _dcp_decode_reduction.
Carl Hetherington [Sat, 10 Sep 2022 16:18:45 +0000 (18:18 +0200)]
Use atomic for _dcp_decode_reduction.

19 months agoUse atomic for _video_container_size.
Carl Hetherington [Sat, 10 Sep 2022 15:52:20 +0000 (17:52 +0200)]
Use atomic for _video_container_size.

19 months agoUse atomic for _play_referenced.
Carl Hetherington [Sat, 10 Sep 2022 13:43:18 +0000 (15:43 +0200)]
Use atomic for _play_referenced.

19 months agoUse atomic for _fast.
Carl Hetherington [Sat, 10 Sep 2022 13:41:14 +0000 (15:41 +0200)]
Use atomic for _fast.

19 months agoUse atomic for _always_burn_open_subtitles.
Carl Hetherington [Sat, 10 Sep 2022 13:40:07 +0000 (15:40 +0200)]
Use atomic for _always_burn_open_subtitles.

19 months agoUse atomic for _ignore_text.
Carl Hetherington [Sat, 10 Sep 2022 13:37:31 +0000 (15:37 +0200)]
Use atomic for _ignore_text.

19 months agoUse atomic for _ignore_audio.
Carl Hetherington [Sat, 10 Sep 2022 13:34:14 +0000 (15:34 +0200)]
Use atomic for _ignore_audio.

19 months agoUse atomic for _ignore_video.
Carl Hetherington [Sat, 10 Sep 2022 13:32:24 +0000 (15:32 +0200)]
Use atomic for _ignore_video.

19 months agoTrim some includes.
Carl Hetherington [Sat, 10 Sep 2022 13:29:17 +0000 (15:29 +0200)]
Trim some includes.

19 months agoSome improved logging.
Carl Hetherington [Fri, 9 Sep 2022 22:45:11 +0000 (00:45 +0200)]
Some improved logging.

19 months agoSome const-correctness for Player.
Carl Hetherington [Fri, 9 Sep 2022 22:43:59 +0000 (00:43 +0200)]
Some const-correctness for Player.

19 months agoconst correctness for AudioMerger.
Carl Hetherington [Fri, 9 Sep 2022 22:42:20 +0000 (00:42 +0200)]
const correctness for AudioMerger.

19 months agoBuild fixes.
Carl Hetherington [Fri, 9 Sep 2022 23:05:45 +0000 (01:05 +0200)]
Build fixes.

19 months agoSupport YUV444P10LE in make_part_black().
Carl Hetherington [Sat, 10 Sep 2022 18:59:52 +0000 (20:59 +0200)]
Support YUV444P10LE in make_part_black().