+ boost::optional<double> sample_aspect_ratio () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _sample_aspect_ratio;
+ }
+
+ bool yuv () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _yuv;
+ }
+
+ Frame fade_in () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _fade_in;
+ }
+
+ Frame fade_out () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _fade_out;
+ }
+
+ VideoRange range () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _range;
+ }
+
+ PixelQuanta pixel_quanta () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _pixel_quanta;
+ }
+
+ bool use () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _use;
+ }
+
+ boost::optional<dcp::LanguageTag> burnt_subtitle_language () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _burnt_subtitle_language;
+ }
+
+
+ /* XXX: names for these? */
+ dcp::Size size_after_3d_split () const;
+ dcp::Size size_after_crop () const;
+ dcp::Size scaled_size (dcp::Size container_size);
+
+ boost::optional<double> fade (std::shared_ptr<const Film> film, Frame) const;