using std::cout;
using std::dynamic_pointer_cast;
using std::make_shared;
-using std::pair;
using std::shared_ptr;
using std::string;
using std::weak_ptr;
return _image;
}
+
+shared_ptr<Image>
+PlayerVideo::raw_image () const
+{
+ return _in->image(_inter_size).image;
+}
+
+
/** Create an image for this frame. A lock must be held on _mutex.
* @param pixel_format Function which is called to decide what pixel format the output image should be;
* it is passed the pixel format of the input image from the ImageProxy, and should return the desired
return false;
}
- return _crop == Crop() && _out_size == j2k->size() && !_text && !_fade && !_colour_conversion;
+ return _crop == Crop() && _out_size == j2k->size() && _inter_size == j2k->size() && !_text && !_fade && !_colour_conversion;
}
shared_ptr<const dcp::Data>
}
void
-PlayerVideo::prepare (function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, bool aligned, bool fast)
+PlayerVideo::prepare (function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, bool aligned, bool fast, bool proxy_only)
{
_in->prepare (_inter_size);
boost::mutex::scoped_lock lm (_mutex);
- if (!_image) {
+ if (!_image && !proxy_only) {
make_image (pixel_format, video_range, aligned, fast);
}
}