summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-09-15 01:03:51 +0200
committerCarl Hetherington <cth@carlh.net>2022-09-16 22:38:05 +0200
commit7e39519864cf40256a31fb6d42818c1a02fa2d63 (patch)
tree94c432345fd98fc3df803f664f993915bd8c1a52 /src/wx
parentc103d8c1306e5fb3937b3a6c430a3fff32653fa3 (diff)
Fix black borders around the preview in some cases (#2331).
We need to round the container size to the nearest multiple of 2 so that cropping subsampled sources does not leave gaps. As far as I can see: - the direction that you round x in doesn't matter - it's better to round y up (if you calculate the error in the resulting ratio in each case).
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/film_viewer.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index b5b2ca972..c56e2f5d2 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -303,6 +303,16 @@ FilmViewer::calculate_sizes ()
out_size.width = max (64, out_size.width);
out_size.height = max (64, out_size.height);
+ /* Make sure the video container sizes are always a multiple of 2 so that
+ * we don't get gaps with subsampled sources (e.g. YUV420)
+ */
+ if (out_size.width % 2) {
+ out_size.width++;
+ }
+ if (out_size.height % 2) {
+ out_size.height++;
+ }
+
_player->set_video_container_size (out_size);
}