summaryrefslogtreecommitdiff
path: root/src/lib/util.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-01-15 21:23:33 +0000
committerCarl Hetherington <cth@carlh.net>2014-01-15 21:23:33 +0000
commit8353a009aae1a604251c0160193c39741c2fa27c (patch)
tree558d2b1951f2b4f05f0ab93b46d10afd0ebee929 /src/lib/util.cc
parentd0bca7d33b8101cd87f78d5a76b2512dea3988f8 (diff)
parent4e5d5c7dcc6470b8dc918d03a00e30c07df60efe (diff)
Merge 1.0-seek and subtitle-content.
Diffstat (limited to 'src/lib/util.cc')
-rw-r--r--src/lib/util.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 4a52cd2b7..ef203c2bd 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -751,7 +751,7 @@ ensure_ui_thread ()
* @return Equivalent number of audio frames for `v'.
*/
int64_t
-video_frames_to_audio_frames (VideoContent::Frame v, float audio_sample_rate, float frames_per_second)
+video_frames_to_audio_frames (VideoFrame v, float audio_sample_rate, float frames_per_second)
{
return ((int64_t) v * audio_sample_rate / frames_per_second);
}
@@ -776,7 +776,7 @@ audio_channel_name (int c)
return channels[c];
}
-FrameRateConversion::FrameRateConversion (float source, int dcp)
+FrameRateChange::FrameRateChange (float source, int dcp)
: skip (false)
, repeat (1)
, change_speed (false)
@@ -794,7 +794,8 @@ FrameRateConversion::FrameRateConversion (float source, int dcp)
repeat = round (dcp / source);
}
- change_speed = !about_equal (source * factor(), dcp);
+ speed_up = dcp / (source * factor());
+ change_speed = !about_equal (speed_up, 1.0);
if (!skip && repeat == 1 && !change_speed) {
description = _("Content and DCP have the same rate.\n");
@@ -918,3 +919,10 @@ fit_ratio_within (float ratio, libdcp::Size full_frame)
return libdcp::Size (full_frame.width, rint (full_frame.width / ratio));
}
+
+DCPTime
+time_round_up (DCPTime t, DCPTime nearest)
+{
+ DCPTime const a = t + nearest - 1;
+ return a - (a % nearest);
+}