summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-09-23 00:09:47 +0200
committerCarl Hetherington <cth@carlh.net>2021-09-27 13:41:46 +0200
commit67ff55886b1ee86d99c2ea27d10c73b85b0504b7 (patch)
tree58f0a78ebb1e02f50c9e101b53c0402e3f688673 /src/wx
parent571a29b441ce6fe4a1e35bbcbcf4ea6abc885c22 (diff)
Various alignment tidying/fixups.
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/film_viewer.cc6
-rw-r--r--src/wx/gl_video_view.cc2
-rw-r--r--src/wx/simple_video_view.cc7
-rw-r--r--src/wx/simple_video_view.h4
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 ();