summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-18Merge branch 'grok2' into v2.17.xv2.17.8Carl Hetherington
This is the DoM support for Aaron Boxer's "grok" GPU J2K encoder, with some cleanups and other assorted/related DoM changes.
2023-10-18Make stop() private and use drop() instead.Carl Hetherington
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).
2023-10-18Clean up grok's presence in the config file and make sure it's optional.Carl Hetherington
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.
2023-10-18Remove a directory created by the config machinery to avoid confusion.Carl Hetherington
2023-10-18Add another manual dependency.Carl Hetherington
2023-10-18Cleanup: whitespace / coding style.Carl Hetherington
2023-10-18Cleanup: whitespace to reduce the diff.Carl Hetherington
2023-10-18Cleanup: include ordering.Carl Hetherington
2023-10-18Don't pollute the global namespace with a namespace called fs.Carl Hetherington
2023-10-18Another patch from Aaron.Carl Hetherington
2023-10-18Log failure to schedule a frame with grok.Carl Hetherington
2023-10-18Cleanup: coding style.Carl Hetherington
2023-10-18Looks like we also need an explicit dep on messenger.hCarl Hetherington
2023-10-18Cleanup: coding style.Carl Hetherington
2023-10-18Hack to make sure the right things are rebuilt when grok headers change.Carl Hetherington
2023-10-18Forward-declare grk_plugin stuff.Carl Hetherington
2023-10-18Create a single DcpomaticContext for all GrokContexts, rather than copying them.Carl Hetherington
I think this makes sense, and also allows us to forward-declare the contexts in a forthcoming commit.
2023-10-18Cleanup: reformat and rename dcpomaticContext_ -> _dcpomatic_contextCarl Hetherington
2023-10-18Cleanup: sorting.Carl Hetherington
2023-10-18Use GPU not Gpu for config element names.Carl Hetherington
2023-10-18Use boost::filesystem::path for gpu_binary_location().Carl Hetherington
2023-10-18Cleanup: use dcp::ArrayData instead of home-grown version.Carl Hetherington
2023-10-18Cleanup: remove unnecessary forward declaration.Carl Hetherington
2023-10-18Add missing copyright banner.Carl Hetherington
2023-10-18Remove C++17-ism.Carl Hetherington
2023-10-18Copy-edit GUI strings.Carl Hetherington
2023-10-18Check for errors when calling the GPU lister.Carl Hetherington
2023-10-18Bump libdcp for things that grok needs.Carl Hetherington
2023-10-18Hide compiler warning.Carl Hetherington
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.
2023-10-18Only build grok for Ubuntu 22.04.Carl Hetherington
2023-10-18Explicitly set up Grok logger rather than relying on a static variable.Carl Hetherington
2023-10-18Remove unnecessary using statements.Carl Hetherington
2023-10-18Rearrange encoder threading.Carl Hetherington
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.
2023-10-18Remove check for _threads being null, as I think it should not happen.Carl Hetherington
2023-10-18Cleanup: white space.Carl Hetherington
2023-10-18Further patch from Aaron.Carl Hetherington
2023-10-18Tidy up some includes / forward declarations.Carl Hetherington
2023-10-18Cleanup: white space tidying.Carl Hetherington
2023-10-18Change end() to only do one thing, and copy the required stuff into pause()Carl Hetherington
2023-10-18Remove default constructor from DCPVideo.Carl Hetherington
2023-10-18Formatting, variable name tidying and some const correctness.Carl Hetherington
2023-10-18Move grok headers into src/wx/grokCarl Hetherington
2023-10-18Move grok headers into src/lib/grokCarl Hetherington
2023-10-18Patch from Aaron Boxer adding initial support for GPU-powered J2K encoding ↵Carl Hetherington
via his tool "grok".
2023-10-16Bump ffmpeg to get some fixes that were on dcpomatic-14 but not dcpomatic-16.Carl Hetherington
2023-10-16Move UTC offset for KDMs from the cinema to the point of KDM creation (#2300).Carl Hetherington
2023-10-16Change how video timing is done.Carl Hetherington
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.
2023-10-16Add operator* for Time and int.Carl Hetherington
2023-10-16Write player debug logs from tests on -- --log=debug-playerCarl Hetherington
2023-10-16Cleanup: fix name of film to match test.Carl Hetherington