summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-07-16 00:53:54 +0100
committerCarl Hetherington <cth@carlh.net>2015-07-16 00:53:54 +0100
commit4a4725e41bf4070969223f9c40885063c50e61d0 (patch)
tree7c8896f8080b7bf66773d5b63ded45b83b675712 /src/lib
parent6300edd66433dffed9fb30a0b3b8db7ca3355809 (diff)
float -> double in a few places.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_examiner.h4
-rw-r--r--src/lib/ffmpeg_examiner.cc8
-rw-r--r--src/lib/ffmpeg_examiner.h4
-rw-r--r--src/lib/image_examiner.cc4
-rw-r--r--src/lib/image_examiner.h2
-rw-r--r--src/lib/player.cc6
-rw-r--r--src/lib/player_video.cc4
-rw-r--r--src/lib/player_video.h4
-rw-r--r--src/lib/video_content.cc22
-rw-r--r--src/lib/video_content.h12
-rw-r--r--src/lib/video_examiner.h6
11 files changed, 40 insertions, 36 deletions
diff --git a/src/lib/dcp_examiner.h b/src/lib/dcp_examiner.h
index ed457b5c2..532bad60c 100644
--- a/src/lib/dcp_examiner.h
+++ b/src/lib/dcp_examiner.h
@@ -31,7 +31,7 @@ class DCPExaminer : public VideoExaminer, public AudioExaminer
public:
DCPExaminer (boost::shared_ptr<const DCPContent>);
- boost::optional<float> video_frame_rate () const {
+ boost::optional<double> video_frame_rate () const {
return _video_frame_rate;
}
@@ -72,7 +72,7 @@ public:
}
private:
- boost::optional<float> _video_frame_rate;
+ boost::optional<double> _video_frame_rate;
boost::optional<dcp::Size> _video_size;
Frame _video_length;
boost::optional<int> _audio_channels;
diff --git a/src/lib/ffmpeg_examiner.cc b/src/lib/ffmpeg_examiner.cc
index f4b650eee..bcc5a86a6 100644
--- a/src/lib/ffmpeg_examiner.cc
+++ b/src/lib/ffmpeg_examiner.cc
@@ -191,7 +191,7 @@ FFmpegExaminer::frame_time (AVStream* s) const
return t;
}
-optional<float>
+optional<double>
FFmpegExaminer::video_frame_rate () const
{
/* This use of r_frame_rate is debateable; there's a few different
@@ -214,15 +214,15 @@ FFmpegExaminer::video_length () const
return max (Frame (1), _video_length);
}
-optional<float>
+optional<double>
FFmpegExaminer::sample_aspect_ratio () const
{
AVRational sar = av_guess_sample_aspect_ratio (_format_context, _format_context->streams[_video_stream], 0);
if (sar.num == 0) {
/* I assume this means that we don't know */
- return optional<float> ();
+ return optional<double> ();
}
- return float (sar.num) / sar.den;
+ return double (sar.num) / sar.den;
}
string
diff --git a/src/lib/ffmpeg_examiner.h b/src/lib/ffmpeg_examiner.h
index 795a9c6ff..96720b280 100644
--- a/src/lib/ffmpeg_examiner.h
+++ b/src/lib/ffmpeg_examiner.h
@@ -31,10 +31,10 @@ class FFmpegExaminer : public FFmpeg, public VideoExaminer
public:
FFmpegExaminer (boost::shared_ptr<const FFmpegContent>, boost::shared_ptr<Job> job = boost::shared_ptr<Job> ());
- boost::optional<float> video_frame_rate () const;
+ boost::optional<double> video_frame_rate () const;
dcp::Size video_size () const;
Frame video_length () const;
- boost::optional<float> sample_aspect_ratio () const;
+ boost::optional<double> sample_aspect_ratio () const;
std::vector<boost::shared_ptr<FFmpegSubtitleStream> > subtitle_streams () const {
return _subtitle_streams;
diff --git a/src/lib/image_examiner.cc b/src/lib/image_examiner.cc
index 79c9f727c..6ad32f511 100644
--- a/src/lib/image_examiner.cc
+++ b/src/lib/image_examiner.cc
@@ -80,9 +80,9 @@ ImageExaminer::video_size () const
return _video_size.get ();
}
-optional<float>
+optional<double>
ImageExaminer::video_frame_rate () const
{
/* Don't know */
- return optional<float> ();
+ return optional<double> ();
}
diff --git a/src/lib/image_examiner.h b/src/lib/image_examiner.h
index 937a565f3..f159e38f9 100644
--- a/src/lib/image_examiner.h
+++ b/src/lib/image_examiner.h
@@ -30,7 +30,7 @@ class ImageExaminer : public VideoExaminer
public:
ImageExaminer (boost::shared_ptr<const Film>, boost::shared_ptr<const ImageContent>, boost::shared_ptr<Job>);
- boost::optional<float> video_frame_rate () const;
+ boost::optional<double> video_frame_rate () const;
dcp::Size video_size () const;
Frame video_length () const {
return _video_length;
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 0a4eb54e7..b00df4e23 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -309,7 +309,7 @@ Player::black_player_video_frame (DCPTime time) const
shared_ptr<const ImageProxy> (new RawImageProxy (_black_image)),
time,
Crop (),
- optional<float> (),
+ optional<double> (),
_video_container_size,
_video_container_size,
EYES_BOTH,
@@ -524,6 +524,10 @@ Player::dcp_to_content_video (shared_ptr<const Piece> piece, DCPTime t) const
shared_ptr<const VideoContent> vc = dynamic_pointer_cast<const VideoContent> (piece->content);
DCPTime s = t - piece->content->position ();
s = min (piece->content->length_after_trim(), s);
+ std::cout << "s=" << s << " " << ContentTime(s, piece->frc) << "\n";
+ std::cout << (ContentTime (s, piece->frc) + piece->content->trim_start ()) << "\n";
+ std::cout << s.get() << "\n";
+ std::cout << (s.get() * 24.0 / 96000) << "\n";
return max (ContentTime (), ContentTime (s, piece->frc) + piece->content->trim_start ()).frames (vc->video_frame_rate ());
}
diff --git a/src/lib/player_video.cc b/src/lib/player_video.cc
index 2b1e85fc9..018f04737 100644
--- a/src/lib/player_video.cc
+++ b/src/lib/player_video.cc
@@ -34,7 +34,7 @@ PlayerVideo::PlayerVideo (
shared_ptr<const ImageProxy> in,
DCPTime time,
Crop crop,
- boost::optional<float> fade,
+ boost::optional<double> fade,
dcp::Size inter_size,
dcp::Size out_size,
Eyes eyes,
@@ -58,7 +58,7 @@ PlayerVideo::PlayerVideo (shared_ptr<cxml::Node> node, shared_ptr<Socket> socket
{
_time = DCPTime (node->number_child<DCPTime::Type> ("Time"));
_crop = Crop (node);
- _fade = node->optional_number_child<float> ("Fade");
+ _fade = node->optional_number_child<double> ("Fade");
_inter_size = dcp::Size (node->number_child<int> ("InterWidth"), node->number_child<int> ("InterHeight"));
_out_size = dcp::Size (node->number_child<int> ("OutWidth"), node->number_child<int> ("OutHeight"));
diff --git a/src/lib/player_video.h b/src/lib/player_video.h
index 0dcc2eeec..0a6cab906 100644
--- a/src/lib/player_video.h
+++ b/src/lib/player_video.h
@@ -42,7 +42,7 @@ public:
boost::shared_ptr<const ImageProxy>,
DCPTime,
Crop,
- boost::optional<float>,
+ boost::optional<double>,
dcp::Size,
dcp::Size,
Eyes,
@@ -88,7 +88,7 @@ private:
boost::shared_ptr<const ImageProxy> _in;
DCPTime _time;
Crop _crop;
- boost::optional<float> _fade;
+ boost::optional<double> _fade;
dcp::Size _inter_size;
dcp::Size _out_size;
Eyes _eyes;
diff --git a/src/lib/video_content.cc b/src/lib/video_content.cc
index e2fba5829..1c0bc5a60 100644
--- a/src/lib/video_content.cc
+++ b/src/lib/video_content.cc
@@ -103,10 +103,10 @@ VideoContent::VideoContent (shared_ptr<const Film> film, cxml::ConstNodePtr node
{
_video_size.width = node->number_child<int> ("VideoWidth");
_video_size.height = node->number_child<int> ("VideoHeight");
- _video_frame_rate = node->number_child<float> ("VideoFrameRate");
+ _video_frame_rate = node->number_child<double> ("VideoFrameRate");
_video_length = node->number_child<Frame> ("VideoLength");
_video_frame_type = static_cast<VideoFrameType> (node->number_child<int> ("VideoFrameType"));
- _sample_aspect_ratio = node->optional_number_child<float> ("SampleAspectRatio");
+ _sample_aspect_ratio = node->optional_number_child<double> ("SampleAspectRatio");
_crop.left = node->number_child<int> ("LeftCrop");
_crop.right = node->number_child<int> ("RightCrop");
_crop.top = node->number_child<int> ("TopCrop");
@@ -218,9 +218,9 @@ VideoContent::take_from_video_examiner (shared_ptr<VideoExaminer> d)
{
/* These examiner calls could call other content methods which take a lock on the mutex */
dcp::Size const vs = d->video_size ();
- optional<float> const vfr = d->video_frame_rate ();
+ optional<double> const vfr = d->video_frame_rate ();
Frame vl = d->video_length ();
- optional<float> const ar = d->sample_aspect_ratio ();
+ optional<double> const ar = d->sample_aspect_ratio ();
{
boost::mutex::scoped_lock lm (_mutex);
@@ -232,7 +232,7 @@ VideoContent::take_from_video_examiner (shared_ptr<VideoExaminer> d)
/* Guess correct scale from size and sample aspect ratio */
_scale = VideoContentScale (
- Ratio::nearest_from_ratio (float (_video_size.width) * ar.get_value_or (1) / _video_size.height)
+ Ratio::nearest_from_ratio (double (_video_size.width) * ar.get_value_or (1) / _video_size.height)
);
}
@@ -473,7 +473,7 @@ VideoContent::scale_and_crop_to_fit_height ()
}
void
-VideoContent::set_video_frame_rate (float r)
+VideoContent::set_video_frame_rate (double r)
{
{
boost::mutex::scoped_lock lm (_mutex);
@@ -487,21 +487,21 @@ VideoContent::set_video_frame_rate (float r)
signal_changed (VideoContentProperty::VIDEO_FRAME_RATE);
}
-optional<float>
+optional<double>
VideoContent::fade (Frame f) const
{
DCPOMATIC_ASSERT (f >= 0);
if (f < fade_in()) {
- return float (f) / fade_in();
+ return double (f) / fade_in();
}
Frame fade_out_start = video_length() - fade_out();
if (f >= fade_out_start) {
- return 1 - float (f - fade_out_start) / fade_out();
+ return 1 - double (f - fade_out_start) / fade_out();
}
- return optional<float> ();
+ return optional<double> ();
}
string
@@ -518,7 +518,7 @@ VideoContent::processing_description () const
);
- float ratio = video_size_after_3d_split().ratio ();
+ double ratio = video_size_after_3d_split().ratio ();
if (sample_aspect_ratio ()) {
d << ", " << _("pixel aspect ratio") << " " << fixed << setprecision(2) << sample_aspect_ratio().get () << ":1";
diff --git a/src/lib/video_content.h b/src/lib/video_content.h
index 71c20e737..fdd274985 100644
--- a/src/lib/video_content.h
+++ b/src/lib/video_content.h
@@ -74,13 +74,13 @@ public:
return _video_size;
}
- float video_frame_rate () const {
+ double video_frame_rate () const {
boost::mutex::scoped_lock lm (_mutex);
return _video_frame_rate;
}
void set_video_frame_type (VideoFrameType);
- void set_video_frame_rate (float);
+ void set_video_frame_rate (double);
void set_left_crop (int);
void set_right_crop (int);
@@ -135,7 +135,7 @@ public:
return _colour_conversion;
}
- boost::optional<float> sample_aspect_ratio () const {
+ boost::optional<double> sample_aspect_ratio () const {
boost::mutex::scoped_lock lm (_mutex);
return _sample_aspect_ratio;
}
@@ -155,7 +155,7 @@ public:
ContentTime dcp_time_to_content_time (DCPTime) const;
- boost::optional<float> fade (Frame) const;
+ boost::optional<double> fade (Frame) const;
void scale_and_crop_to_fit_width ();
void scale_and_crop_to_fit_height ();
@@ -167,7 +167,7 @@ protected:
void add_properties (std::list<std::pair<std::string, std::string> > &) const;
Frame _video_length;
- float _video_frame_rate;
+ double _video_frame_rate;
boost::optional<ColourConversion> _colour_conversion;
private:
@@ -185,7 +185,7 @@ private:
/** Sample aspect ratio obtained from the content file's header,
if there is one.
*/
- boost::optional<float> _sample_aspect_ratio;
+ boost::optional<double> _sample_aspect_ratio;
Frame _fade_in;
Frame _fade_out;
};
diff --git a/src/lib/video_examiner.h b/src/lib/video_examiner.h
index f8d247d15..66d3ae5b5 100644
--- a/src/lib/video_examiner.h
+++ b/src/lib/video_examiner.h
@@ -32,10 +32,10 @@ class VideoExaminer
{
public:
virtual ~VideoExaminer () {}
- virtual boost::optional<float> video_frame_rate () const = 0;
+ virtual boost::optional<double> video_frame_rate () const = 0;
virtual dcp::Size video_size () const = 0;
virtual Frame video_length () const = 0;
- virtual boost::optional<float> sample_aspect_ratio () const {
- return boost::optional<float> ();
+ virtual boost::optional<double> sample_aspect_ratio () const {
+ return boost::optional<double> ();
}
};