summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_encoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-03-19 16:29:13 +0100
committerCarl Hetherington <cth@carlh.net>2024-04-21 23:18:19 +0200
commit1fc8c0c6d045404732497ba70bd2eccfbe4cc6f6 (patch)
tree4bd147c2a25b6314aeffb6ccc9b69f23c7ae8674 /src/lib/ffmpeg_encoder.h
parentd3b5b533ebba1a1534eb37cc41032876a48a3d82 (diff)
Rename Encoder -> FilmEncoder, and subclasses.
Diffstat (limited to 'src/lib/ffmpeg_encoder.h')
-rw-r--r--src/lib/ffmpeg_encoder.h98
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