diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-11-06 23:06:21 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-11-06 23:06:21 +0000 |
| commit | f41310384889e4cfb6e709d098b316e212d8bf22 (patch) | |
| tree | 01db47dfe9da145e5428b2ce3df6d23ffcda69c4 /src/lib/ffmpeg_file_encoder.cc | |
| parent | ed68bfad5c795afb342c5228f3c1dc7770a6d646 (diff) | |
Do image crop/scale/window in the butler prepare threads.
Diffstat (limited to 'src/lib/ffmpeg_file_encoder.cc')
| -rw-r--r-- | src/lib/ffmpeg_file_encoder.cc | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/lib/ffmpeg_file_encoder.cc b/src/lib/ffmpeg_file_encoder.cc index 7cc4d26a4..804022f0b 100644 --- a/src/lib/ffmpeg_file_encoder.cc +++ b/src/lib/ffmpeg_file_encoder.cc @@ -26,7 +26,6 @@ #include "log.h" #include "image.h" #include "cross.h" -#include "butler.h" #include "compose.hpp" #include <iostream> @@ -61,9 +60,10 @@ FFmpegFileEncoder::FFmpegFileEncoder ( , _audio_frame_rate (audio_frame_rate) , _log (log) { + _pixel_format = pixel_format (format); + switch (format) { case EXPORT_FORMAT_PRORES: - _pixel_format = AV_PIX_FMT_YUV422P10; _sample_format = AV_SAMPLE_FMT_S16; _video_codec_name = "prores_ks"; _audio_codec_name = "pcm_s16le"; @@ -71,7 +71,6 @@ FFmpegFileEncoder::FFmpegFileEncoder ( av_dict_set (&_video_options, "threads", "auto", 0); break; case EXPORT_FORMAT_H264: - _pixel_format = AV_PIX_FMT_YUV420P; _sample_format = AV_SAMPLE_FMT_FLTP; _video_codec_name = "libx264"; _audio_codec_name = "aac"; @@ -125,6 +124,21 @@ FFmpegFileEncoder::FFmpegFileEncoder ( _pending_audio.reset (new AudioBuffers(channels, 0)); } +AVPixelFormat +FFmpegFileEncoder::pixel_format (ExportFormat format) +{ + switch (format) { + case EXPORT_FORMAT_PRORES: + return AV_PIX_FMT_YUV422P10; + case EXPORT_FORMAT_H264: + return AV_PIX_FMT_YUV420P; + default: + DCPOMATIC_ASSERT (false); + } + + return AV_PIX_FMT_YUV422P10; +} + void FFmpegFileEncoder::setup_video () { |
