+ checked_set (_decode_resolution, wxT(""));
+ return;
+ }
+
+ int r = 0;
+ checked_set (_dcp[r++], std_to_wx(dcp->name()));
+
+ if (dcp->needs_assets()) {
+ checked_set (_dcp[r], _("Needs OV"));
+ return;
+ }
+
+ if (dcp->needs_kdm()) {
+ checked_set (_dcp[r], _("Needs KDM"));
+ return;
+ }
+
+ DCPOMATIC_ASSERT (dcp->video);
+
+ checked_set (_dcp[r++], wxString::Format(_("Size: %dx%d"), dcp->video->size().width, dcp->video->size().height));
+
+ optional<double> vfr;
+ vfr = dcp->video_frame_rate ();
+ DCPOMATIC_ASSERT (vfr);
+
+ string const len = String::compose(
+ wx_to_std(_("Length: %1 (%2 frames)")),
+ time_to_hmsf(dcp->full_length(), lrint(*vfr)),
+ dcp->full_length().frames_round(*vfr)
+ );
+
+ checked_set (_dcp[r++], std_to_wx(len));
+
+ dcp::Size decode = dcp->video->size();
+ optional<int> reduction = _viewer->dcp_decode_reduction();
+ if (reduction) {
+ decode.width /= pow(2, *reduction);
+ decode.height /= pow(2, *reduction);