summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-11-06 22:43:52 +0000
committerCarl Hetherington <cth@carlh.net>2018-11-06 22:43:52 +0000
commited68bfad5c795afb342c5228f3c1dc7770a6d646 (patch)
treeebf0a5b7f2c9b1636c498715f0f7aaaf8dcc98f7 /src/lib
parente5b744922fb6aed65ec13f22a9de0c86dd1bd561 (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.cc8
-rw-r--r--src/lib/player_video.cc6
-rw-r--r--src/lib/player_video.h2
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;