dcpomatic.git
6 months agofixup! FIXME: bump libdcp for things that grok needs. grok2
Carl Hetherington [Wed, 18 Oct 2023 09:12:46 +0000 (11:12 +0200)]
fixup! FIXME: bump libdcp for things that grok needs.

6 months agofixup! Patch from Aaron Boxer adding initial support for GPU-powered J2K encoding...
Carl Hetherington [Wed, 18 Oct 2023 08:20:02 +0000 (10:20 +0200)]
fixup! Patch from Aaron Boxer adding initial support for GPU-powered J2K encoding via his tool "grok".

6 months agoMake stop() private and use drop() instead.
Carl Hetherington [Sun, 8 Oct 2023 13:48:58 +0000 (15:48 +0200)]
Make stop() private and use drop() instead.

This avoids confusing situations where we call stop(), then try
to restart the finder (unsuccessfully, because once it's stop()ped
it will stay around, never to be restarted).

6 months agoClean up grok's presence in the config file and make sure it's optional.
Carl Hetherington [Fri, 6 Oct 2023 20:42:44 +0000 (22:42 +0200)]
Clean up grok's presence in the config file and make sure it's optional.

It should be allowed to not have any grok stuff in the config file,
and we should generally call it grok rather than GPU in case
other non-grok GPU stuff arrives in the future.

6 months agoRemove a directory created by the config machinery to avoid confusion.
Carl Hetherington [Fri, 6 Oct 2023 20:42:15 +0000 (22:42 +0200)]
Remove a directory created by the config machinery to avoid confusion.

6 months agoAdd another manual dependency.
Carl Hetherington [Fri, 6 Oct 2023 19:38:50 +0000 (21:38 +0200)]
Add another manual dependency.

6 months agoCleanup: whitespace / coding style.
Carl Hetherington [Fri, 6 Oct 2023 19:27:39 +0000 (21:27 +0200)]
Cleanup: whitespace / coding style.

6 months agoCleanup: whitespace to reduce the diff.
Carl Hetherington [Wed, 4 Oct 2023 17:51:54 +0000 (19:51 +0200)]
Cleanup: whitespace to reduce the diff.

6 months agoCleanup: include ordering.
Carl Hetherington [Wed, 4 Oct 2023 17:51:45 +0000 (19:51 +0200)]
Cleanup: include ordering.

6 months agoDon't pollute the global namespace with a namespace called fs.
Carl Hetherington [Wed, 4 Oct 2023 17:47:32 +0000 (19:47 +0200)]
Don't pollute the global namespace with a namespace called fs.

6 months agoAnother patch from Aaron.
Carl Hetherington [Wed, 4 Oct 2023 17:11:45 +0000 (19:11 +0200)]
Another patch from Aaron.

6 months agoLog failure to schedule a frame with grok.
Carl Hetherington [Wed, 4 Oct 2023 13:36:55 +0000 (15:36 +0200)]
Log failure to schedule a frame with grok.

6 months agoCleanup: coding style.
Carl Hetherington [Tue, 26 Sep 2023 18:59:39 +0000 (20:59 +0200)]
Cleanup: coding style.

6 months agoLooks like we also need an explicit dep on messenger.h
Carl Hetherington [Tue, 26 Sep 2023 18:56:19 +0000 (20:56 +0200)]
Looks like we also need an explicit dep on messenger.h

6 months agoCleanup: coding style.
Carl Hetherington [Tue, 26 Sep 2023 18:53:43 +0000 (20:53 +0200)]
Cleanup: coding style.

6 months agoHack to make sure the right things are rebuilt when grok headers change.
Carl Hetherington [Tue, 26 Sep 2023 18:46:08 +0000 (20:46 +0200)]
Hack to make sure the right things are rebuilt when grok headers change.

6 months agoForward-declare grk_plugin stuff.
Carl Hetherington [Tue, 26 Sep 2023 11:32:00 +0000 (13:32 +0200)]
Forward-declare grk_plugin stuff.

6 months agoCreate a single DcpomaticContext for all GrokContexts, rather than copying them.
Carl Hetherington [Tue, 26 Sep 2023 11:29:59 +0000 (13:29 +0200)]
Create a single DcpomaticContext for all GrokContexts, rather than copying them.

I think this makes sense, and also allows us to forward-declare the
contexts in a forthcoming commit.

6 months agoCleanup: reformat and rename dcpomaticContext_ -> _dcpomatic_context
Carl Hetherington [Tue, 26 Sep 2023 11:11:36 +0000 (13:11 +0200)]
Cleanup: reformat and rename dcpomaticContext_ -> _dcpomatic_context

6 months agoCleanup: sorting.
Carl Hetherington [Tue, 26 Sep 2023 11:00:16 +0000 (13:00 +0200)]
Cleanup: sorting.

6 months agoUse GPU not Gpu for config element names.
Carl Hetherington [Sun, 24 Sep 2023 15:26:31 +0000 (17:26 +0200)]
Use GPU not Gpu for config element names.

6 months agoUse boost::filesystem::path for gpu_binary_location().
Carl Hetherington [Sun, 24 Sep 2023 15:23:57 +0000 (17:23 +0200)]
Use boost::filesystem::path for gpu_binary_location().

6 months agoCleanup: use dcp::ArrayData instead of home-grown version.
Carl Hetherington [Sun, 24 Sep 2023 15:04:34 +0000 (17:04 +0200)]
Cleanup: use dcp::ArrayData instead of home-grown version.

6 months agoCleanup: remove unnecessary forward declaration.
Carl Hetherington [Sun, 24 Sep 2023 15:04:21 +0000 (17:04 +0200)]
Cleanup: remove unnecessary forward declaration.

6 months agoAdd missing copyright banner.
Carl Hetherington [Sun, 24 Sep 2023 14:54:11 +0000 (16:54 +0200)]
Add missing copyright banner.

6 months agoRemove C++17-ism.
Carl Hetherington [Sun, 24 Sep 2023 14:44:27 +0000 (16:44 +0200)]
Remove C++17-ism.

6 months agoCopy-edit GUI strings.
Carl Hetherington [Sun, 24 Sep 2023 14:41:57 +0000 (16:41 +0200)]
Copy-edit GUI strings.

6 months agoCheck for errors when calling the GPU lister.
Carl Hetherington [Sun, 24 Sep 2023 14:39:27 +0000 (16:39 +0200)]
Check for errors when calling the GPU lister.

6 months agoFIXME: bump libdcp for things that grok needs.
Carl Hetherington [Sun, 24 Sep 2023 11:42:05 +0000 (13:42 +0200)]
FIXME: bump libdcp for things that grok needs.

6 months agoHide compiler warning.
Carl Hetherington [Sun, 24 Sep 2023 11:13:40 +0000 (13:13 +0200)]
Hide compiler warning.

In file included from ../src/lib/grok/context.h:29,
                 from ../src/lib/j2k_encoder.h:36,
                 from ../src/lib/grok_j2k_encoder_thread.cc:5:
In member function ‘void grk_plugin::Synch::unlink()’,
    inlined from ‘grk_plugin::Synch::Synch(const string&, const string&)’ at ../src/lib/grok/messenger.h:200:10:
../src/lib/grok/messenger.h:247:52: error: ‘this’ pointer is null [-Werror=nonnull]
  247 |                         getMessengerLogger()->error("Error unlinking semaphore %s: %s", sentSemName_.c_str(),
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  248 |                                                                                 strerror(errno));

on Ubuntu 22.04.

6 months agoOnly build grok for Ubuntu 22.04.
Carl Hetherington [Sun, 24 Sep 2023 10:09:16 +0000 (12:09 +0200)]
Only build grok for Ubuntu 22.04.

6 months agoExplicitly set up Grok logger rather than relying on a static variable.
Carl Hetherington [Sun, 24 Sep 2023 10:02:19 +0000 (12:02 +0200)]
Explicitly set up Grok logger rather than relying on a static variable.

6 months agoRemove unnecessary using statements.
Carl Hetherington [Sun, 24 Sep 2023 10:01:54 +0000 (12:01 +0200)]
Remove unnecessary using statements.

6 months agoRearrange encoder threading.
Carl Hetherington [Sat, 23 Sep 2023 22:34:15 +0000 (00:34 +0200)]
Rearrange encoder threading.

Soon we'll add a new encoder type, and the existing structure was
already creaking a bit at the seams while handling local and remote
encodes.  Here we split out an encoder thread and introduce the concept
of a "sync" thread (which blocks while the encoding is happening).
Later we'll have another type which submits the encode request to a
GPU and receives the reply back later.

6 months agoRemove check for _threads being null, as I think it should not happen.
Carl Hetherington [Sun, 10 Sep 2023 21:46:19 +0000 (23:46 +0200)]
Remove check for _threads being null, as I think it should not happen.

6 months agoCleanup: white space.
Carl Hetherington [Sun, 10 Sep 2023 21:45:56 +0000 (23:45 +0200)]
Cleanup: white space.

6 months agoFurther patch from Aaron.
Carl Hetherington [Sun, 3 Sep 2023 22:58:19 +0000 (00:58 +0200)]
Further patch from Aaron.

6 months agoTidy up some includes / forward declarations.
Carl Hetherington [Sun, 9 Jul 2023 21:25:36 +0000 (23:25 +0200)]
Tidy up some includes / forward declarations.

6 months agoCleanup: white space tidying.
Carl Hetherington [Sun, 9 Jul 2023 21:22:20 +0000 (23:22 +0200)]
Cleanup: white space tidying.

6 months agoChange end() to only do one thing, and copy the required stuff into pause()
Carl Hetherington [Sun, 9 Jul 2023 21:18:40 +0000 (23:18 +0200)]
Change end() to only do one thing, and copy the required stuff into pause()

6 months agoRemove default constructor from DCPVideo.
Carl Hetherington [Fri, 7 Jul 2023 23:13:04 +0000 (01:13 +0200)]
Remove default constructor from DCPVideo.

6 months agoFormatting, variable name tidying and some const correctness.
Carl Hetherington [Fri, 7 Jul 2023 22:20:15 +0000 (00:20 +0200)]
Formatting, variable name tidying and some const correctness.

6 months agoMove grok headers into src/wx/grok
Carl Hetherington [Fri, 7 Jul 2023 21:42:08 +0000 (23:42 +0200)]
Move grok headers into src/wx/grok

6 months agoMove grok headers into src/lib/grok
Carl Hetherington [Fri, 7 Jul 2023 21:24:45 +0000 (23:24 +0200)]
Move grok headers into src/lib/grok

6 months agoPatch from Aaron Boxer adding initial support for GPU-powered J2K encoding via his...
Carl Hetherington [Thu, 6 Jul 2023 21:09:08 +0000 (23:09 +0200)]
Patch from Aaron Boxer adding initial support for GPU-powered J2K encoding via his tool "grok".

6 months agoBump ffmpeg to get some fixes that were on dcpomatic-14 but not dcpomatic-16.
Carl Hetherington [Fri, 15 Sep 2023 15:20:22 +0000 (17:20 +0200)]
Bump ffmpeg to get some fixes that were on dcpomatic-14 but not dcpomatic-16.

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

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

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

6 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

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

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

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

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

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

6 months agoRemove unused code.
Carl Hetherington [Mon, 16 Oct 2023 09:30:27 +0000 (11:30 +0200)]
Remove unused code.

6 months agoThis test suddenly just started failing with
Carl Hetherington [Sun, 15 Oct 2023 22:40:28 +0000 (00:40 +0200)]
This test suddenly just started failing with
opj_int_fix_mul: Assertion `(temp >> 13) <= (OPJ_INT64)0x7FFFFFFF' failed.
which is odd - why now?

Anywhere here we limit the OpenJPEG image values to what I think is
the "legal" range.

6 months agoSupporters update. v2.16.66
Carl Hetherington [Sun, 15 Oct 2023 15:34:33 +0000 (17:34 +0200)]
Supporters update.

6 months agoSupporters update.
Carl Hetherington [Sun, 15 Oct 2023 07:16:49 +0000 (09:16 +0200)]
Supporters update.

6 months agoFix DCP content font ID allocation to cope with DCPs that have multiple fonts
Carl Hetherington [Sat, 14 Oct 2023 19:48:25 +0000 (21:48 +0200)]
Fix DCP content font ID allocation to cope with DCPs that have multiple fonts
with the same name in the same reel (#2600).

Previously we had this id_for_font_in_reel() which would give an ID
of N_font-ID.  This means we got duplicate font IDs.

Here we replace that method with FontAllocator, which gives an ID of
N_font-ID for the first font and M_font-ID, where M is a number higher than
the highest reel index.  The idea is to support the required new IDs
without breaking exisiting projects.

There is some documentation of how it works  in doc/design/fonts

6 months agoCleanup: assert.
Carl Hetherington [Sat, 14 Oct 2023 19:43:52 +0000 (21:43 +0200)]
Cleanup: assert.

6 months agoCleanup: rename sc -> subtitle_asset
Carl Hetherington [Sat, 14 Oct 2023 19:41:15 +0000 (21:41 +0200)]
Cleanup: rename sc -> subtitle_asset

6 months agoCleanup: assert result of get_font().
Carl Hetherington [Sat, 14 Oct 2023 19:40:32 +0000 (21:40 +0200)]
Cleanup: assert result of get_font().

6 months agoBump libdcp for channel ID fix (#2629).
Carl Hetherington [Thu, 12 Oct 2023 08:50:24 +0000 (10:50 +0200)]
Bump libdcp for channel ID fix (#2629).

6 months agoAnother compilation error fix for old toolchains.
Carl Hetherington [Tue, 10 Oct 2023 18:35:16 +0000 (20:35 +0200)]
Another compilation error fix for old toolchains.

6 months agoCleanup: remove unnecessary namespace.
Carl Hetherington [Tue, 10 Oct 2023 18:35:06 +0000 (20:35 +0200)]
Cleanup: remove unnecessary namespace.

6 months agoApply another fix for a weird compilation error on old compilers.
Carl Hetherington [Tue, 10 Oct 2023 17:32:37 +0000 (19:32 +0200)]
Apply another fix for a weird compilation error on old compilers.

6 months agoBump libdcp for fixes to build on Ubuntu 16.04 etc.
Carl Hetherington [Tue, 10 Oct 2023 10:12:54 +0000 (12:12 +0200)]
Bump libdcp for fixes to build on Ubuntu 16.04 etc.

6 months agoAdd new "copy markers from this DCP" option (#2628).
Carl Hetherington [Mon, 9 Oct 2023 23:05:27 +0000 (01:05 +0200)]
Add new "copy markers from this DCP" option (#2628).

Also stop the "copy settings" options from doing this, as Carsten points
out that it could be confusing and potentially very bad if you copy
markers from an OV to an edited VF which then bring house lights up at
the wrong time or whatever.

6 months agoRename copy_dcp_details_to_film -> copy_dcp_settings_to_film.
Carl Hetherington [Mon, 9 Oct 2023 22:58:39 +0000 (00:58 +0200)]
Rename copy_dcp_details_to_film -> copy_dcp_settings_to_film.

6 months agoSupporters update.
Carl Hetherington [Mon, 9 Oct 2023 21:52:16 +0000 (23:52 +0200)]
Supporters update.

6 months agoUse dcp::filesystem to wrap filesystem calls and fix_long_path
Carl Hetherington [Fri, 6 Oct 2023 00:37:16 +0000 (02:37 +0200)]
Use dcp::filesystem to wrap filesystem calls and fix_long_path
anything that is passed to read_file() from libcxml.

This should fix #2623 and other similar problems.

6 months agoBump libdcp for new filesystem wrappers.
Carl Hetherington [Wed, 4 Oct 2023 22:20:27 +0000 (00:20 +0200)]
Bump libdcp for new filesystem wrappers.

6 months agoBump leqm-nrt to build with -O2 for a large speed-up (#2616).
Carl Hetherington [Sun, 8 Oct 2023 21:04:59 +0000 (23:04 +0200)]
Bump leqm-nrt to build with -O2 for a large speed-up (#2616).

6 months agoFix flickering timeline drags on Windows (#2625).
Carl Hetherington [Wed, 4 Oct 2023 23:17:16 +0000 (01:17 +0200)]
Fix flickering timeline drags on Windows (#2625).

6 months agoYou are advised -> It is advisable (#2189).
Carl Hetherington [Mon, 2 Oct 2023 21:41:06 +0000 (23:41 +0200)]
You are advised -> It is advisable (#2189).

6 months agoCleanup: use a lambda.
Carl Hetherington [Sat, 30 Sep 2023 20:58:45 +0000 (22:58 +0200)]
Cleanup: use a lambda.

6 months agoFix test/data branching SNAFU.
Carl Hetherington [Sat, 30 Sep 2023 10:35:26 +0000 (12:35 +0200)]
Fix test/data branching SNAFU.

6 months agoAllow DCP content type from template to work.
Carl Hetherington [Sat, 30 Sep 2023 10:32:42 +0000 (12:32 +0200)]
Allow DCP content type from template to work.

6 months agoAllow SMPTE/interop setting from template to work.
Carl Hetherington [Sat, 30 Sep 2023 10:28:05 +0000 (12:28 +0200)]
Allow SMPTE/interop setting from template to work.

6 months agoAdd --no-encrypt with the same idea as the previous commit.
Carl Hetherington [Sat, 30 Sep 2023 10:09:00 +0000 (12:09 +0200)]
Add --no-encrypt with the same idea as the previous commit.

6 months agoAdd --twod option to create CLI and stop 2D from being forced over
Carl Hetherington [Sat, 30 Sep 2023 09:58:29 +0000 (11:58 +0200)]
Add --twod option to create CLI and stop 2D from being forced over
a template if --threed is not specified (#2620/GH#22).

6 months agoCleanup: add some _ prefixes.
Carl Hetherington [Sat, 30 Sep 2023 09:42:26 +0000 (11:42 +0200)]
Cleanup: add some _ prefixes.

6 months agoCleanup: make some variables private.
Carl Hetherington [Sat, 30 Sep 2023 09:37:34 +0000 (11:37 +0200)]
Cleanup: make some variables private.

6 months agoCleanup: extract some stuff to a method in CreateCLI.
Carl Hetherington [Sat, 30 Sep 2023 09:29:42 +0000 (11:29 +0200)]
Cleanup: extract some stuff to a method in CreateCLI.

6 months agoApply video range from template (#2611).
Carl Hetherington [Sat, 30 Sep 2023 08:43:15 +0000 (10:43 +0200)]
Apply video range from template (#2611).

6 months agoSupport alpha blending 64-bit RGB onto things.
Carl Hetherington [Thu, 28 Sep 2023 20:18:34 +0000 (22:18 +0200)]
Support alpha blending 64-bit RGB onto things.

6 months agoRename alpha_blend_test_one -> alpha_blend_test_bgra_onto.
Carl Hetherington [Wed, 27 Sep 2023 22:00:15 +0000 (00:00 +0200)]
Rename alpha_blend_test_one -> alpha_blend_test_bgra_onto.

6 months agoCleanup: extract some parts of alpha_blend().
Carl Hetherington [Sun, 24 Sep 2023 22:38:10 +0000 (00:38 +0200)]
Cleanup: extract some parts of alpha_blend().

6 months agoFix errors with WAVs containing markers (#2617).
Carl Hetherington [Tue, 26 Sep 2023 22:16:38 +0000 (00:16 +0200)]
Fix errors with WAVs containing markers (#2617).

I'm not 100% sure about this but they seem to end up giving audio
packets with no channels and no frames.  Here we handle such packets
better.

6 months agoInstall for all users on Windows (#2202).
Carl Hetherington [Thu, 28 Sep 2023 19:02:44 +0000 (21:02 +0200)]
Install for all users on Windows (#2202).

7 months agoAdd some new pixfmts.
Carl Hetherington [Sun, 24 Sep 2023 21:30:19 +0000 (23:30 +0200)]
Add some new pixfmts.

7 months agoClean up and add Ubuntu 23.10
Carl Hetherington [Thu, 21 Sep 2023 21:58:49 +0000 (23:58 +0200)]
Clean up and add Ubuntu 23.10

7 months agoSupporters update. v2.16.65
Carl Hetherington [Wed, 20 Sep 2023 23:10:14 +0000 (01:10 +0200)]
Supporters update.

7 months agoFix example names in prefs (#2612).
Carl Hetherington [Wed, 20 Sep 2023 21:59:20 +0000 (23:59 +0200)]
Fix example names in prefs (#2612).

7 months agoBetter error message.
Carl Hetherington [Wed, 20 Sep 2023 20:57:03 +0000 (22:57 +0200)]
Better error message.

7 months agoUpdated zh_CN translation from poppinzhang.
Carl Hetherington [Fri, 15 Sep 2023 08:53:33 +0000 (10:53 +0200)]
Updated zh_CN translation from poppinzhang.

7 months agoUpdated sl_SI translation from Martin Srebotnjak.
Carl Hetherington [Thu, 14 Sep 2023 21:12:19 +0000 (23:12 +0200)]
Updated sl_SI translation from Martin Srebotnjak.

7 months agoSupporters update.
Carl Hetherington [Thu, 14 Sep 2023 08:57:18 +0000 (10:57 +0200)]
Supporters update.

7 months agoSupporters update. v2.16.64
Carl Hetherington [Wed, 13 Sep 2023 21:27:39 +0000 (23:27 +0200)]
Supporters update.