diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-09-23 00:09:47 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-09-27 13:41:46 +0200 |
| commit | 67ff55886b1ee86d99c2ea27d10c73b85b0504b7 (patch) | |
| tree | 58f0a78ebb1e02f50c9e101b53c0402e3f688673 /src/wx | |
| parent | 571a29b441ce6fe4a1e35bbcbcf4ea6abc885c22 (diff) | |
Various alignment tidying/fixups.
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/film_viewer.cc | 6 | ||||
| -rw-r--r-- | src/wx/gl_video_view.cc | 2 | ||||
| -rw-r--r-- | src/wx/simple_video_view.cc | 7 | ||||
| -rw-r--r-- | src/wx/simple_video_view.h | 4 |
4 files changed, 8 insertions, 11 deletions
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index 5609ebf86..0131aa294 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -208,6 +208,8 @@ FilmViewer::recreate_butler () return; } + auto const j2k_gl_optimised = dynamic_pointer_cast<GLVideoView>(_video_view) && _optimise_for_j2k; + _butler = std::make_shared<Butler>( _film, _player, @@ -215,9 +217,9 @@ FilmViewer::recreate_butler () _audio_channels, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, - _optimise_for_j2k ? Image::Alignment::COMPACT : Image::Alignment::PADDED, + j2k_gl_optimised ? Image::Alignment::COMPACT : Image::Alignment::PADDED, true, - dynamic_pointer_cast<GLVideoView>(_video_view) && _optimise_for_j2k + j2k_gl_optimised ); if (!Config::instance()->sound() && !_audio.isStreamOpen()) { diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc index 046465864..04e0bac46 100644 --- a/src/wx/gl_video_view.cc +++ b/src/wx/gl_video_view.cc @@ -497,7 +497,7 @@ GLVideoView::draw (Position<int>, dcp::Size) void GLVideoView::set_image (shared_ptr<const PlayerVideo> pv) { - shared_ptr<const Image> video = _optimise_for_j2k ? pv->raw_image() : pv->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::COMPACT, true); + shared_ptr<const Image> video = _optimise_for_j2k ? pv->raw_image() : pv->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, true); /* Only the player's black frames should be aligned at this stage, so this should * almost always have no work to do. diff --git a/src/wx/simple_video_view.cc b/src/wx/simple_video_view.cc index e54c8390e..1ac56bbfe 100644 --- a/src/wx/simple_video_view.cc +++ b/src/wx/simple_video_view.cc @@ -72,6 +72,7 @@ SimpleVideoView::paint () if (!_image) { dc.Clear (); } else { + DCPOMATIC_ASSERT (_image->alignment() == Image::Alignment::COMPACT); out_size = _image->size(); wxImage frame (out_size.width, out_size.height, _image->data()[0], true); wxBitmap frame_bitmap (frame); @@ -188,7 +189,7 @@ void SimpleVideoView::update () { if (!player_video().first) { - set_image (shared_ptr<Image>()); + _image.reset (); refresh_panel (); return; } @@ -221,9 +222,7 @@ SimpleVideoView::update () _state_timer.set ("get image"); - set_image ( - player_video().first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::COMPACT, true) - ); + _image = player_video().first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, true); _state_timer.set ("ImageChanged"); _viewer->image_changed (player_video().first); diff --git a/src/wx/simple_video_view.h b/src/wx/simple_video_view.h index 26d1299b1..cbb162023 100644 --- a/src/wx/simple_video_view.h +++ b/src/wx/simple_video_view.h @@ -42,10 +42,6 @@ public: NextFrameResult display_next_frame (bool non_blocking) override; private: - void set_image (std::shared_ptr<const Image> image) { - _image = image; - } - void refresh_panel (); void paint (); void timer (); |
