diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-08-17 12:56:20 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-08-17 12:56:20 +0200 |
| commit | e65d17fa04c411295496968f6ecee9b3a6c21fae (patch) | |
| tree | c763a48ebd57268a1b83f9767fada295a30a219d | |
| parent | 0b4bffff846efe967110477797218c170ffb3166 (diff) | |
| parent | e96f917d51f9606a550902dbc16e0971a8967039 (diff) | |
Merge remote-tracking branch 'origin/main' into v2.17.x
| -rw-r--r-- | cscript | 4 | ||||
| -rwxr-xr-x | run/dcpomatic | 2 | ||||
| -rw-r--r-- | src/lib/analyse_subtitles_job.cc | 6 | ||||
| -rw-r--r-- | src/lib/analyse_subtitles_job.h | 1 | ||||
| -rw-r--r-- | src/lib/guess_crop.cc | 3 | ||||
| -rw-r--r-- | src/lib/image.cc | 6 | ||||
| -rw-r--r-- | src/lib/image.h | 2 | ||||
| -rw-r--r-- | src/wx/supporters.cc | 5 | ||||
| -rw-r--r-- | wscript | 2 |
9 files changed, 25 insertions, 6 deletions
@@ -534,7 +534,7 @@ def make_spec(filename, version, target, options, requires=None): print('/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :', file=f) def dependencies(target, options): - deps = [('libdcp', 'v1.9.13', {'c++17': target.platform == 'osx'})] + deps = [('libdcp', 'v1.9.14', {'c++17': target.platform == 'osx'})] deps.append(('libsub', 'v1.6.49')) deps.append(('leqm-nrt', '30dcaea1373ac62fba050e02ce5b0c1085797a23')) deps.append(('rtaudio', 'f619b76')) @@ -573,6 +573,8 @@ def configure_options(target, options, for_package=False): opt += ' --static-boost --static-xmlpp' elif target.version == '7': opt += ' --workaround-gssapi' + elif target.version == 'stream9': + opt += ' --static-xmlsec' if not options['gui']: opt += ' --disable-gui' diff --git a/run/dcpomatic b/run/dcpomatic index 45f857ae2..abc0cf11b 100755 --- a/run/dcpomatic +++ b/run/dcpomatic @@ -10,6 +10,8 @@ else env=x86_64/10.10 fi +# Allow running from a tree built using cdist +export LD_LIBRARY_PATH=$DIR/../../../lib:$DIR/../../../lib64:$LD_LIBRARY_PATH export DYLD_LIBRARY_PATH=/Users/cah/osx-environment/$env/lib:/usr/local/lib # export ASAN_OPTIONS=verbosity=1:malloc_context_size=20:detect_leaks=1 diff --git a/src/lib/analyse_subtitles_job.cc b/src/lib/analyse_subtitles_job.cc index b41990db5..b2346d4d9 100644 --- a/src/lib/analyse_subtitles_job.cc +++ b/src/lib/analyse_subtitles_job.cc @@ -50,6 +50,12 @@ AnalyseSubtitlesJob::AnalyseSubtitlesJob (shared_ptr<const Film> film, shared_pt } +AnalyseSubtitlesJob::~AnalyseSubtitlesJob() +{ + stop_thread(); +} + + string AnalyseSubtitlesJob::name () const { diff --git a/src/lib/analyse_subtitles_job.h b/src/lib/analyse_subtitles_job.h index c47117c57..ea425763f 100644 --- a/src/lib/analyse_subtitles_job.h +++ b/src/lib/analyse_subtitles_job.h @@ -32,6 +32,7 @@ class AnalyseSubtitlesJob : public Job { public: AnalyseSubtitlesJob (std::shared_ptr<const Film> film, std::shared_ptr<Content> content); + ~AnalyseSubtitlesJob(); std::string name () const override; std::string json_name () const override; diff --git a/src/lib/guess_crop.cc b/src/lib/guess_crop.cc index 3538f14de..5eb7e66e8 100644 --- a/src/lib/guess_crop.cc +++ b/src/lib/guess_crop.cc @@ -42,8 +42,9 @@ guess_crop (shared_ptr<const Image> image, double threshold) switch (image->pixel_format()) { case AV_PIX_FMT_RGB24: + case AV_PIX_FMT_RGBA: { - uint8_t const* data = image->data()[0] + start_x * 3 + start_y * image->stride()[0]; + uint8_t const* data = image->data()[0] + start_x * std::lround(image->bytes_per_pixel(0)) + start_y * image->stride()[0]; for (int p = 0; p < pixels; ++p) { /* Averaging R, G and B */ brightest = std::max(brightest, static_cast<double>(data[0] + data[1] + data[2]) / (3 * 256)); diff --git a/src/lib/image.cc b/src/lib/image.cc index 2167918f8..7181c4546 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -1171,14 +1171,14 @@ Image::write_to_socket (shared_ptr<Socket> socket) const float -Image::bytes_per_pixel (int c) const +Image::bytes_per_pixel(int component) const { auto d = av_pix_fmt_desc_get(_pixel_format); if (!d) { throw PixelFormatError ("bytes_per_pixel()", _pixel_format); } - if (c >= planes()) { + if (component >= planes()) { return 0; } @@ -1213,7 +1213,7 @@ Image::bytes_per_pixel (int c) const return bpp[0] + bpp[1] + bpp[2] + bpp[3]; } - return bpp[c]; + return bpp[component]; } diff --git a/src/lib/image.h b/src/lib/image.h index 0237b3d1b..dd9f8b840 100644 --- a/src/lib/image.h +++ b/src/lib/image.h @@ -68,7 +68,7 @@ public: int vertical_factor (int) const; int horizontal_factor (int) const; dcp::Size sample_size (int) const; - float bytes_per_pixel (int) const; + float bytes_per_pixel(int component) const; std::shared_ptr<Image> convert_pixel_format (dcp::YUVToRGB yuv_to_rgb, AVPixelFormat out_format, Alignment alignment, bool fast) const; std::shared_ptr<Image> scale (dcp::Size out_size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat out_format, Alignment alignment, bool fast) const; diff --git a/src/wx/supporters.cc b/src/wx/supporters.cc index 8a00b302d..36cffa34d 100644 --- a/src/wx/supporters.cc +++ b/src/wx/supporters.cc @@ -221,6 +221,7 @@ supported_by.Add (wxT ("Gary Coates")); supported_by.Add (wxT ("Alex Cockburn")); supported_by.Add (wxT ("Dan Cohen")); supported_by.Add (wxT ("Jonathan Cole")); +supported_by.Add (wxT ("Shane Colella")); supported_by.Add (wxT ("Blair Collie")); supported_by.Add (wxT ("Devon Collins")); supported_by.Add (wxT ("Sodalite Color")); @@ -562,6 +563,7 @@ supported_by.Add (wxT ("Markus Hüsgen")); supported_by.Add (wxT ("Maurice Huvelin")); supported_by.Add (wxT ("Robin Hyden")); supported_by.Add (wxT ("IAFilm")); +supported_by.Add (wxT ("Big Island Drive In")); supported_by.Add (wxT ("Dayton Movies Inc")); supported_by.Add (wxT ("Buttons Sound Inc")); supported_by.Add (wxT ("Paramount Twin Inc")); @@ -600,6 +602,7 @@ supported_by.Add (wxT ("Mart Jansink")); supported_by.Add (wxT ("Scott Jennings")); supported_by.Add (wxT ("Jonathan Jensen")); supported_by.Add (wxT ("Frank Jerkic")); +supported_by.Add (wxT ("Frank Jerkic")); supported_by.Add (wxT ("Arturas Jevdokimovas")); supported_by.Add (wxT ("Rainer Joerger")); supported_by.Add (wxT ("Mathew Johns")); @@ -679,6 +682,7 @@ supported_by.Add (wxT ("Jakub Królikowski")); supported_by.Add (wxT ("Cihan Kulaber")); supported_by.Add (wxT ("Patrick Kulemann")); supported_by.Add (wxT ("kult.kino")); +supported_by.Add (wxT ("Kino Kults")); supported_by.Add (wxT ("kulturplatz-davos")); supported_by.Add (wxT ("Steven Kurtz")); supported_by.Add (wxT ("Carsten Kurz")); @@ -1108,6 +1112,7 @@ supported_by.Add (wxT ("Nadia Santos")); supported_by.Add (wxT ("Yvy Production Sarl")); supported_by.Add (wxT ("Carlo Sassi")); supported_by.Add (wxT ("Les Mures Sauvages")); +supported_by.Add (wxT ("Becky Sayers")); supported_by.Add (wxT ("Michael Schaffer")); supported_by.Add (wxT ("Andreas Schafft")); supported_by.Add (wxT ("Daniel Schär")); @@ -416,8 +416,10 @@ def configure(conf): if conf.options.static_xmlsec: if conf.check_cxx(lib='xmlsec1-openssl', mandatory=False): conf.env.STLIB_XMLSEC = ['xmlsec1-openssl', 'xmlsec1'] + conf.env.LIB_XMLSEC = ['ltdl'] else: conf.env.STLIB_XMLSEC = ['xmlsec1'] + conf.env.LIB_XMLSEC = ['ltdl'] else: conf.env.LIB_XMLSEC = ['xmlsec1-openssl', 'xmlsec1'] |
