summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/render_subtitles.cc9
1 files changed, 7 insertions, 2 deletions
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 */