diff options
| -rw-r--r-- | cscript | 2 | ||||
| -rw-r--r-- | src/lib/dcp_video_frame.cc | 2 | ||||
| -rw-r--r-- | src/lib/image.cc | 2 | ||||
| -rw-r--r-- | src/lib/player_video_frame.cc | 4 | ||||
| -rw-r--r-- | src/lib/player_video_frame.h | 5 | ||||
| -rw-r--r-- | src/wx/film_viewer.cc | 2 |
6 files changed, 11 insertions, 6 deletions
@@ -157,7 +157,7 @@ def make_control(debian_version, bits, filename, debug): def dependencies(target): return (('ffmpeg-cdist', '2dffa11'), - ('libdcp', 'v0.98.0')) + ('libdcp', 'd5accd6')) def build(target, options): cmd = './waf configure --prefix=%s' % target.directory diff --git a/src/lib/dcp_video_frame.cc b/src/lib/dcp_video_frame.cc index bb7eaa064..057ed0fae 100644 --- a/src/lib/dcp_video_frame.cc +++ b/src/lib/dcp_video_frame.cc @@ -125,7 +125,7 @@ DCPVideoFrame::encode_locally () } shared_ptr<libdcp::XYZFrame> xyz = libdcp::rgb_to_xyz ( - _frame->image(), + _frame->image(AV_PIX_FMT_RGB48BE), in_lut, libdcp::GammaLUT::cache.get (16, 1 / _frame->colour_conversion().output_gamma), matrix diff --git a/src/lib/image.cc b/src/lib/image.cc index 066f12c07..3b8c1a28e 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -319,6 +319,8 @@ Image::make_black () case PIX_FMT_ABGR: case PIX_FMT_BGRA: case PIX_FMT_RGB555LE: + case PIX_FMT_RGB48LE: + case PIX_FMT_RGB48BE: memset (data()[0], 0, lines(0) * stride()[0]); break; diff --git a/src/lib/player_video_frame.cc b/src/lib/player_video_frame.cc index 94760e495..63ddc637b 100644 --- a/src/lib/player_video_frame.cc +++ b/src/lib/player_video_frame.cc @@ -84,7 +84,7 @@ PlayerVideoFrame::set_subtitle (shared_ptr<const Image> image, Position<int> pos } shared_ptr<Image> -PlayerVideoFrame::image () const +PlayerVideoFrame::image (AVPixelFormat pixel_format) const { shared_ptr<Image> im = _in->image (); @@ -106,7 +106,7 @@ PlayerVideoFrame::image () const break; } - shared_ptr<Image> out = im->crop_scale_window (total_crop, _inter_size, _out_size, _scaler, PIX_FMT_RGB24, false); + shared_ptr<Image> out = im->crop_scale_window (total_crop, _inter_size, _out_size, _scaler, pixel_format, false); Position<int> const container_offset ((_out_size.width - _inter_size.width) / 2, (_out_size.height - _inter_size.width) / 2); diff --git a/src/lib/player_video_frame.h b/src/lib/player_video_frame.h index b085cb609..6a6868292 100644 --- a/src/lib/player_video_frame.h +++ b/src/lib/player_video_frame.h @@ -18,6 +18,9 @@ */ #include <boost/shared_ptr.hpp> +extern "C" { +#include <libavutil/pixfmt.h> +} #include "types.h" #include "position.h" #include "colour_conversion.h" @@ -40,7 +43,7 @@ public: void set_subtitle (boost::shared_ptr<const Image>, Position<int>); - boost::shared_ptr<Image> image () const; + boost::shared_ptr<Image> image (AVPixelFormat) const; void add_metadata (xmlpp::Node* node) const; void send_binary (boost::shared_ptr<Socket> socket) const; diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index 595fd4720..54cd3e77d 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -295,7 +295,7 @@ FilmViewer::process_video (shared_ptr<PlayerVideoFrame> pvf, Time t) return; } - _frame = pvf->image (); + _frame = pvf->image (PIX_FMT_RGB24); _got_frame = true; set_position_text (t); |
