summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_file_encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-06-12 22:32:30 +0200
committerCarl Hetherington <cth@carlh.net>2022-06-12 22:32:34 +0200
commit1c57df596882f15403ee97d01862f8b76cfb797b (patch)
tree2ba7bf92d0de90cd4469e4b16802fd7394994f33 /src/lib/ffmpeg_file_encoder.cc
parent59209af1e2d73334ff7dfe6c7da465293dc24c0b (diff)
Add Prores 4444 support (#2263).
Diffstat (limited to 'src/lib/ffmpeg_file_encoder.cc')
-rw-r--r--src/lib/ffmpeg_file_encoder.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/ffmpeg_file_encoder.cc b/src/lib/ffmpeg_file_encoder.cc
index 17f6f55cb..307a30aca 100644
--- a/src/lib/ffmpeg_file_encoder.cc
+++ b/src/lib/ffmpeg_file_encoder.cc
@@ -228,6 +228,13 @@ FFmpegFileEncoder::FFmpegFileEncoder (
_pixel_format = pixel_format (format);
switch (format) {
+ case ExportFormat::PRORES_4444:
+ _sample_format = AV_SAMPLE_FMT_S16;
+ _video_codec_name = "prores_ks";
+ _audio_codec_name = "pcm_s16le";
+ av_dict_set(&_video_options, "profile", "4", 0);
+ av_dict_set(&_video_options, "threads", "auto", 0);
+ break;
case ExportFormat::PRORES_HQ:
_sample_format = AV_SAMPLE_FMT_S16;
_video_codec_name = "prores_ks";
@@ -281,6 +288,8 @@ AVPixelFormat
FFmpegFileEncoder::pixel_format (ExportFormat format)
{
switch (format) {
+ case ExportFormat::PRORES_4444:
+ return AV_PIX_FMT_YUV444P10;
case ExportFormat::PRORES_HQ:
return AV_PIX_FMT_YUV422P10;
case ExportFormat::H264_AAC: