Hint about problems with alpha channels (#3014).
authorCarl Hetherington <cth@carlh.net>
Sat, 12 Apr 2025 09:33:08 +0000 (11:33 +0200)
committerCarl Hetherington <cth@carlh.net>
Sat, 12 Apr 2025 09:33:08 +0000 (11:33 +0200)
src/lib/hints.cc
src/lib/hints.h

index 0979ce6a97f1ecdfba01e55eb7c948044e7fb2f0..17aa16d47a29fa5446cb39bbc284a1755a0811e4 100644 (file)
@@ -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()));
+               }
+       }
+}
+
index 0d6605e256950570aecee35d0256e3d812be66e8..49fd32ea92ad6e76d06a54ef2891a30be2b123c6 100644 (file)
@@ -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