+ string d;
+ char buffer[256];
+
+ if (size().width && size().height) {
+ d += String::compose (
+ _("Content video is %1x%2"),
+ size_after_3d_split().width,
+ size_after_3d_split().height
+ );
+
+
+ double ratio = size_after_3d_split().ratio ();
+
+ if (sample_aspect_ratio ()) {
+ snprintf (buffer, sizeof(buffer), _(", pixel aspect ratio %.2f:1"), sample_aspect_ratio().get());
+ d += buffer;
+ ratio *= sample_aspect_ratio().get ();
+ }
+
+ snprintf (buffer, sizeof(buffer), _("\nDisplay aspect ratio %.2f:1"), ratio);
+ d += buffer;
+ }
+
+ if ((crop().left || crop().right || crop().top || crop().bottom) && size() != dcp::Size (0, 0)) {
+ dcp::Size cropped = size_after_crop ();
+ d += String::compose (
+ _("\nCropped to %1x%2"),
+ cropped.width, cropped.height
+ );
+
+ snprintf (buffer, sizeof(buffer), " (%.2f:1)", cropped.ratio());
+ d += buffer;
+ }
+
+ shared_ptr<const Film> film = _parent->film ();
+ dcp::Size const container_size = film->frame_size ();
+ dcp::Size const scaled = scale().size (shared_from_this(), container_size, container_size);