summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-04-12 11:33:08 +0200
committerCarl Hetherington <cth@carlh.net>2025-04-12 11:33:08 +0200
commit0373571e06742ee73376a59fd91ce3e0099d4a15 (patch)
tree75654531a06524f30887ca964dd1904ab5e434db
parent3dcabe8d9c7d82f6be4790fd68db62188ce64710 (diff)
Hint about problems with alpha channels (#3014).
-rw-r--r--src/lib/hints.cc17
-rw-r--r--src/lib/hints.h2
2 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/hints.cc b/src/lib/hints.cc
index 0979ce6a9..17aa16d47 100644
--- a/src/lib/hints.cc
+++ b/src/lib/hints.cc
@@ -487,6 +487,7 @@ try
check_subtitle_languages();
check_audio_language();
check_8_or_16_audio_channels();
+ check_video_alpha();
scan_content(film);
@@ -770,3 +771,19 @@ Hints::check_8_or_16_audio_channels()
}
}
+
+void
+Hints::check_video_alpha()
+{
+ for (auto content: film()->content()) {
+ if (content->video && content->video->has_alpha()) {
+ hint(fmt::format(
+ _("Some of your video content contains an alpha channel, and {} cannot be "
+ "certain how to process it. Check that your video looks correct in the "
+ "preview, and if not try enabling or disabling the 'premultiply' video filter "
+ "in the content Advanced Settings dialogue box."),
+ variant::dcpomatic()));
+ }
+ }
+}
+
diff --git a/src/lib/hints.h b/src/lib/hints.h
index 0d6605e25..49fd32ea9 100644
--- a/src/lib/hints.h
+++ b/src/lib/hints.h
@@ -66,7 +66,6 @@ private:
void closed_caption(PlayerText text, dcpomatic::DCPTimePeriod period);
void open_subtitle(PlayerText text, dcpomatic::DCPTimePeriod period);
-
void check_certificates();
void check_interop();
void check_video_encoding();
@@ -87,6 +86,7 @@ private:
void check_subtitle_languages();
void check_audio_language();
void check_8_or_16_audio_channels();
+ void check_video_alpha();
boost::thread _thread;
/** This is used to make a partial DCP containing only the subtitles and closed captions that