diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-03-19 16:29:13 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-04-21 23:18:19 +0200 |
| commit | 1fc8c0c6d045404732497ba70bd2eccfbe4cc6f6 (patch) | |
| tree | 4bd147c2a25b6314aeffb6ccc9b69f23c7ae8674 /src/lib/ffmpeg_encoder.h | |
| parent | d3b5b533ebba1a1534eb37cc41032876a48a3d82 (diff) | |
Rename Encoder -> FilmEncoder, and subclasses.
Diffstat (limited to 'src/lib/ffmpeg_encoder.h')
| -rw-r--r-- | src/lib/ffmpeg_encoder.h | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/src/lib/ffmpeg_encoder.h b/src/lib/ffmpeg_encoder.h deleted file mode 100644 index 2d5c6af87..000000000 --- a/src/lib/ffmpeg_encoder.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (C) 2017-2018 Carl Hetherington <cth@carlh.net> - - This file is part of DCP-o-matic. - - DCP-o-matic is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DCP-o-matic is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. - -*/ - -#ifndef DCPOMATIC_FFMPEG_ENCODER_H -#define DCPOMATIC_FFMPEG_ENCODER_H - -#include "audio_mapping.h" -#include "butler.h" -#include "encoder.h" -#include "event_history.h" -#include "ffmpeg_file_encoder.h" - - -class FFmpegEncoder : public Encoder -{ -public: - FFmpegEncoder ( - std::shared_ptr<const Film> film, - std::weak_ptr<Job> job, - boost::filesystem::path output, - ExportFormat format, - bool mixdown_to_stereo, - bool split_reels, - bool audio_stream_per_channel, - int x264_crf - ); - - void go () override; - - boost::optional<float> current_rate () const override; - Frame frames_done () const override; - bool finishing () const override { - return false; - } - -private: - - class FileEncoderSet - { - public: - FileEncoderSet ( - dcp::Size video_frame_size, - int video_frame_rate, - int audio_frame_rate, - int channels, - ExportFormat, - bool audio_stream_per_channel, - int x264_crf, - bool three_d, - boost::filesystem::path output, - std::string extension - ); - - std::shared_ptr<FFmpegFileEncoder> get (Eyes eyes) const; - void flush (); - void audio (std::shared_ptr<AudioBuffers>); - - private: - std::map<Eyes, std::shared_ptr<FFmpegFileEncoder>> _encoders; - }; - - AudioMapping stereo_map() const; - AudioMapping many_channel_map() const; - - int _output_audio_channels; - - mutable boost::mutex _mutex; - dcpomatic::DCPTime _last_time; - - EventHistory _history; - - boost::filesystem::path _output; - ExportFormat _format; - bool _split_reels; - bool _audio_stream_per_channel; - int _x264_crf; - - Butler _butler; -}; - -#endif |
