summaryrefslogtreecommitdiff
path: root/src/lib/video_content.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-09-30 09:33:33 +0100
committerCarl Hetherington <cth@carlh.net>2014-09-30 20:38:12 +0100
commita4d8e5d24beddb719180e75f1047ae317bef85a4 (patch)
tree9884019a61aabfc0658d16e29cfd6a4b4a21c485 /src/lib/video_content.h
parent391d85619ac19a2a93696ddc35c222eb9bb5d9d6 (diff)
Basic video fade support.
Diffstat (limited to 'src/lib/video_content.h')
-rw-r--r--src/lib/video_content.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/video_content.h b/src/lib/video_content.h
index b3c81d9c3..e88fb0227 100644
--- a/src/lib/video_content.h
+++ b/src/lib/video_content.h
@@ -36,6 +36,8 @@ public:
static int const VIDEO_CROP;
static int const VIDEO_SCALE;
static int const COLOUR_CONVERSION;
+ static int const VIDEO_FADE_IN;
+ static int const VIDEO_FADE_OUT;
};
class VideoContent : public virtual Content
@@ -88,6 +90,9 @@ public:
void set_scale (VideoContentScale);
void set_colour_conversion (ColourConversion);
+
+ void set_fade_in (ContentTime);
+ void set_fade_out (ContentTime);
VideoFrameType video_frame_type () const {
boost::mutex::scoped_lock lm (_mutex);
@@ -130,11 +135,23 @@ public:
return _colour_conversion;
}
+ ContentTime fade_in () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _fade_in;
+ }
+
+ ContentTime fade_out () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _fade_out;
+ }
+
dcp::Size video_size_after_3d_split () const;
dcp::Size video_size_after_crop () const;
ContentTime dcp_time_to_content_time (DCPTime) const;
+ boost::optional<float> fade (VideoFrame) const;
+
void scale_and_crop_to_fit_width ();
void scale_and_crop_to_fit_height ();
@@ -157,6 +174,8 @@ private:
Crop _crop;
VideoContentScale _scale;
ColourConversion _colour_conversion;
+ ContentTime _fade_in;
+ ContentTime _fade_out;
};
#endif