projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix font ID allocation from DCP when there are subs and ccaps using the same IDs...
[dcpomatic.git]
/
src
/
lib
/
ffmpeg_file_encoder.h
diff --git
a/src/lib/ffmpeg_file_encoder.h
b/src/lib/ffmpeg_file_encoder.h
index 08be9255af451dca68c016803eb2779df5cfff00..78840d6a82ef9091de6f5b2baca8c1754dd7feea 100644
(file)
--- a/
src/lib/ffmpeg_file_encoder.h
+++ b/
src/lib/ffmpeg_file_encoder.h
@@
-27,6
+27,7
@@
#include "dcpomatic_time.h"
#include "encoder.h"
#include "event_history.h"
#include "dcpomatic_time.h"
#include "encoder.h"
#include "event_history.h"
+#include "image_store.h"
#include "log.h"
#include <dcp/key.h>
#include <dcp/warnings.h>
#include "log.h"
#include <dcp/key.h>
#include <dcp/warnings.h>
@@
-41,6
+42,15
@@
LIBDCP_ENABLE_WARNINGS
class ExportAudioStream;
class ExportAudioStream;
+enum class ExportFormat
+{
+ PRORES_4444,
+ PRORES_HQ,
+ H264_AAC,
+ SUBTITLES_DCP
+};
+
+
class FFmpegFileEncoder
{
public:
class FFmpegFileEncoder
{
public:
@@
-71,9
+81,6
@@
private:
void audio_frame (int size);
void audio_frame (int size);
- static void buffer_free(void* opaque, uint8_t* data);
- void buffer_free2(uint8_t* data);
-
AVCodec const * _video_codec = nullptr;
AVCodecContext* _video_codec_context = nullptr;
std::vector<std::shared_ptr<ExportAudioStream>> _audio_streams;
AVCodec const * _video_codec = nullptr;
AVCodecContext* _video_codec_context = nullptr;
std::vector<std::shared_ptr<ExportAudioStream>> _audio_streams;
@@
-96,11
+103,7
@@
private:
std::shared_ptr<AudioBuffers> _pending_audio;
std::shared_ptr<AudioBuffers> _pending_audio;
- /** Store of shared_ptr<Image> to keep them alive whilst raw pointers into
- their data have been passed to FFmpeg.
- */
- std::map<uint8_t*, std::shared_ptr<const Image>> _pending_images;
- boost::mutex _pending_images_mutex;
+ ImageStore _pending_images;
static int _video_stream_index;
static int _audio_stream_index_base;
static int _video_stream_index;
static int _audio_stream_index_base;