Bump libdcp for better diagnostics of bad/large J2K frames (#2680). 2698-verify
authorCarl Hetherington <cth@carlh.net>
Wed, 3 Jan 2024 22:32:22 +0000 (23:32 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 3 Jan 2024 22:32:38 +0000 (23:32 +0100)
cscript
src/wx/verify_dcp_dialog.cc

diff --git a/cscript b/cscript
index f87268b324ccb138b913b1ea2d26d177e2c13837..590b381fa72bb2ab50f6968943ddb0a76c7e7202 100644 (file)
--- a/cscript
+++ b/cscript
@@ -507,7 +507,7 @@ def dependencies(target, options):
         # Use distro-provided FFmpeg on Arch
         deps = []
 
-    deps.append(('libdcp', 'v1.8.89'))
+    deps.append(('libdcp', 'v1.8.91'))
     deps.append(('libsub', 'v1.6.45'))
     deps.append(('leqm-nrt', '30dcaea1373ac62fba050e02ce5b0c1085797a23'))
     deps.append(('rtaudio', 'f619b76'))
index 9b7afdd7b645de9ae34c89f146d6e533c72af6b9..fe177dd67a82b554d1c3e3808a8eb16c8d59f7bb 100644 (file)
@@ -100,6 +100,9 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
                if (note.note()) {
                        message.Replace("%n", std_to_wx(note.note().get()));
                }
+               if (note.frame()) {
+                       message.Replace("%frame", std_to_wx(dcp::raw_convert<string>(note.frame().get())));
+               }
                if (note.file()) {
                        message.Replace("%f", std_to_wx(note.file()->filename().string()));
                }
@@ -121,6 +124,10 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
                if (note.other_id()) {
                        message.Replace("%other_id", std_to_wx(note.other_id().get()));
                }
+               if (note.frame() && note.frame_rate()) {
+                       auto frame_rate = note.frame_rate().get();
+                       message.Replace("%timecode", std_to_wx(dcp::Time(note.frame().get(), frame_rate, frame_rate).as_string(dcp::Standard::SMPTE)));
+               }
                add_bullet (note.type(), message);
        };
 
@@ -178,10 +185,10 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
                        add(i, _("The asset %n has a duration of less than 1 second, which is invalid."));
                        break;
                case dcp::VerificationNote::Code::INVALID_PICTURE_FRAME_SIZE_IN_BYTES:
-                       add(i, _("At least one frame of the video asset %f is over the limit of 250Mbit/s."));
+                       add(i, _("Frame %timecode (timecode %timecode) in asset %f is over the limit of 250Mbit/s."));
                        break;
                case dcp::VerificationNote::Code::NEARLY_INVALID_PICTURE_FRAME_SIZE_IN_BYTES:
-                       add(i, _("At least one frame of the video asset %f is close to the limit of 250MBit/s."));
+                       add(i, _("Frame %frame (timecode %timecode) in asset %f is close to the limit of 250Mbit/s."));
                        break;
                case dcp::VerificationNote::Code::EXTERNAL_ASSET:
                        add(i, _("This DCP refers to at the asset %n in another DCP (and perhaps others), so it is a \"version file\" (VF)"));