summaryrefslogtreecommitdiff
path: root/src/lib/film.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-05-10 01:57:20 +0200
committerCarl Hetherington <cth@carlh.net>2020-05-11 22:02:49 +0200
commit15a83d720780d58f905d40f8493cdcb86596eaee (patch)
tree96edb81d905bed4231819efc5bd6292aefaf2c4c /src/lib/film.cc
parentdd7c63112eda87f2e491261873075acff114396b (diff)
Change video content scaling so that it either:
1. scales the content up to fit the DCP container, preserving aspect ratio, or 2. stretches the content to a custom aspect ratio, or 3. scales the content to some custom size.
Diffstat (limited to 'src/lib/film.cc')
-rw-r--r--src/lib/film.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index b233e5ee6..b1dcb46d7 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -132,8 +132,10 @@ string const Film::metadata_file = "metadata.xml";
* 36 -> 37
* TextContent can be in a Caption tag, and some of the tag names
* have had Subtitle prefixes or suffixes removed.
+ * 37 -> 38
+ * VideoContent scale expressed just as "guess" or "custom"
*/
-int const Film::current_state_version = 37;
+int const Film::current_state_version = 38;
/** Construct a Film object in a given directory.
*
@@ -787,11 +789,7 @@ Film::isdcf_name (bool if_created_now) const
BOOST_FOREACH (shared_ptr<Content> i, content ()) {
if (i->video) {
/* Here's the first piece of video content */
- if (i->video->scale().ratio ()) {
- content_ratio = i->video->scale().ratio ();
- } else {
- content_ratio = Ratio::from_ratio (i->video->size().ratio ());
- }
+ content_ratio = Ratio::nearest_from_ratio(i->video->scaled_size(frame_size()).ratio());
break;
}
}