diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-09-02 03:12:43 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-09-02 03:12:43 +0100 |
| commit | 63a1ada934c258dfa60a92f7a406b084531856d9 (patch) | |
| tree | 996c7811d315cd437871de0a4270a40079fdc1af /src/lib/player.cc | |
| parent | 64e7d484e2a481ff87fc6d80f092c310c3eae67e (diff) | |
Remove unnecessary subtitle scale (I think).
Diffstat (limited to 'src/lib/player.cc')
| -rw-r--r-- | src/lib/player.cc | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc index 12c03e306..15f274e98 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -307,39 +307,6 @@ Player::film_change (ChangeType type, Film::Property p) } } -list<PositionImage> -Player::transform_bitmap_texts (list<BitmapText> subs) const -{ - list<PositionImage> all; - - for (list<BitmapText>::const_iterator i = subs.begin(); i != subs.end(); ++i) { - if (!i->image) { - continue; - } - - /* We will scale the subtitle up to fit _video_container_size */ - dcp::Size scaled_size (i->rectangle.width * _video_container_size.width, i->rectangle.height * _video_container_size.height); - - all.push_back ( - PositionImage ( - i->image->scale ( - scaled_size, - dcp::YUV_TO_RGB_REC601, - i->image->pixel_format (), - true, - _fast - ), - Position<int> ( - lrint (_video_container_size.width * i->rectangle.x), - lrint (_video_container_size.height * i->rectangle.y) - ) - ) - ); - } - - return all; -} - shared_ptr<PlayerVideo> Player::black_player_video_frame (Eyes eyes) const { @@ -714,8 +681,24 @@ Player::open_subtitles_for_frame (DCPTime time) const ) { /* Bitmap subtitles */ - list<PositionImage> c = transform_bitmap_texts (j.bitmap); - copy (c.begin(), c.end(), back_inserter (captions)); + BOOST_FOREACH (BitmapText i, j.bitmap) { + if (!i.image) { + continue; + } + + /* i.image will already have been scaled to fit _video_container_size */ + dcp::Size scaled_size (i.rectangle.width * _video_container_size.width, i.rectangle.height * _video_container_size.height); + + captions.push_back ( + PositionImage ( + i.image, + Position<int> ( + lrint (_video_container_size.width * i.rectangle.x), + lrint (_video_container_size.height * i.rectangle.y) + ) + ) + ); + } /* String subtitles (rendered to an image) */ if (!j.string.empty ()) { |
