diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-11-06 22:43:52 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-11-06 22:43:52 +0000 |
| commit | ed68bfad5c795afb342c5228f3c1dc7770a6d646 (patch) | |
| tree | ebf0a5b7f2c9b1636c498715f0f7aaaf8dcc98f7 /src/lib | |
| parent | e5b744922fb6aed65ec13f22a9de0c86dd1bd561 (diff) | |
Switch PlayerVideo::always_rgb to a new ::force and use it in FFmpegFileEncoder.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/ffmpeg_file_encoder.cc | 8 | ||||
| -rw-r--r-- | src/lib/player_video.cc | 6 | ||||
| -rw-r--r-- | src/lib/player_video.h | 2 |
3 files changed, 5 insertions, 11 deletions
diff --git a/src/lib/ffmpeg_file_encoder.cc b/src/lib/ffmpeg_file_encoder.cc index 52977ad5b..7cc4d26a4 100644 --- a/src/lib/ffmpeg_file_encoder.cc +++ b/src/lib/ffmpeg_file_encoder.cc @@ -43,12 +43,6 @@ using boost::weak_ptr; int FFmpegFileEncoder::_video_stream_index = 0; int FFmpegFileEncoder::_audio_stream_index = 1; -static AVPixelFormat -force_pixel_format (AVPixelFormat, AVPixelFormat out) -{ - return out; -} - FFmpegFileEncoder::FFmpegFileEncoder ( dcp::Size video_frame_size, int video_frame_rate, @@ -230,7 +224,7 @@ void FFmpegFileEncoder::video (shared_ptr<PlayerVideo> video, DCPTime time) { shared_ptr<Image> image = video->image ( - bind (&force_pixel_format, _1, _pixel_format), + bind (&PlayerVideo::force, _1, _pixel_format), true, false ); diff --git a/src/lib/player_video.cc b/src/lib/player_video.cc index 376ace128..c9ed6a6e4 100644 --- a/src/lib/player_video.cc +++ b/src/lib/player_video.cc @@ -105,7 +105,7 @@ PlayerVideo::set_text (PositionImage image) /** Create an image for this frame. * @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 - * output pixel format. Two functions always_rgb and keep_xyz_or_rgb are provided for use here. + * output pixel format. Two functions force and keep_xyz_or_rgb are provided for use here. * @param aligned true if the output image should be aligned to 32-byte boundaries. * @param fast true to be fast at the expense of quality. */ @@ -254,9 +254,9 @@ PlayerVideo::same (shared_ptr<const PlayerVideo> other) const } AVPixelFormat -PlayerVideo::always_rgb (AVPixelFormat) +PlayerVideo::force (AVPixelFormat, AVPixelFormat force_to) { - return AV_PIX_FMT_RGB24; + return force_to; } AVPixelFormat diff --git a/src/lib/player_video.h b/src/lib/player_video.h index 6599eeaa0..8e41e8f23 100644 --- a/src/lib/player_video.h +++ b/src/lib/player_video.h @@ -65,7 +65,7 @@ public: void prepare (); boost::shared_ptr<Image> image (boost::function<AVPixelFormat (AVPixelFormat)> pixel_format, bool aligned, bool fast) const; - static AVPixelFormat always_rgb (AVPixelFormat); + static AVPixelFormat force (AVPixelFormat, AVPixelFormat); static AVPixelFormat keep_xyz_or_rgb (AVPixelFormat); void add_metadata (xmlpp::Node* node) const; |
