projects
/
dcpomatic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
de4d3d0
)
Post-process viewer images.
author
Carl Hetherington
<cth@carlh.net>
Sat, 2 Feb 2013 17:49:53 +0000
(17:49 +0000)
committer
Carl Hetherington
<cth@carlh.net>
Sat, 2 Feb 2013 17:49:53 +0000
(17:49 +0000)
src/wx/film_viewer.cc
patch
|
blob
|
history
diff --git
a/src/wx/film_viewer.cc
b/src/wx/film_viewer.cc
index 0b3fb0fd26bd85d2180b7f02a44d751fb1b9968e..e103df7765befaa0f81acfd7e06b6c3ddc3280f8 100644
(file)
--- a/
src/wx/film_viewer.cc
+++ b/
src/wx/film_viewer.cc
@@
-34,6
+34,7
@@
#include "lib/scaler.h"
#include "lib/exceptions.h"
#include "lib/examine_content_job.h"
#include "lib/scaler.h"
#include "lib/exceptions.h"
#include "lib/examine_content_job.h"
+#include "lib/filter.h"
#include "film_viewer.h"
#include "wx_util.h"
#include "video_decoder.h"
#include "film_viewer.h"
#include "wx_util.h"
#include "video_decoder.h"
@@
-116,6
+117,7
@@
FilmViewer::film_changed (Film::Property p)
case Film::SUBTITLE_OFFSET:
case Film::SUBTITLE_SCALE:
case Film::SCALER:
case Film::SUBTITLE_OFFSET:
case Film::SUBTITLE_SCALE:
case Film::SCALER:
+ case Film::FILTERS:
update_from_raw ();
break;
case Film::SUBTITLE_STREAM:
update_from_raw ();
break;
case Film::SUBTITLE_STREAM:
@@
-267,8
+269,15
@@
FilmViewer::raw_to_display ()
old_size = _display_frame->size();
}
old_size = _display_frame->size();
}
+ boost::shared_ptr<Image> input = _raw_frame;
+
+ pair<string, string> const s = Filter::ffmpeg_strings (_film->filters());
+ if (!s.second.empty ()) {
+ input = input->post_process (s.second, true);
+ }
+
/* Get a compacted image as we have to feed it to wxWidgets */
/* Get a compacted image as we have to feed it to wxWidgets */
- _display_frame =
_raw_frame
->scale_and_convert_to_rgb (_film_size, 0, _film->scaler(), false);
+ _display_frame =
input
->scale_and_convert_to_rgb (_film_size, 0, _film->scaler(), false);
if (old_size != _display_frame->size()) {
_clear_required = true;
if (old_size != _display_frame->size()) {
_clear_required = true;