summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/lib/render_subtitles.cc9
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ed733c43..cfa5de093 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-19 Carl Hetherington <cth@carlh.net>
+
+ * Adjust preview subtitle position to better match reality
+ in some cases.
+
2015-11-19 c.hetherington <cth@carlh.net>
* Add menu option to make a DKDM for DCP-o-matic (#755).
diff --git a/src/lib/render_subtitles.cc b/src/lib/render_subtitles.cc
index 9b5f585e5..26f41c89e 100644
--- a/src/lib/render_subtitles.cc
+++ b/src/lib/render_subtitles.cc
@@ -261,8 +261,13 @@ render_line (list<dcp::SubtitleString> subtitles, list<shared_ptr<Font> > fonts,
int y = 0;
switch (subtitles.front().v_align ()) {
case dcp::VALIGN_TOP:
- /* v_position is distance between top of frame and top of subtitle */
- y = subtitles.front().v_position() * target.height;
+ /* SMPTE says that v_position is the distance between top
+ of frame and top of subtitle, but this doesn't always seem to be
+ the case in practice; Gunnar Ásgeirsson's Dolby server appears
+ to put VALIGN_TOP subs with v_position as the distance between top
+ of frame and bottom of subtitle.
+ */
+ y = subtitles.front().v_position() * target.height - layout_height / PANGO_SCALE;
break;
case dcp::VALIGN_CENTER:
/* v_position is distance between centre of frame and centre of subtitle */