projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switch PlayerVideo::always_rgb to a new ::force and use it in FFmpegFileEncoder.
[dcpomatic.git]
/
src
/
wx
/
film_viewer.cc
diff --git
a/src/wx/film_viewer.cc
b/src/wx/film_viewer.cc
index 2247f3dd066b23eace5c03136519be8a76e62532..01963372061d8ddef25851b78a375c036b8e2cb3 100644
(file)
--- a/
src/wx/film_viewer.cc
+++ b/
src/wx/film_viewer.cc
@@
-86,6
+86,7
@@
FilmViewer::FilmViewer (wxWindow* p)
, _closed_captions_dialog (new ClosedCaptionsDialog(p))
, _outline_content (false)
, _eyes (EYES_LEFT)
, _closed_captions_dialog (new ClosedCaptionsDialog(p))
, _outline_content (false)
, _eyes (EYES_LEFT)
+ , _pad_black (false)
#ifdef DCPOMATIC_VARIANT_SWAROOP
, _in_watermark (false)
#endif
#ifdef DCPOMATIC_VARIANT_SWAROOP
, _in_watermark (false)
#endif
@@
-266,13
+267,12
@@
FilmViewer::display_player_video ()
* The content's specified colour conversion indicates the colourspace
* which the content is in (according to the user).
*
* The content's specified colour conversion indicates the colourspace
* which the content is in (according to the user).
*
- * PlayerVideo::image (bound to PlayerVideo::
always_rgb
) will take the source
+ * PlayerVideo::image (bound to PlayerVideo::
force
) will take the source
* image and convert it (from whatever the user has said it is) to RGB.
*/
_frame = _player_video.first->image (
* image and convert it (from whatever the user has said it is) to RGB.
*/
_frame = _player_video.first->image (
- bind (&Log::dcp_log, _film->log().get(), _1, _2),
- bind (&PlayerVideo::always_rgb, _1),
+ bind (&PlayerVideo::force, _1, AV_PIX_FMT_RGB24),
false, true
);
false, true
);
@@
-354,16
+354,16
@@
FilmViewer::paint_panel ()
if (_out_size.width < _panel_size.width) {
/* XXX: these colours are right for GNOME; may need adjusting for other OS */
if (_out_size.width < _panel_size.width) {
/* XXX: these colours are right for GNOME; may need adjusting for other OS */
- wxPen
p (wxColour
(240, 240, 240));
- wxBrush b (
wxColour
(240, 240, 240));
+ wxPen
p (_pad_black ? wxColour(0, 0, 0) : wxColour
(240, 240, 240));
+ wxBrush b (
_pad_black ? wxColour(0, 0, 0) : wxColour
(240, 240, 240));
dc.SetPen (p);
dc.SetBrush (b);
dc.DrawRectangle (_out_size.width, 0, _panel_size.width - _out_size.width, _panel_size.height);
}
if (_out_size.height < _panel_size.height) {
dc.SetPen (p);
dc.SetBrush (b);
dc.DrawRectangle (_out_size.width, 0, _panel_size.width - _out_size.width, _panel_size.height);
}
if (_out_size.height < _panel_size.height) {
- wxPen
p (wxColour
(240, 240, 240));
- wxBrush b (
wxColour
(240, 240, 240));
+ wxPen
p (_pad_black ? wxColour(0, 0, 0) : wxColour
(240, 240, 240));
+ wxBrush b (
_pad_black ? wxColour(0, 0, 0) : wxColour
(240, 240, 240));
dc.SetPen (p);
dc.SetBrush (b);
int const gap = (_panel_size.height - _out_size.height) / 2;
dc.SetPen (p);
dc.SetBrush (b);
int const gap = (_panel_size.height - _out_size.height) / 2;
@@
-746,3
+746,9
@@
FilmViewer::seek_by (DCPTime by, bool accurate)
{
seek (_video_position + by, accurate);
}
{
seek (_video_position + by, accurate);
}
+
+void
+FilmViewer::set_pad_black (bool p)
+{
+ _pad_black = p;
+}