From: Carl Hetherington Date: Thu, 16 Oct 2014 15:30:11 +0000 (+0100) Subject: Merge branch 'master' into 12bit X-Git-Tag: v2.0.48~551^2~17 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=0b6c6de07f9a3aa28c2e8ca8ef30340e3fa1bfc6;hp=016a98b18d01276a1e603885a25785e7389f14d9 Merge branch 'master' into 12bit --- 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 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 image, Position pos } shared_ptr -PlayerVideoFrame::image () const +PlayerVideoFrame::image (AVPixelFormat pixel_format) const { shared_ptr im = _in->image (); @@ -106,7 +106,7 @@ PlayerVideoFrame::image () const break; } - shared_ptr out = im->crop_scale_window (total_crop, _inter_size, _out_size, _scaler, PIX_FMT_RGB24, false); + shared_ptr out = im->crop_scale_window (total_crop, _inter_size, _out_size, _scaler, pixel_format, false); Position 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 +extern "C" { +#include +} #include "types.h" #include "position.h" #include "colour_conversion.h" @@ -40,7 +43,7 @@ public: void set_subtitle (boost::shared_ptr, Position); - boost::shared_ptr image () const; + boost::shared_ptr image (AVPixelFormat) const; void add_metadata (xmlpp::Node* node) const; void send_binary (boost::shared_ptr 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 pvf, Time t) return; } - _frame = pvf->image (); + _frame = pvf->image (PIX_FMT_RGB24); _got_frame = true; set_position_text (t);