- /* Scale the image so that it will be in the right place in film_container, even if display_container is a
- different 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
- );
-}
-
-void
-VideoContentScale::setup_scales ()
-{
- vector<Ratio const *> ratios = Ratio::all ();
- for (vector<Ratio const *>::const_iterator i = ratios.begin(); i != ratios.end(); ++i) {
- _scales.push_back (VideoContentScale (*i));
+ VideoFrame fade_out_start = ContentTime (video_length() - fade_out()).frames (video_frame_rate ());
+ if (f >= fade_out_start) {
+ return 1 - float (f - fade_out_start) / fade_out().frames (video_frame_rate ());