X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvideo_content_scale.cc;fp=src%2Flib%2Fvideo_content_scale.cc;h=418c46eecd121fbf1d4019f27ae1f752758d5105;hb=946dbad9821e676f1d8fdc5abba459da54b8e84c;hp=e603582b89e7c5faef2d7690160786e8855b03c4;hpb=34be35fc1ba9a0c0eaebd3e2a6be3eab134e80af;p=dcpomatic.git diff --git a/src/lib/video_content_scale.cc b/src/lib/video_content_scale.cc index e603582b8..418c46eec 100644 --- a/src/lib/video_content_scale.cc +++ b/src/lib/video_content_scale.cc @@ -123,24 +123,24 @@ VideoContentScale::from_id (string id) /** @param display_container Size of the container that we are displaying this content in. * @param film_container The size of the film's image. */ -libdcp::Size -VideoContentScale::size (shared_ptr c, libdcp::Size display_container, libdcp::Size film_container) const +dcp::Size +VideoContentScale::size (shared_ptr c, dcp::Size display_container, dcp::Size film_container, int round) const { if (_ratio) { - return fit_ratio_within (_ratio->ratio (), display_container); + return fit_ratio_within (_ratio->ratio (), display_container, round); } - libdcp::Size const ac = c->video_size_after_crop (); + dcp::Size const ac = c->video_size_after_crop (); /* Force scale if the film_container is smaller than the content's image */ if (_scale || film_container.width < ac.width || film_container.height < ac.height) { - return fit_ratio_within (ac.ratio (), display_container); + return fit_ratio_within (ac.ratio (), display_container, round); } /* Scale the image so that it will be in the right place in film_container, even if display_container is a different size. */ - return libdcp::Size ( + return dcp::Size ( c->video_size().width * float(display_container.width) / film_container.width, c->video_size().height * float(display_container.height) / film_container.height );